@things-factory/auth-base 10.1.37 → 10.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist-client/auth.d.ts +8 -0
  2. package/dist-client/auth.js +26 -0
  3. package/dist-client/auth.js.map +1 -1
  4. package/dist-client/domain-required.d.ts +54 -0
  5. package/dist-client/domain-required.js +91 -0
  6. package/dist-client/domain-required.js.map +1 -0
  7. package/dist-client/tsconfig.tsbuildinfo +1 -1
  8. package/dist-server/controllers/invitation.d.ts +26 -0
  9. package/dist-server/controllers/invitation.js +12 -1
  10. package/dist-server/controllers/invitation.js.map +1 -1
  11. package/dist-server/service/app-binding/app-binding-query.d.ts +17 -0
  12. package/dist-server/service/app-binding/app-binding-query.js +32 -2
  13. package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
  14. package/dist-server/service/index.d.ts +7 -2
  15. package/dist-server/service/index.js +3 -0
  16. package/dist-server/service/index.js.map +1 -1
  17. package/dist-server/service/open-fields.d.ts +9 -0
  18. package/dist-server/service/open-fields.js +24 -0
  19. package/dist-server/service/open-fields.js.map +1 -0
  20. package/dist-server/service/privilege/open-field-rule.d.ts +93 -0
  21. package/dist-server/service/privilege/open-field-rule.js +81 -0
  22. package/dist-server/service/privilege/open-field-rule.js.map +1 -0
  23. package/dist-server/service/privilege/privilege-directive.d.ts +9 -1
  24. package/dist-server/service/privilege/privilege-directive.js +177 -95
  25. package/dist-server/service/privilege/privilege-directive.js.map +1 -1
  26. package/dist-server/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +4 -4
  28. package/tests/app-binding-db.test.ts +48 -0
  29. package/tests/domain-required.test.ts +127 -0
  30. package/tests/invitation-route.test.ts +97 -0
  31. package/tests/open-doors.test.ts +13 -21
  32. package/tests/open-fields-enforcement.test.ts +215 -0
  33. package/translations/en.json +0 -1
  34. package/translations/ja.json +0 -1
  35. package/translations/ko.json +0 -1
  36. package/translations/ms.json +0 -1
  37. package/translations/zh.json +0 -1
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../client/apply-domain-theme.ts","../client/auth.ts","../../../node_modules/@operato/shell/dist/src/types/domain.d.ts","../../../node_modules/@operato/shell/dist/src/types/user.d.ts","../../../node_modules/@operato/shell/dist/src/types/role.d.ts","../../../node_modules/@operato/shell/dist/src/types/privilege.d.ts","../../../node_modules/@operato/shell/dist/src/types/types.d.ts","../../../node_modules/@operato/shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@operato/shell/dist/src/lazy-reducer-enhancer.d.ts","../../../node_modules/@operato/shell/dist/src/store.d.ts","../../../node_modules/@operato/shell/dist/src/actions/app.d.ts","../../../node_modules/@operato/shell/dist/src/actions/route.d.ts","../../../node_modules/@operato/shell/dist/src/actions/busy.d.ts","../../../node_modules/@operato/shell/dist/src/actions/const.d.ts","../../../node_modules/@operato/shell/dist/src/actions/index.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@operato/shell/dist/src/app/pages/page-view.d.ts","../../../node_modules/@operato/shell/dist/src/object-store.d.ts","../../../node_modules/@operato/shell/dist/src/custom-alert.d.ts","../../../node_modules/@operato/shell/dist/src/connect-mixin.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/app-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/context-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/font-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/layout-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/menu-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/route-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/snackbar-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/index.d.ts","../../../node_modules/@operato/shell/dist/src/require-custom-element.d.ts","../../../node_modules/@operato/shell/dist/src/index.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux/dist/redux.d.ts","../../../node_modules/immer/dist/immer.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/reselect/dist/reselect.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux-thunk/dist/redux-thunk.d.ts","../../../node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","../../../node_modules/@reduxjs/toolkit/dist/index.d.ts","../client/actions/auth.ts","../client/reducers/auth.ts","../../../node_modules/lit-html/async-directive.d.ts","../../../node_modules/lit/async-directive.d.ts","../client/profiled.ts","../client/directive/privileged.ts","../client/bootstrap.ts","../../../node_modules/@simplewebauthn/browser/script/types/dom.d.ts","../../../node_modules/@simplewebauthn/browser/script/types/index.d.ts","../../../node_modules/@simplewebauthn/browser/script/methods/startregistration.d.ts","../../../node_modules/@simplewebauthn/browser/script/methods/startauthentication.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/browsersupportswebauthn.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/platformauthenticatorisavailable.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/browsersupportswebauthnautofill.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/base64urlstringtobuffer.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/buffertobase64urlstring.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/webauthnabortservice.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/webauthnerror.d.ts","../../../node_modules/@simplewebauthn/browser/script/index.d.ts","../client/verify-webauthn.ts","../client/index.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[130,195,203,208,211,213,214,215,228],[130,195,203,208,211,213,214,215,228,259],[79,80,130,195,203,208,211,213,214,215,228],[74,75,76,77,130,195,203,208,211,213,214,215,228],[87,130,195,203,208,211,213,214,215,228],[71,130,195,203,208,211,213,214,215,228],[92,93,94,95,96,97,98,130,195,203,208,211,213,214,215,228],[70,73,78,88,89,90,91,99,100,130,195,203,208,211,213,214,215,228],[71,72,130,195,203,208,211,213,214,215,228],[65,66,67,68,69,130,195,203,208,211,213,214,215,228],[66,67,130,195,203,208,211,213,214,215,228],[65,66,68,130,195,203,208,211,213,214,215,228],[102,103,104,105,106,130,195,203,208,211,213,214,215,228],[62,130,195,203,208,211,213,214,215,228],[102,130,195,203,208,211,213,214,215,228],[116,117,118,119,120,121,122,123,124,125,130,195,203,208,211,213,214,215,228],[116,130,195,203,208,211,213,214,215,228],[115,130,195,203,208,211,213,214,215,228],[130,195,203,208,211,213,214,215,228,261,264],[130,192,193,195,203,208,211,213,214,215,228],[130,194,195,203,208,211,213,214,215,228],[195,203,208,211,213,214,215,228],[130,195,203,208,211,213,214,215,228,237],[130,195,196,201,203,206,208,211,213,214,215,217,228,233,246],[130,195,196,197,203,206,208,211,213,214,215,228],[130,195,198,203,208,211,213,214,215,228,247],[130,195,199,200,203,208,211,213,214,215,219,228],[130,195,200,203,208,211,213,214,215,228,233,243],[130,195,201,203,206,208,211,213,214,215,217,228],[130,194,195,202,203,208,211,213,214,215,228],[130,195,203,204,208,211,213,214,215,228],[130,195,203,205,206,208,211,213,214,215,228],[130,194,195,203,206,208,211,213,214,215,228],[130,195,203,206,208,209,211,213,214,215,228,233,246],[130,195,203,206,208,209,211,213,214,215,228,235,237],[130,182,195,203,206,208,210,211,213,214,215,217,228,233,246],[130,195,203,206,208,210,211,213,214,215,217,228,233,243,246],[130,195,203,208,210,211,212,213,214,215,228,233,243,246],[129,130,131,132,133,134,135,136,137,138,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],[130,195,203,206,208,211,213,214,215,228],[130,195,203,208,211,213,215,228],[130,195,203,208,211,213,214,215,216,228,246],[130,195,203,206,208,211,213,214,215,217,228,233],[130,195,203,208,211,213,214,215,219,228],[130,195,203,208,211,213,214,215,220,228],[130,195,203,206,208,211,213,214,215,223,228],[130,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254],[130,195,203,208,211,213,214,215,225,228],[130,195,203,208,211,213,214,215,226,228],[130,195,200,203,208,209,211,213,214,215,217,228,235,243],[130,195,203,206,208,211,213,214,215,228,229],[130,195,203,208,211,213,214,215,228,230,247,251],[130,195,203,206,208,211,213,214,215,228,233,235,236,237],[130,195,203,208,211,213,214,215,228,234,237],[130,195,203,206,208,211,213,214,215,228,233,235],[130,195,203,206,208,211,213,214,215,228,233,236,237],[130,195,203,208,211,213,214,215,228,237,247],[130,195,203,208,211,213,214,215,228,238],[130,192,195,203,208,211,213,214,215,228,233,240,246],[130,195,203,208,211,213,214,215,228,233,239],[130,195,203,206,208,211,213,214,215,228,241,242],[130,195,203,208,211,213,214,215,228,241,242],[130,195,200,203,208,211,213,214,215,217,228,233,243],[130,195,203,208,211,213,214,215,228,244],[130,195,203,208,211,213,214,215,217,228,245],[130,195,203,208,210,211,213,214,215,226,228,246],[130,195,203,208,211,213,214,215,228,247,248],[130,195,200,203,208,211,213,214,215,228,248],[130,195,203,208,211,213,214,215,228,233,249],[130,195,203,208,209,211,213,214,215,228],[130,195,203,208,211,213,214,215,216,228,251],[130,195,203,208,211,213,214,215,228,252],[130,195,198,203,208,211,213,214,215,228],[130,195,200,203,208,211,213,214,215,228],[130,195,203,208,211,213,214,215,228,247],[130,182,195,203,208,211,213,214,215,228],[130,195,203,208,211,213,214,215,228,246],[130,195,203,208,211,213,214,215,228,253],[130,195,203,208,211,213,214,215,223,228],[130,195,203,208,211,213,214,215,228,242],[130,182,195,203,206,208,209,211,213,214,215,217,223,228,233,237,246,249,251,253],[130,195,203,208,211,213,214,215,228,233,254],[130,195,203,208,211,213,214,215,228,235,255],[130,195,203,208,211,213,214,215,228,257,263],[130,195,203,208,211,213,214,215,228,261],[130,195,203,208,211,213,214,215,228,258,262],[81,84,130,195,203,208,211,213,214,215,228],[82,84,130,195,203,208,211,213,214,215,228],[84,130,195,203,208,211,213,214,215,228],[82,83,130,195,203,208,211,213,214,215,228],[110,130,195,203,208,211,213,214,215,228],[81,84,85,86,130,195,203,208,211,213,214,215,228],[130,195,203,208,211,213,214,215,228,260],[130,145,148,151,152,195,203,208,211,213,214,215,228,246],[130,148,195,203,208,211,213,214,215,228,233,246],[130,148,152,195,203,208,211,213,214,215,228,246],[130,195,203,208,211,213,214,215,228,233],[130,142,195,203,208,211,213,214,215,228],[130,146,195,203,208,211,213,214,215,228],[130,144,145,148,195,203,208,211,213,214,215,228,246],[130,195,203,208,211,213,214,215,217,228,243],[130,195,203,208,211,213,214,215,228,256],[130,142,195,203,208,211,213,214,215,228,256],[130,144,148,195,203,208,211,213,214,215,217,228,246],[130,139,140,141,143,147,195,203,206,208,211,213,214,215,228,233,246],[130,148,195,203,208,211,213,214,215,228],[130,148,157,166,195,203,208,211,213,214,215,228],[130,140,146,195,203,208,211,213,214,215,228],[130,148,176,177,195,203,208,211,213,214,215,228],[130,140,143,148,195,203,208,211,213,214,215,228,237,246,256],[130,144,148,195,203,208,211,213,214,215,228,246],[130,139,195,203,208,211,213,214,215,228],[130,142,143,144,146,147,148,149,150,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179,180,181,195,203,208,211,213,214,215,228],[130,148,169,172,195,203,208,211,213,214,215,228],[130,148,157,159,160,195,203,208,211,213,214,215,228],[130,146,148,159,161,195,203,208,211,213,214,215,228],[130,147,195,203,208,211,213,214,215,228],[130,140,142,148,195,203,208,211,213,214,215,228],[130,148,152,159,161,195,203,208,211,213,214,215,228],[130,152,195,203,208,211,213,214,215,228],[130,146,148,151,195,203,208,211,213,214,215,228,246],[130,140,144,148,157,195,203,208,211,213,214,215,228],[130,148,169,195,203,208,211,213,214,215,228],[130,161,195,203,208,211,213,214,215,228],[130,140,144,148,152,195,203,208,211,213,214,215,228],[130,142,148,176,195,203,208,211,213,214,215,228,237,253,256],[62,107,130,195,203,208,211,213,214,215,228],[62,63,64,101,108,109,113,130,195,203,208,211,213,214,215,228],[62,87,111,112,130,195,203,208,211,213,214,215,228],[62,63,64,112,113,127,130,195,203,208,211,213,214,215,228],[62,64,130,195,203,208,211,213,214,215,228],[62,108,130,195,203,208,211,213,214,215,228],[62,126,130,195,203,208,211,213,214,215,228]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"a7a3212a86d7b7056d4f2bc603ab4e4617e60c4c1de43f7f748a7fe49e34b716","signature":"5f134c4c2c11151cc2fb386434a43e64216c5cda94652d54480b8c345f0a8765"},{"version":"116b5d05f8e96a037535630db93d5f287b2c1e391236ee789b390d92c55480d6","signature":"1d9de26d14590958541b7bcf5d1b219be0f98054bafbc5d2e79e4c7c5f4420e7"},{"version":"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","impliedFormat":99},{"version":"2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","impliedFormat":99},{"version":"df32d43311e85715e2a573239a4bbc5b78ebaf29af2af5fa8c85370197997515","impliedFormat":99},{"version":"3a792bbf677343364a1d9b7197c6e4e512764f17364efd656b1a3598f2a9e820","impliedFormat":99},{"version":"3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","impliedFormat":99},{"version":"e576aa80090f8b6020355ca8d7f4184067c84389f4b92125be29e03b1f6c5194","impliedFormat":99},{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"487213b1bcbdaa470cf59a4cea3f8a939b9222e74b455fe0fd2f0dc2346cc3c0","impliedFormat":99},{"version":"8a9e962b8c98aa48377773c40ac7a3e530fb3354cec48fdb59d8e2df3a624a0c","affectsGlobalScope":true,"impliedFormat":99},{"version":"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","impliedFormat":99},{"version":"8e33e65ce7fcd3cb20e29505452daa51543003d5db597f1aca2a51ff9043c8a7","impliedFormat":99},{"version":"b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","impliedFormat":99},{"version":"7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","impliedFormat":99},{"version":"ad3ee9f7d14ad8b7ae8094d0f1a2276656f7a970827d4030d1dead7c2d765f75","impliedFormat":99},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","impliedFormat":99},{"version":"fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","impliedFormat":99},{"version":"3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","impliedFormat":99},{"version":"8b86f33b7e06e2f0a3bf4703cf9d8b0baab016e36b83f2a33dac184f061e17ea","impliedFormat":99},{"version":"88c205bacab539d8e844b80a1ec76fc649fbc731f12dfd7cca160976b5ddfd5a","impliedFormat":99},{"version":"565d32dce0b8761e7cfafe40c56a8a0fab0bb9e7bb35a31d9712643b3c8dbbc4","impliedFormat":99},{"version":"4bde12afd6fdd6e52d7316e00adfbccd70becc3ebd9c4f647d07caef53a474ae","impliedFormat":99},{"version":"a7e588bdba05f1fb78f83e50ee62c93565134d3b996babf2697c2b43fcf17ce0","impliedFormat":99},{"version":"218a0f93d7091c68718ec4260f41f3a61b5ecb7e786a8c04e296292ff41db8f0","impliedFormat":99},{"version":"cf45487aeb18b31f1001b99d06793986ac3e6840b0602f9cf3756a2724348bf4","impliedFormat":99},{"version":"81f0a95843ae6e5a006addc4b5c217b075057ff82c9bc319655de21a13ba9f10","impliedFormat":99},{"version":"1a68f44e90ac5c261a3157004a7ec18759982b91fd725537d6db919d83601dd1","impliedFormat":99},{"version":"daccba798a74fc239523622caf24656e28b78dac33ea8a031682280fd51b0d0f","impliedFormat":99},{"version":"0c417e2683399126bc68aced0c37b3d9b8b72c37d390569595f73447c067d97b","impliedFormat":99},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"57658b130a56abe2ba4f7eb1490038f0b31aa2f3cc2e42d24032626fcf6b1be3","impliedFormat":1},{"version":"d602ffb629af03e2a9c0858f9a0dcd790bfe92fe9a967b968bc35cfb3c58e68a","impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"86ac756569f83cf0571646c916b546634652e92a775e964304912ecafa81dc42","impliedFormat":1},{"version":"35d2253283b5bcabd4868955daffeaed9b4e282c7cb0b4148dfdcd9dae0fd536","signature":"59407654647c0831f7ff4a9b4634cb71bb84489332362161ed31eedf22cd19e3"},{"version":"f30b1a6eb8c7813c82a7ec4f775ec257b6381d3f90521d0909224e4ea1320c11","signature":"6a716b8d3a52002354a3e530ee6c90d52209af1f53eaefb9c4527228bf0a6f67"},{"version":"c42f9b18f5f559b133cf9b409f678afb30df9c6498865aae9a1abad0f1e727a8","impliedFormat":99},{"version":"eabff483c855b848eefb979dbfb64c8858444c56a2f3ea0e59de026ef03fd089","impliedFormat":99},{"version":"5b206e920675fab40846ba051f960c659641b87cd7c96ab305430a4d194d60ea","signature":"d75a3e4665db49528093a3d868b69a53ac6bfc368b232d4db3130fd0a5e543c2"},{"version":"899e65531fad0a9d3919d74807fedbd4d4a81d27c1b8f20a571c41415f809a84","signature":"08c15205c0ba0a9bc25bde594fea32eb055e6ae3e4976605d211caae7cfce25c"},{"version":"85e8e2c95b3392357e552bd0a0743ea6f6bf6f4c3171c50784eb478e44d4625b","signature":"596db3582d22224cd33f191d8a1a39020114727f4d8957922e31335d8ae79312"},{"version":"bf0417239296a11383a61200870c123f6c9e5b5caf85cf2157b4a6e5c7a95fcb","impliedFormat":1},{"version":"f2aea0e6fbad26c1cbd6c51fad9d45efff5497f8b7cb571492eb08d84ed87927","impliedFormat":1},{"version":"921f399a6557f008bd36b4bc8dd6e8ac18575029d3271f5515ad82ee5b7f172e","impliedFormat":1},{"version":"21d0c1a87611b1e7fe1a7763e5e5c494dfa0b3cf1307ce829145c397e971969b","impliedFormat":1},{"version":"8c468d84a4116a378a6c6050a86f5441efa036faa235834ef204fdbfe8c17943","impliedFormat":1},{"version":"0a1c65731eb1680e494e0b485ff3a4106e29323b9f5931da23d9a612cbe84e45","impliedFormat":1},{"version":"a331abe7151957a7266888db8a11eb72da8bed8ceee46cc187dd280ebd89c619","impliedFormat":1},{"version":"1f1d06065bf428cbc1cc9e9a0ea0d32a4cf10bcfd3e87dfcd1a5422262d41d55","impliedFormat":1},{"version":"6ea653d5c31c1bb800010ef040494a1fc5e4ce0cda8b9786124f0e7018993cb3","impliedFormat":1},{"version":"80d2736093ff441d579360306b062e2441fc8100b3fb3a90691bc0f533fa6382","impliedFormat":1},{"version":"cde0d6a59761c6dd05836af4f8684e420e6df695fa22f94cc09cc9ddcec7cef7","impliedFormat":1},{"version":"686660ddef40e8aacc8ee90a1fb5e1969c640177657a5e068a7e2dd2fb9a6e76","impliedFormat":1},{"version":"997c14dffeb1bbffe14e7f79307295aa83d7ef1ee38762c13514d53ae43d2ede","signature":"e899b1dbfb78597e87307ffaccf5617114bfc97fd39a0b773cbefebfd5c3a870"},{"version":"36b559565d00cf6f00ca4c72b63f98b17a97b3202b4b1e15aa0072e9b2b36749","signature":"b4e5bad8d876a91492d122e50592b733b03c989e6272bf51f4d54271437afedb"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"7db737262597ae2e35daa8cc1748f482cf4b0914e00a3d5a32cf6c4fc869a375","impliedFormat":1},{"version":"9c90f502816bd0179556bb875e86c944af3f6b995cde63199edbe4e0b1219aba","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"e1028394c1cf96d5d057ecc647e31e457b919092f882ed0c7092152b077fed9d","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[63,64,108,109,[112,114],127,128],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useDefineForClassFields":false},"referencedMap":[[257,1],[260,2],[79,1],[80,1],[81,3],[74,1],[76,1],[77,1],[78,4],[75,1],[88,5],[91,6],[92,5],[93,5],[94,5],[99,7],[95,5],[96,5],[97,5],[98,5],[90,1],[101,8],[72,6],[89,1],[100,1],[73,9],[65,1],[70,10],[68,11],[67,12],[69,1],[66,1],[107,13],[106,14],[105,15],[102,1],[104,1],[122,1],[119,1],[121,1],[123,1],[120,1],[124,1],[125,1],[126,16],[118,17],[117,17],[115,1],[116,18],[259,1],[265,19],[192,20],[193,20],[194,21],[130,22],[195,23],[196,24],[197,25],[198,26],[199,27],[200,28],[201,29],[202,30],[203,31],[204,31],[205,32],[206,33],[207,1],[208,34],[209,35],[131,1],[129,1],[210,36],[211,37],[212,38],[256,39],[213,40],[214,41],[215,40],[216,42],[217,43],[219,44],[220,45],[221,45],[222,45],[223,46],[224,47],[225,48],[226,49],[227,50],[228,51],[229,51],[230,52],[231,1],[232,1],[233,53],[234,54],[235,55],[236,56],[237,57],[238,58],[239,59],[240,60],[241,61],[242,62],[243,63],[244,64],[245,65],[246,66],[247,67],[248,68],[249,69],[250,70],[251,71],[252,72],[132,40],[133,1],[134,73],[135,74],[136,1],[137,75],[138,1],[183,76],[184,77],[185,78],[186,78],[187,79],[188,1],[189,23],[190,80],[191,77],[253,81],[254,82],[255,83],[83,1],[218,1],[258,1],[264,84],[103,1],[262,85],[263,86],[85,87],[110,88],[82,89],[86,1],[84,90],[111,91],[87,92],[261,93],[71,1],[62,1],[60,1],[61,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[58,1],[59,1],[157,94],[171,95],[154,96],[172,97],[181,98],[145,99],[146,100],[144,101],[180,102],[175,103],[179,104],[148,105],[158,106],[168,107],[147,108],[178,109],[142,110],[143,103],[149,106],[150,1],[156,111],[153,106],[140,112],[182,113],[173,114],[161,115],[160,106],[162,116],[165,117],[159,118],[163,119],[176,102],[151,120],[152,121],[166,122],[141,97],[170,123],[169,106],[155,121],[164,124],[167,125],[174,1],[139,1],[177,126],[108,127],[63,14],[64,14],[114,128],[113,129],[128,130],[112,131],[109,132],[127,133]],"version":"5.9.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../client/apply-domain-theme.ts","../client/domain-required.ts","../client/auth.ts","../../../node_modules/@operato/shell/dist/src/types/domain.d.ts","../../../node_modules/@operato/shell/dist/src/types/user.d.ts","../../../node_modules/@operato/shell/dist/src/types/role.d.ts","../../../node_modules/@operato/shell/dist/src/types/privilege.d.ts","../../../node_modules/@operato/shell/dist/src/types/types.d.ts","../../../node_modules/@operato/shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@operato/shell/dist/src/lazy-reducer-enhancer.d.ts","../../../node_modules/@operato/shell/dist/src/store.d.ts","../../../node_modules/@operato/shell/dist/src/actions/app.d.ts","../../../node_modules/@operato/shell/dist/src/actions/route.d.ts","../../../node_modules/@operato/shell/dist/src/actions/busy.d.ts","../../../node_modules/@operato/shell/dist/src/actions/const.d.ts","../../../node_modules/@operato/shell/dist/src/actions/index.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@operato/shell/dist/src/app/pages/page-view.d.ts","../../../node_modules/@operato/shell/dist/src/object-store.d.ts","../../../node_modules/@operato/shell/dist/src/custom-alert.d.ts","../../../node_modules/@operato/shell/dist/src/connect-mixin.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/app-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/context-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/font-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/layout-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/menu-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/route-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/snackbar-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/index.d.ts","../../../node_modules/@operato/shell/dist/src/require-custom-element.d.ts","../../../node_modules/@operato/shell/dist/src/index.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux/dist/redux.d.ts","../../../node_modules/immer/dist/immer.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/reselect/dist/reselect.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux-thunk/dist/redux-thunk.d.ts","../../../node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","../../../node_modules/@reduxjs/toolkit/dist/index.d.ts","../client/actions/auth.ts","../client/reducers/auth.ts","../../../node_modules/lit-html/async-directive.d.ts","../../../node_modules/lit/async-directive.d.ts","../client/profiled.ts","../client/directive/privileged.ts","../client/bootstrap.ts","../../../node_modules/@simplewebauthn/browser/script/types/dom.d.ts","../../../node_modules/@simplewebauthn/browser/script/types/index.d.ts","../../../node_modules/@simplewebauthn/browser/script/methods/startregistration.d.ts","../../../node_modules/@simplewebauthn/browser/script/methods/startauthentication.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/browsersupportswebauthn.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/platformauthenticatorisavailable.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/browsersupportswebauthnautofill.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/base64urlstringtobuffer.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/buffertobase64urlstring.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/webauthnabortservice.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/webauthnerror.d.ts","../../../node_modules/@simplewebauthn/browser/script/index.d.ts","../client/verify-webauthn.ts","../client/index.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[131,196,204,209,212,214,215,216,229],[131,196,204,209,212,214,215,216,229,260],[80,81,131,196,204,209,212,214,215,216,229],[75,76,77,78,131,196,204,209,212,214,215,216,229],[88,131,196,204,209,212,214,215,216,229],[72,131,196,204,209,212,214,215,216,229],[93,94,95,96,97,98,99,131,196,204,209,212,214,215,216,229],[71,74,79,89,90,91,92,100,101,131,196,204,209,212,214,215,216,229],[72,73,131,196,204,209,212,214,215,216,229],[66,67,68,69,70,131,196,204,209,212,214,215,216,229],[67,68,131,196,204,209,212,214,215,216,229],[66,67,69,131,196,204,209,212,214,215,216,229],[103,104,105,106,107,131,196,204,209,212,214,215,216,229],[62,131,196,204,209,212,214,215,216,229],[103,131,196,204,209,212,214,215,216,229],[117,118,119,120,121,122,123,124,125,126,131,196,204,209,212,214,215,216,229],[117,131,196,204,209,212,214,215,216,229],[116,131,196,204,209,212,214,215,216,229],[131,196,204,209,212,214,215,216,229,262,265],[131,193,194,196,204,209,212,214,215,216,229],[131,195,196,204,209,212,214,215,216,229],[196,204,209,212,214,215,216,229],[131,196,204,209,212,214,215,216,229,238],[131,196,197,202,204,207,209,212,214,215,216,218,229,234,247],[131,196,197,198,204,207,209,212,214,215,216,229],[131,196,199,204,209,212,214,215,216,229,248],[131,196,200,201,204,209,212,214,215,216,220,229],[131,196,201,204,209,212,214,215,216,229,234,244],[131,196,202,204,207,209,212,214,215,216,218,229],[131,195,196,203,204,209,212,214,215,216,229],[131,196,204,205,209,212,214,215,216,229],[131,196,204,206,207,209,212,214,215,216,229],[131,195,196,204,207,209,212,214,215,216,229],[131,196,204,207,209,210,212,214,215,216,229,234,247],[131,196,204,207,209,210,212,214,215,216,229,236,238],[131,183,196,204,207,209,211,212,214,215,216,218,229,234,247],[131,196,204,207,209,211,212,214,215,216,218,229,234,244,247],[131,196,204,209,211,212,213,214,215,216,229,234,244,247],[130,131,132,133,134,135,136,137,138,139,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256],[131,196,204,207,209,212,214,215,216,229],[131,196,204,209,212,214,216,229],[131,196,204,209,212,214,215,216,217,229,247],[131,196,204,207,209,212,214,215,216,218,229,234],[131,196,204,209,212,214,215,216,220,229],[131,196,204,209,212,214,215,216,221,229],[131,196,204,207,209,212,214,215,216,224,229],[131,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],[131,196,204,209,212,214,215,216,226,229],[131,196,204,209,212,214,215,216,227,229],[131,196,201,204,209,210,212,214,215,216,218,229,236,244],[131,196,204,207,209,212,214,215,216,229,230],[131,196,204,209,212,214,215,216,229,231,248,252],[131,196,204,207,209,212,214,215,216,229,234,236,237,238],[131,196,204,209,212,214,215,216,229,235,238],[131,196,204,207,209,212,214,215,216,229,234,236],[131,196,204,207,209,212,214,215,216,229,234,237,238],[131,196,204,209,212,214,215,216,229,238,248],[131,196,204,209,212,214,215,216,229,239],[131,193,196,204,209,212,214,215,216,229,234,241,247],[131,196,204,209,212,214,215,216,229,234,240],[131,196,204,207,209,212,214,215,216,229,242,243],[131,196,204,209,212,214,215,216,229,242,243],[131,196,201,204,209,212,214,215,216,218,229,234,244],[131,196,204,209,212,214,215,216,229,245],[131,196,204,209,212,214,215,216,218,229,246],[131,196,204,209,211,212,214,215,216,227,229,247],[131,196,204,209,212,214,215,216,229,248,249],[131,196,201,204,209,212,214,215,216,229,249],[131,196,204,209,212,214,215,216,229,234,250],[131,196,204,209,210,212,214,215,216,229],[131,196,204,209,212,214,215,216,217,229,252],[131,196,204,209,212,214,215,216,229,253],[131,196,199,204,209,212,214,215,216,229],[131,196,201,204,209,212,214,215,216,229],[131,196,204,209,212,214,215,216,229,248],[131,183,196,204,209,212,214,215,216,229],[131,196,204,209,212,214,215,216,229,247],[131,196,204,209,212,214,215,216,229,254],[131,196,204,209,212,214,215,216,224,229],[131,196,204,209,212,214,215,216,229,243],[131,183,196,204,207,209,210,212,214,215,216,218,224,229,234,238,247,250,252,254],[131,196,204,209,212,214,215,216,229,234,255],[131,196,204,209,212,214,215,216,229,236,256],[131,196,204,209,212,214,215,216,229,258,264],[131,196,204,209,212,214,215,216,229,262],[131,196,204,209,212,214,215,216,229,259,263],[82,85,131,196,204,209,212,214,215,216,229],[83,85,131,196,204,209,212,214,215,216,229],[85,131,196,204,209,212,214,215,216,229],[83,84,131,196,204,209,212,214,215,216,229],[111,131,196,204,209,212,214,215,216,229],[82,85,86,87,131,196,204,209,212,214,215,216,229],[131,196,204,209,212,214,215,216,229,261],[131,146,149,152,153,196,204,209,212,214,215,216,229,247],[131,149,196,204,209,212,214,215,216,229,234,247],[131,149,153,196,204,209,212,214,215,216,229,247],[131,196,204,209,212,214,215,216,229,234],[131,143,196,204,209,212,214,215,216,229],[131,147,196,204,209,212,214,215,216,229],[131,145,146,149,196,204,209,212,214,215,216,229,247],[131,196,204,209,212,214,215,216,218,229,244],[131,196,204,209,212,214,215,216,229,257],[131,143,196,204,209,212,214,215,216,229,257],[131,145,149,196,204,209,212,214,215,216,218,229,247],[131,140,141,142,144,148,196,204,207,209,212,214,215,216,229,234,247],[131,149,196,204,209,212,214,215,216,229],[131,149,158,167,196,204,209,212,214,215,216,229],[131,141,147,196,204,209,212,214,215,216,229],[131,149,177,178,196,204,209,212,214,215,216,229],[131,141,144,149,196,204,209,212,214,215,216,229,238,247,257],[131,145,149,196,204,209,212,214,215,216,229,247],[131,140,196,204,209,212,214,215,216,229],[131,143,144,145,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,182,196,204,209,212,214,215,216,229],[131,149,170,173,196,204,209,212,214,215,216,229],[131,149,158,160,161,196,204,209,212,214,215,216,229],[131,147,149,160,162,196,204,209,212,214,215,216,229],[131,148,196,204,209,212,214,215,216,229],[131,141,143,149,196,204,209,212,214,215,216,229],[131,149,153,160,162,196,204,209,212,214,215,216,229],[131,153,196,204,209,212,214,215,216,229],[131,147,149,152,196,204,209,212,214,215,216,229,247],[131,141,145,149,158,196,204,209,212,214,215,216,229],[131,149,170,196,204,209,212,214,215,216,229],[131,162,196,204,209,212,214,215,216,229],[131,141,145,149,153,196,204,209,212,214,215,216,229],[131,143,149,177,196,204,209,212,214,215,216,229,238,254,257],[62,108,131,196,204,209,212,214,215,216,229],[62,64,131,196,204,209,212,214,215,216,229],[62,63,65,102,109,110,114,131,196,204,209,212,214,215,216,229],[62,88,112,113,131,196,204,209,212,214,215,216,229],[62,63,65,113,114,128,131,196,204,209,212,214,215,216,229],[62,65,131,196,204,209,212,214,215,216,229],[62,109,131,196,204,209,212,214,215,216,229],[62,127,131,196,204,209,212,214,215,216,229]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"a7a3212a86d7b7056d4f2bc603ab4e4617e60c4c1de43f7f748a7fe49e34b716","signature":"5f134c4c2c11151cc2fb386434a43e64216c5cda94652d54480b8c345f0a8765"},{"version":"32281026b02a5a78b779f6ecb46b24f9e9ab19f2f572687a4aae036b83e5ec90","signature":"75cbb4e118b8197781c1d67daa6b479f82f5ca37b899dcec4001239bd7d93752"},{"version":"e35ff8a606fd47f2456b0a11b33ee44023bb439c91a30a8f0495c5a78c4e18c0","signature":"cb6cbbfa1879b28755b6b114fee90c01979f955b711a5dcb4905b4d969545545"},{"version":"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","impliedFormat":99},{"version":"2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","impliedFormat":99},{"version":"df32d43311e85715e2a573239a4bbc5b78ebaf29af2af5fa8c85370197997515","impliedFormat":99},{"version":"3a792bbf677343364a1d9b7197c6e4e512764f17364efd656b1a3598f2a9e820","impliedFormat":99},{"version":"3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","impliedFormat":99},{"version":"e576aa80090f8b6020355ca8d7f4184067c84389f4b92125be29e03b1f6c5194","impliedFormat":99},{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"487213b1bcbdaa470cf59a4cea3f8a939b9222e74b455fe0fd2f0dc2346cc3c0","impliedFormat":99},{"version":"8a9e962b8c98aa48377773c40ac7a3e530fb3354cec48fdb59d8e2df3a624a0c","affectsGlobalScope":true,"impliedFormat":99},{"version":"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","impliedFormat":99},{"version":"8e33e65ce7fcd3cb20e29505452daa51543003d5db597f1aca2a51ff9043c8a7","impliedFormat":99},{"version":"b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","impliedFormat":99},{"version":"7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","impliedFormat":99},{"version":"ad3ee9f7d14ad8b7ae8094d0f1a2276656f7a970827d4030d1dead7c2d765f75","impliedFormat":99},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","impliedFormat":99},{"version":"fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","impliedFormat":99},{"version":"3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","impliedFormat":99},{"version":"8b86f33b7e06e2f0a3bf4703cf9d8b0baab016e36b83f2a33dac184f061e17ea","impliedFormat":99},{"version":"88c205bacab539d8e844b80a1ec76fc649fbc731f12dfd7cca160976b5ddfd5a","impliedFormat":99},{"version":"565d32dce0b8761e7cfafe40c56a8a0fab0bb9e7bb35a31d9712643b3c8dbbc4","impliedFormat":99},{"version":"4bde12afd6fdd6e52d7316e00adfbccd70becc3ebd9c4f647d07caef53a474ae","impliedFormat":99},{"version":"a7e588bdba05f1fb78f83e50ee62c93565134d3b996babf2697c2b43fcf17ce0","impliedFormat":99},{"version":"218a0f93d7091c68718ec4260f41f3a61b5ecb7e786a8c04e296292ff41db8f0","impliedFormat":99},{"version":"cf45487aeb18b31f1001b99d06793986ac3e6840b0602f9cf3756a2724348bf4","impliedFormat":99},{"version":"81f0a95843ae6e5a006addc4b5c217b075057ff82c9bc319655de21a13ba9f10","impliedFormat":99},{"version":"1a68f44e90ac5c261a3157004a7ec18759982b91fd725537d6db919d83601dd1","impliedFormat":99},{"version":"daccba798a74fc239523622caf24656e28b78dac33ea8a031682280fd51b0d0f","impliedFormat":99},{"version":"0c417e2683399126bc68aced0c37b3d9b8b72c37d390569595f73447c067d97b","impliedFormat":99},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"57658b130a56abe2ba4f7eb1490038f0b31aa2f3cc2e42d24032626fcf6b1be3","impliedFormat":1},{"version":"d602ffb629af03e2a9c0858f9a0dcd790bfe92fe9a967b968bc35cfb3c58e68a","impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"86ac756569f83cf0571646c916b546634652e92a775e964304912ecafa81dc42","impliedFormat":1},{"version":"35d2253283b5bcabd4868955daffeaed9b4e282c7cb0b4148dfdcd9dae0fd536","signature":"59407654647c0831f7ff4a9b4634cb71bb84489332362161ed31eedf22cd19e3"},{"version":"f30b1a6eb8c7813c82a7ec4f775ec257b6381d3f90521d0909224e4ea1320c11","signature":"6a716b8d3a52002354a3e530ee6c90d52209af1f53eaefb9c4527228bf0a6f67"},{"version":"c42f9b18f5f559b133cf9b409f678afb30df9c6498865aae9a1abad0f1e727a8","impliedFormat":99},{"version":"eabff483c855b848eefb979dbfb64c8858444c56a2f3ea0e59de026ef03fd089","impliedFormat":99},{"version":"5b206e920675fab40846ba051f960c659641b87cd7c96ab305430a4d194d60ea","signature":"d75a3e4665db49528093a3d868b69a53ac6bfc368b232d4db3130fd0a5e543c2"},{"version":"899e65531fad0a9d3919d74807fedbd4d4a81d27c1b8f20a571c41415f809a84","signature":"08c15205c0ba0a9bc25bde594fea32eb055e6ae3e4976605d211caae7cfce25c"},{"version":"85e8e2c95b3392357e552bd0a0743ea6f6bf6f4c3171c50784eb478e44d4625b","signature":"596db3582d22224cd33f191d8a1a39020114727f4d8957922e31335d8ae79312"},{"version":"bf0417239296a11383a61200870c123f6c9e5b5caf85cf2157b4a6e5c7a95fcb","impliedFormat":1},{"version":"f2aea0e6fbad26c1cbd6c51fad9d45efff5497f8b7cb571492eb08d84ed87927","impliedFormat":1},{"version":"921f399a6557f008bd36b4bc8dd6e8ac18575029d3271f5515ad82ee5b7f172e","impliedFormat":1},{"version":"21d0c1a87611b1e7fe1a7763e5e5c494dfa0b3cf1307ce829145c397e971969b","impliedFormat":1},{"version":"8c468d84a4116a378a6c6050a86f5441efa036faa235834ef204fdbfe8c17943","impliedFormat":1},{"version":"0a1c65731eb1680e494e0b485ff3a4106e29323b9f5931da23d9a612cbe84e45","impliedFormat":1},{"version":"a331abe7151957a7266888db8a11eb72da8bed8ceee46cc187dd280ebd89c619","impliedFormat":1},{"version":"1f1d06065bf428cbc1cc9e9a0ea0d32a4cf10bcfd3e87dfcd1a5422262d41d55","impliedFormat":1},{"version":"6ea653d5c31c1bb800010ef040494a1fc5e4ce0cda8b9786124f0e7018993cb3","impliedFormat":1},{"version":"80d2736093ff441d579360306b062e2441fc8100b3fb3a90691bc0f533fa6382","impliedFormat":1},{"version":"cde0d6a59761c6dd05836af4f8684e420e6df695fa22f94cc09cc9ddcec7cef7","impliedFormat":1},{"version":"686660ddef40e8aacc8ee90a1fb5e1969c640177657a5e068a7e2dd2fb9a6e76","impliedFormat":1},{"version":"997c14dffeb1bbffe14e7f79307295aa83d7ef1ee38762c13514d53ae43d2ede","signature":"e899b1dbfb78597e87307ffaccf5617114bfc97fd39a0b773cbefebfd5c3a870"},{"version":"36b559565d00cf6f00ca4c72b63f98b17a97b3202b4b1e15aa0072e9b2b36749","signature":"b4e5bad8d876a91492d122e50592b733b03c989e6272bf51f4d54271437afedb"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"7db737262597ae2e35daa8cc1748f482cf4b0914e00a3d5a32cf6c4fc869a375","impliedFormat":1},{"version":"9c90f502816bd0179556bb875e86c944af3f6b995cde63199edbe4e0b1219aba","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"e1028394c1cf96d5d057ecc647e31e457b919092f882ed0c7092152b077fed9d","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[[63,65],109,110,[113,115],128,129],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useDefineForClassFields":false},"referencedMap":[[258,1],[261,2],[80,1],[81,1],[82,3],[75,1],[77,1],[78,1],[79,4],[76,1],[89,5],[92,6],[93,5],[94,5],[95,5],[100,7],[96,5],[97,5],[98,5],[99,5],[91,1],[102,8],[73,6],[90,1],[101,1],[74,9],[66,1],[71,10],[69,11],[68,12],[70,1],[67,1],[108,13],[107,14],[106,15],[103,1],[105,1],[123,1],[120,1],[122,1],[124,1],[121,1],[125,1],[126,1],[127,16],[119,17],[118,17],[116,1],[117,18],[260,1],[266,19],[193,20],[194,20],[195,21],[131,22],[196,23],[197,24],[198,25],[199,26],[200,27],[201,28],[202,29],[203,30],[204,31],[205,31],[206,32],[207,33],[208,1],[209,34],[210,35],[132,1],[130,1],[211,36],[212,37],[213,38],[257,39],[214,40],[215,41],[216,40],[217,42],[218,43],[220,44],[221,45],[222,45],[223,45],[224,46],[225,47],[226,48],[227,49],[228,50],[229,51],[230,51],[231,52],[232,1],[233,1],[234,53],[235,54],[236,55],[237,56],[238,57],[239,58],[240,59],[241,60],[242,61],[243,62],[244,63],[245,64],[246,65],[247,66],[248,67],[249,68],[250,69],[251,70],[252,71],[253,72],[133,40],[134,1],[135,73],[136,74],[137,1],[138,75],[139,1],[184,76],[185,77],[186,78],[187,78],[188,79],[189,1],[190,23],[191,80],[192,77],[254,81],[255,82],[256,83],[84,1],[219,1],[259,1],[265,84],[104,1],[263,85],[264,86],[86,87],[111,88],[83,89],[87,1],[85,90],[112,91],[88,92],[262,93],[72,1],[62,1],[60,1],[61,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[58,1],[59,1],[158,94],[172,95],[155,96],[173,97],[182,98],[146,99],[147,100],[145,101],[181,102],[176,103],[180,104],[149,105],[159,106],[169,107],[148,108],[179,109],[143,110],[144,103],[150,106],[151,1],[157,111],[154,106],[141,112],[183,113],[174,114],[162,115],[161,106],[163,116],[166,117],[160,118],[164,119],[177,102],[152,120],[153,121],[167,122],[142,97],[171,123],[170,106],[156,121],[165,124],[168,125],[175,1],[140,1],[178,126],[109,127],[63,14],[65,128],[115,129],[114,130],[64,14],[129,131],[113,132],[110,133],[128,134]],"version":"5.9.3"}
@@ -3,6 +3,32 @@ import { Domain } from '@things-factory/shell';
3
3
  import { Invitation } from '../service/invitation/invitation.js';
4
4
  import { Role } from '../service/role/role.js';
5
5
  import { User } from '../service/user/user.js';
6
+ /**
7
+ * Inviting somebody into a domain, and their accepting it.
8
+ *
9
+ * ── What this is for, and what it is not ────────────────────────────────────
10
+ * `inviteUser` already puts a person who **has an account** into a domain, at once, with no mail
11
+ * and no say from them. That is the right tool when the administrator has the authority and the
12
+ * person already exists.
13
+ *
14
+ * This is for the case the `user-invite` screen records as having no path at all: **somebody with
15
+ * no account, in an installation with no default password.** Nobody can set their password for
16
+ * them, so the only way in is a mail they can prove they received. That is what the token is.
17
+ *
18
+ * ── Where the token sits ────────────────────────────────────────────────────
19
+ * In the link's **fragment** — `…/accept-invitation#<token>` — which browsers do not send to the
20
+ * server. So it stays out of access logs, proxy logs and `Referer`. The page strips it from the
21
+ * address bar as soon as it has read it.
22
+ *
23
+ * That leaves one way it can still travel: the mail itself being forwarded. Nothing about where
24
+ * the token sits can close that, so accepting asks for the invited address as well. Holding the
25
+ * link is then not enough on its own.
26
+ *
27
+ * ⚠ `/verify/:token`, `/reset-password?token=` and `/unlock-user?token=` still put theirs in the
28
+ * URL. A password reset token is not lighter than this one. Moving those three is its own job.
29
+ */
30
+ /** Where the accept page answers. The mail, the page and the router all read this one spelling. */
31
+ export declare const ACCEPT_INVITATION_PATH = "/auth/accept-invitation";
6
32
  /**
7
33
  * Create a pending invitation and mail it.
8
34
  *
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ACCEPT_INVITATION_PATH = void 0;
3
4
  exports.inviteByEmail = inviteByEmail;
4
5
  exports.mailInvitation = mailInvitation;
5
6
  exports.acceptInvitation = acceptInvitation;
@@ -38,6 +39,8 @@ const make_invitation_token_js_1 = require("./utils/make-invitation-token.js");
38
39
  * ⚠ `/verify/:token`, `/reset-password?token=` and `/unlock-user?token=` still put theirs in the
39
40
  * URL. A password reset token is not lighter than this one. Moving those three is its own job.
40
41
  */
42
+ /** Where the accept page answers. The mail, the page and the router all read this one spelling. */
43
+ exports.ACCEPT_INVITATION_PATH = '/auth/accept-invitation';
41
44
  /** How long an invitation stands. Short, because it is a credential someone is holding. */
42
45
  const EXPIRES_IN_HOURS = Number(env_1.config.get('invitation/expiresInHours', 48)) || 48;
43
46
  function expiryFrom(now) {
@@ -89,7 +92,15 @@ async function mailInvitation(invitation, context) {
89
92
  * instead, which **throws when the header is absent** — and the whole send sits in a
90
93
  * `try { … } catch { return false }`, so it failed silently. This is that helper's first caller.
91
94
  */
92
- const acceptUrl = `${(0, build_auth_url_js_1.buildAuthURL)('/accept-invitation', context)}#${invitation.token}`;
95
+ /*
96
+ * ⚠ `/auth/…`. The route is declared as `/accept-invitation` on `authPublicProcessRouter`, and that
97
+ * router carries `prefix: '/auth'`. This line said `/accept-invitation` from 2026-09-20 until
98
+ * 09-24 — the link led to no route at all, fell through to the private history fallback, and the
99
+ * domain gate there turned the invitee away. It was the same defect as the `/auth/accept/<token>`
100
+ * link this replaced, made again. `tests/invitation-route.test.ts` now checks the path against
101
+ * the router's own table.
102
+ */
103
+ const acceptUrl = `${(0, build_auth_url_js_1.buildAuthURL)(exports.ACCEPT_INVITATION_PATH, context)}#${invitation.token}`;
93
104
  await (0, email_base_1.sendEmail)({
94
105
  receiver: invitation.email,
95
106
  subject: 'Invitation',
@@ -1 +1 @@
1
- {"version":3,"file":"invitation.js","sourceRoot":"","sources":["../../server/controllers/invitation.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, ILike } from 'typeorm'\n\nimport { sendEmail } from '@things-factory/email-base'\nimport { config } from '@things-factory/env'\nimport { Domain, getRepository, Refusal } from '@things-factory/shell'\n\nimport { Invitation } from '../service/invitation/invitation.js'\nimport { Role } from '../service/role/role.js'\nimport { User, UserStatus } from '../service/user/user.js'\nimport { getInvitationEmailForm } from '../templates/invitation-email.js'\nimport { buildAuthURL } from '../utils/build-auth-url.js'\nimport { InvitationStatus, mayAccept } from '../utils/invitation-state.js'\nimport { makeInvitationToken } from './utils/make-invitation-token.js'\n\n/**\n * Inviting somebody into a domain, and their accepting it.\n *\n * ── What this is for, and what it is not ────────────────────────────────────\n * `inviteUser` already puts a person who **has an account** into a domain, at once, with no mail\n * and no say from them. That is the right tool when the administrator has the authority and the\n * person already exists.\n *\n * This is for the case the `user-invite` screen records as having no path at all: **somebody with\n * no account, in an installation with no default password.** Nobody can set their password for\n * them, so the only way in is a mail they can prove they received. That is what the token is.\n *\n * ── Where the token sits ────────────────────────────────────────────────────\n * In the link's **fragment** — `…/accept-invitation#<token>` — which browsers do not send to the\n * server. So it stays out of access logs, proxy logs and `Referer`. The page strips it from the\n * address bar as soon as it has read it.\n *\n * That leaves one way it can still travel: the mail itself being forwarded. Nothing about where\n * the token sits can close that, so accepting asks for the invited address as well. Holding the\n * link is then not enough on its own.\n *\n * ⚠ `/verify/:token`, `/reset-password?token=` and `/unlock-user?token=` still put theirs in the\n * URL. A password reset token is not lighter than this one. Moving those three is its own job.\n */\n\n/** How long an invitation stands. Short, because it is a credential someone is holding. */\nconst EXPIRES_IN_HOURS = Number(config.get('invitation/expiresInHours', 48)) || 48\n\nfunction expiryFrom(now: Date): Date {\n return new Date(now.getTime() + EXPIRES_IN_HOURS * 60 * 60 * 1000)\n}\n\n/**\n * Create a pending invitation and mail it.\n *\n * ⚠ One pending invitation per person and domain. The history keeps every row, so this cannot be\n * a unique index without forbidding \"invited, left, invited again\" — see the note on the entity.\n * An existing pending one is re-issued rather than duplicated: a new token, a new expiry, and the\n * same row, so the list shows one line per invitation rather than one per time somebody pressed\n * the button.\n */\nexport async function inviteByEmail({\n email,\n domain,\n roles,\n user,\n context,\n tx\n}: {\n email: string\n domain: Domain\n roles?: Role[]\n user?: User\n context: any\n tx?: EntityManager\n}): Promise<Invitation> {\n const repository = getRepository(Invitation, tx)\n const now = new Date()\n\n const alreadyIn = await getRepository(User, tx).findOne({\n where: { email: ILike(email) },\n relations: ['domains']\n })\n\n if (alreadyIn?.domains?.some(d => d.id === domain.id)) {\n throw new Refusal(\n 'invitation-already-a-member',\n { email, domain: domain.name },\n `${email} is already in ${domain.name}.`\n )\n }\n\n const standing = await repository.findOne({\n where: { email: ILike(email), domain: { id: domain.id }, status: InvitationStatus.PENDING },\n relations: ['domain']\n })\n\n const invitation = await repository.save({\n ...(standing || {}),\n email,\n domain,\n roles: roles || [],\n status: InvitationStatus.PENDING,\n token: makeInvitationToken(),\n expiresAt: expiryFrom(now),\n acceptedAt: null,\n creator: standing ? standing['creator'] : user,\n updater: user\n } as any)\n\n await mailInvitation(invitation, context)\n\n return invitation\n}\n\n/** Mail the link. Kept apart so re-sending does not have to go through creating one. */\nexport async function mailInvitation(invitation: Invitation, context: any): Promise<void> {\n /*\n * `buildAuthURL` reads the address this request arrived on, and falls back the way sign-in and\n * OAuth do. The four mail controllers here each built theirs from `context.header.referer`\n * instead, which **throws when the header is absent** — and the whole send sits in a\n * `try { … } catch { return false }`, so it failed silently. This is that helper's first caller.\n */\n const acceptUrl = `${buildAuthURL('/accept-invitation', context)}#${invitation.token}`\n\n await sendEmail({\n receiver: invitation.email,\n subject: 'Invitation',\n content: getInvitationEmailForm({\n username: invitation.email,\n email: invitation.email,\n acceptUrl,\n /* Printed as text too: the link's fragment needs JavaScript, and this does not. */\n code: invitation.token\n })\n })\n}\n\n/**\n * Accept an invitation.\n *\n * The invited address has to be given as well as the token — see the note at the top. Everything\n * that refuses here refuses the same way on purpose: a wrong token, a wrong address, an expired\n * one and a cancelled one are one answer, so that trying them apart tells the caller nothing.\n */\nexport async function acceptInvitation({\n token,\n email,\n name,\n password,\n context,\n tx\n}: {\n token: string\n email: string\n name?: string\n password?: string\n context: any\n tx?: EntityManager\n}): Promise<{ domain: Domain; created: boolean }> {\n const repository = getRepository(Invitation, tx)\n\n const invitation =\n token && email\n ? await repository.findOne({ where: { token }, relations: ['domain', 'roles'] })\n : null\n\n const addressMatches = invitation?.email && email && invitation.email.toLowerCase() === email.trim().toLowerCase()\n\n if (!invitation || !addressMatches || !mayAccept(invitation)) {\n throw new Refusal('invitation-not-open', {}, 'This invitation cannot be used.')\n }\n\n const userRepository = getRepository(User, tx)\n\n let person = await userRepository.findOne({ where: { email: ILike(invitation.email) }, relations: ['domains'] })\n const created = !person\n\n if (!person) {\n if (!password) {\n throw new Refusal('invitation-needs-a-password', {}, 'Choose a password to finish joining.')\n }\n\n /* The same rule the sign-up path applies; it throws its own message in the caller's language. */\n User.validatePasswordByRule(password, context?.lng)\n\n const salt = User.generateSalt()\n\n person = await userRepository.save({\n userType: 'user',\n name: name || invitation.email,\n username: invitation.email,\n email: invitation.email,\n salt,\n password: User.encode(password, salt),\n passwordUpdatedAt: new Date(),\n /* Arriving through a mail they received is the verification, so they arrive usable. */\n status: UserStatus.ACTIVATED,\n domains: [invitation.domain]\n } as any)\n } else if (!person.domains?.some(d => d.id === invitation.domain.id)) {\n person.domains = [...(person.domains || []), invitation.domain]\n await userRepository.save(person)\n }\n\n /*\n * Roles are given on arrival. Without them the person signs in and has no screens at all —\n * which is why the invitation carries them, rather than leaving the administrator to notice\n * afterwards.\n */\n if (invitation.roles?.length) {\n const loaded = await userRepository.findOne({ where: { id: person.id }, relations: ['roles'] })\n const held = new Set((loaded?.roles || []).map(role => role.id))\n\n await userRepository.save({\n ...loaded,\n roles: [...(loaded?.roles || []), ...invitation.roles.filter(role => !held.has(role.id))]\n } as any)\n }\n\n await repository.save({\n ...invitation,\n status: InvitationStatus.ACCEPTED,\n acceptedAt: new Date()\n } as any)\n\n return { domain: invitation.domain, created }\n}\n\n/**\n * Withdraw a pending invitation.\n *\n * The row stays and says it was cancelled. Deleting it would take with it the fact that somebody\n * was invited at all, which is the thing the list exists to show.\n */\nexport async function cancelInvitation(id: string, domain: Domain, user: User, tx?: EntityManager): Promise<boolean> {\n const repository = getRepository(Invitation, tx)\n\n const invitation = await repository.findOne({ where: { id, domain: { id: domain.id } }, relations: ['domain'] })\n\n if (!invitation || !mayAccept(invitation)) {\n /* Nothing to withdraw: already accepted, already cancelled, or already run out. */\n return false\n }\n\n await repository.save({ ...invitation, status: InvitationStatus.CANCELLED, updater: user } as any)\n\n return true\n}\n"]}
1
+ {"version":3,"file":"invitation.js","sourceRoot":"","sources":["../../server/controllers/invitation.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, ILike } from 'typeorm'\n\nimport { sendEmail } from '@things-factory/email-base'\nimport { config } from '@things-factory/env'\nimport { Domain, getRepository, Refusal } from '@things-factory/shell'\n\nimport { Invitation } from '../service/invitation/invitation.js'\nimport { Role } from '../service/role/role.js'\nimport { User, UserStatus } from '../service/user/user.js'\nimport { getInvitationEmailForm } from '../templates/invitation-email.js'\nimport { buildAuthURL } from '../utils/build-auth-url.js'\nimport { InvitationStatus, mayAccept } from '../utils/invitation-state.js'\nimport { makeInvitationToken } from './utils/make-invitation-token.js'\n\n/**\n * Inviting somebody into a domain, and their accepting it.\n *\n * ── What this is for, and what it is not ────────────────────────────────────\n * `inviteUser` already puts a person who **has an account** into a domain, at once, with no mail\n * and no say from them. That is the right tool when the administrator has the authority and the\n * person already exists.\n *\n * This is for the case the `user-invite` screen records as having no path at all: **somebody with\n * no account, in an installation with no default password.** Nobody can set their password for\n * them, so the only way in is a mail they can prove they received. That is what the token is.\n *\n * ── Where the token sits ────────────────────────────────────────────────────\n * In the link's **fragment** — `…/accept-invitation#<token>` — which browsers do not send to the\n * server. So it stays out of access logs, proxy logs and `Referer`. The page strips it from the\n * address bar as soon as it has read it.\n *\n * That leaves one way it can still travel: the mail itself being forwarded. Nothing about where\n * the token sits can close that, so accepting asks for the invited address as well. Holding the\n * link is then not enough on its own.\n *\n * ⚠ `/verify/:token`, `/reset-password?token=` and `/unlock-user?token=` still put theirs in the\n * URL. A password reset token is not lighter than this one. Moving those three is its own job.\n */\n\n/** Where the accept page answers. The mail, the page and the router all read this one spelling. */\nexport const ACCEPT_INVITATION_PATH = '/auth/accept-invitation'\n\n/** How long an invitation stands. Short, because it is a credential someone is holding. */\nconst EXPIRES_IN_HOURS = Number(config.get('invitation/expiresInHours', 48)) || 48\n\nfunction expiryFrom(now: Date): Date {\n return new Date(now.getTime() + EXPIRES_IN_HOURS * 60 * 60 * 1000)\n}\n\n/**\n * Create a pending invitation and mail it.\n *\n * ⚠ One pending invitation per person and domain. The history keeps every row, so this cannot be\n * a unique index without forbidding \"invited, left, invited again\" — see the note on the entity.\n * An existing pending one is re-issued rather than duplicated: a new token, a new expiry, and the\n * same row, so the list shows one line per invitation rather than one per time somebody pressed\n * the button.\n */\nexport async function inviteByEmail({\n email,\n domain,\n roles,\n user,\n context,\n tx\n}: {\n email: string\n domain: Domain\n roles?: Role[]\n user?: User\n context: any\n tx?: EntityManager\n}): Promise<Invitation> {\n const repository = getRepository(Invitation, tx)\n const now = new Date()\n\n const alreadyIn = await getRepository(User, tx).findOne({\n where: { email: ILike(email) },\n relations: ['domains']\n })\n\n if (alreadyIn?.domains?.some(d => d.id === domain.id)) {\n throw new Refusal(\n 'invitation-already-a-member',\n { email, domain: domain.name },\n `${email} is already in ${domain.name}.`\n )\n }\n\n const standing = await repository.findOne({\n where: { email: ILike(email), domain: { id: domain.id }, status: InvitationStatus.PENDING },\n relations: ['domain']\n })\n\n const invitation = await repository.save({\n ...(standing || {}),\n email,\n domain,\n roles: roles || [],\n status: InvitationStatus.PENDING,\n token: makeInvitationToken(),\n expiresAt: expiryFrom(now),\n acceptedAt: null,\n creator: standing ? standing['creator'] : user,\n updater: user\n } as any)\n\n await mailInvitation(invitation, context)\n\n return invitation\n}\n\n/** Mail the link. Kept apart so re-sending does not have to go through creating one. */\nexport async function mailInvitation(invitation: Invitation, context: any): Promise<void> {\n /*\n * `buildAuthURL` reads the address this request arrived on, and falls back the way sign-in and\n * OAuth do. The four mail controllers here each built theirs from `context.header.referer`\n * instead, which **throws when the header is absent** — and the whole send sits in a\n * `try { … } catch { return false }`, so it failed silently. This is that helper's first caller.\n */\n /*\n * ⚠ `/auth/…`. The route is declared as `/accept-invitation` on `authPublicProcessRouter`, and that\n * router carries `prefix: '/auth'`. This line said `/accept-invitation` from 2026-09-20 until\n * 09-24 — the link led to no route at all, fell through to the private history fallback, and the\n * domain gate there turned the invitee away. It was the same defect as the `/auth/accept/<token>`\n * link this replaced, made again. `tests/invitation-route.test.ts` now checks the path against\n * the router's own table.\n */\n const acceptUrl = `${buildAuthURL(ACCEPT_INVITATION_PATH, context)}#${invitation.token}`\n\n await sendEmail({\n receiver: invitation.email,\n subject: 'Invitation',\n content: getInvitationEmailForm({\n username: invitation.email,\n email: invitation.email,\n acceptUrl,\n /* Printed as text too: the link's fragment needs JavaScript, and this does not. */\n code: invitation.token\n })\n })\n}\n\n/**\n * Accept an invitation.\n *\n * The invited address has to be given as well as the token — see the note at the top. Everything\n * that refuses here refuses the same way on purpose: a wrong token, a wrong address, an expired\n * one and a cancelled one are one answer, so that trying them apart tells the caller nothing.\n */\nexport async function acceptInvitation({\n token,\n email,\n name,\n password,\n context,\n tx\n}: {\n token: string\n email: string\n name?: string\n password?: string\n context: any\n tx?: EntityManager\n}): Promise<{ domain: Domain; created: boolean }> {\n const repository = getRepository(Invitation, tx)\n\n const invitation =\n token && email\n ? await repository.findOne({ where: { token }, relations: ['domain', 'roles'] })\n : null\n\n const addressMatches = invitation?.email && email && invitation.email.toLowerCase() === email.trim().toLowerCase()\n\n if (!invitation || !addressMatches || !mayAccept(invitation)) {\n throw new Refusal('invitation-not-open', {}, 'This invitation cannot be used.')\n }\n\n const userRepository = getRepository(User, tx)\n\n let person = await userRepository.findOne({ where: { email: ILike(invitation.email) }, relations: ['domains'] })\n const created = !person\n\n if (!person) {\n if (!password) {\n throw new Refusal('invitation-needs-a-password', {}, 'Choose a password to finish joining.')\n }\n\n /* The same rule the sign-up path applies; it throws its own message in the caller's language. */\n User.validatePasswordByRule(password, context?.lng)\n\n const salt = User.generateSalt()\n\n person = await userRepository.save({\n userType: 'user',\n name: name || invitation.email,\n username: invitation.email,\n email: invitation.email,\n salt,\n password: User.encode(password, salt),\n passwordUpdatedAt: new Date(),\n /* Arriving through a mail they received is the verification, so they arrive usable. */\n status: UserStatus.ACTIVATED,\n domains: [invitation.domain]\n } as any)\n } else if (!person.domains?.some(d => d.id === invitation.domain.id)) {\n person.domains = [...(person.domains || []), invitation.domain]\n await userRepository.save(person)\n }\n\n /*\n * Roles are given on arrival. Without them the person signs in and has no screens at all —\n * which is why the invitation carries them, rather than leaving the administrator to notice\n * afterwards.\n */\n if (invitation.roles?.length) {\n const loaded = await userRepository.findOne({ where: { id: person.id }, relations: ['roles'] })\n const held = new Set((loaded?.roles || []).map(role => role.id))\n\n await userRepository.save({\n ...loaded,\n roles: [...(loaded?.roles || []), ...invitation.roles.filter(role => !held.has(role.id))]\n } as any)\n }\n\n await repository.save({\n ...invitation,\n status: InvitationStatus.ACCEPTED,\n acceptedAt: new Date()\n } as any)\n\n return { domain: invitation.domain, created }\n}\n\n/**\n * Withdraw a pending invitation.\n *\n * The row stays and says it was cancelled. Deleting it would take with it the fact that somebody\n * was invited at all, which is the thing the list exists to show.\n */\nexport async function cancelInvitation(id: string, domain: Domain, user: User, tx?: EntityManager): Promise<boolean> {\n const repository = getRepository(Invitation, tx)\n\n const invitation = await repository.findOne({ where: { id, domain: { id: domain.id } }, relations: ['domain'] })\n\n if (!invitation || !mayAccept(invitation)) {\n /* Nothing to withdraw: already accepted, already cancelled, or already run out. */\n return false\n }\n\n await repository.save({ ...invitation, status: InvitationStatus.CANCELLED, updater: user } as any)\n\n return true\n}\n"]}
@@ -3,6 +3,23 @@ import { Application } from '../application/application.js';
3
3
  import { User } from '../user/user.js';
4
4
  import { UserList } from '../user/user-types.js';
5
5
  import { AppBinding } from './app-binding.js';
6
+ /**
7
+ * The fields a free-text search looks in: the binding's name, its generated email, and the
8
+ * description someone wrote for it.
9
+ */
10
+ export declare const APP_BINDING_SEARCHABLES: string[];
11
+ /**
12
+ * Turns the list's free-text term into one search filter per searchable field.
13
+ *
14
+ * The screen now sends the term itself (`ListParam.search`) and leaves it to the server to say
15
+ * where it looks. This door builds its query with the older `buildQuery`, which only knows search
16
+ * *filters* - so the term is spelled out here, at the caller, rather than by changing the shared
17
+ * helper for one door. Without this the term reaches the door and is dropped, and the list comes
18
+ * back whole with nothing to say so.
19
+ *
20
+ * `buildQuery` applies a search filter as `LIKE :value`, so the value carries its own wildcards.
21
+ */
22
+ export declare function withSearchTerm(params: ListParam): ListParam;
6
23
  export declare class AppBindingQuery {
7
24
  /**
8
25
  * One binding.
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppBindingQuery = void 0;
3
+ exports.AppBindingQuery = exports.APP_BINDING_SEARCHABLES = void 0;
4
+ exports.withSearchTerm = withSearchTerm;
4
5
  const tslib_1 = require("tslib");
5
6
  const type_graphql_1 = require("type-graphql");
6
7
  const shell_1 = require("@things-factory/shell");
@@ -20,6 +21,35 @@ const app_binding_types_js_1 = require("./app-binding-types.js");
20
21
  * together and are the same kind of thing, and leaving one of them open reads as a decision
21
22
  * that nobody made.
22
23
  */
24
+ /**
25
+ * The fields a free-text search looks in: the binding's name, its generated email, and the
26
+ * description someone wrote for it.
27
+ */
28
+ exports.APP_BINDING_SEARCHABLES = ['name', 'email', 'description'];
29
+ /**
30
+ * Turns the list's free-text term into one search filter per searchable field.
31
+ *
32
+ * The screen now sends the term itself (`ListParam.search`) and leaves it to the server to say
33
+ * where it looks. This door builds its query with the older `buildQuery`, which only knows search
34
+ * *filters* - so the term is spelled out here, at the caller, rather than by changing the shared
35
+ * helper for one door. Without this the term reaches the door and is dropped, and the list comes
36
+ * back whole with nothing to say so.
37
+ *
38
+ * `buildQuery` applies a search filter as `LIKE :value`, so the value carries its own wildcards.
39
+ */
40
+ function withSearchTerm(params) {
41
+ const term = params?.search?.trim();
42
+ if (!term) {
43
+ return params;
44
+ }
45
+ return {
46
+ ...params,
47
+ filters: [
48
+ ...(params.filters ?? []),
49
+ ...exports.APP_BINDING_SEARCHABLES.map(name => ({ name, operator: 'search', value: `%${term}%` }))
50
+ ]
51
+ };
52
+ }
23
53
  let AppBindingQuery = class AppBindingQuery {
24
54
  /**
25
55
  * One binding.
@@ -67,7 +97,7 @@ let AppBindingQuery = class AppBindingQuery {
67
97
  const alias = 'USER';
68
98
  const qb = (0, get_domain_users_js_1.buildDomainUsersQueryBuilder)(domain.id, alias);
69
99
  qb.andWhere(`${alias}.userType = :userType`, { userType: app_binding_js_1.APP_BINDING_USER_TYPE });
70
- (0, shell_1.buildQuery)(qb, params, null, { domainRef: false });
100
+ (0, shell_1.buildQuery)(qb, withSearchTerm(params), null, { domainRef: false, searchables: exports.APP_BINDING_SEARCHABLES });
71
101
  const [items, total] = await qb.getManyAndCount();
72
102
  return { items, total };
73
103
  }