idmission-web-sdk 1.0.310 → 1.0.311

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib=require("tslib"),React=require("react"),ReactDOM=require("react-dom/client"),platform=require("platform"),styled=require("styled-components"),reactI18next=require("react-i18next"),useResizeObserver=require("use-resize-observer"),tf=require("@tensorflow/tfjs"),tasksVision=require("@mediapipe/tasks-vision"),useDebounce=require("use-debounce"),LanguageDetector=require("i18next-browser-languagedetector"),i18n=require("i18next"),reactDom=require("react-dom"),SignatureCanvas=require("react-signature-canvas");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var SubmissionAction,SubmissionStatus,React__default=_interopDefaultLegacy(React),React__namespace=_interopNamespace(React),ReactDOM__namespace=_interopNamespace(ReactDOM),platform__default=_interopDefaultLegacy(platform),styled__default=_interopDefaultLegacy(styled),useResizeObserver__default=_interopDefaultLegacy(useResizeObserver),tf__namespace=_interopNamespace(tf),LanguageDetector__default=_interopDefaultLegacy(LanguageDetector),i18n__default=_interopDefaultLegacy(i18n),SignatureCanvas__default=_interopDefaultLegacy(SignatureCanvas),webSdkVersion="1.0.310";function getPlatform(){return"undefined"!=typeof window&&void 0!==window.platform?window.platform:platform__default.default}function dataUrlToBase64(e){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function dataUrlToBase64Sync(e){return e.replace(/^data:.*;base64,/,"")}function contentDispositionFromDataUrl(e){var t,a;return null!==(a=null===(t=e.match(/^(data:.*;base64),/))||void 0===t?void 0:t[1])&&void 0!==a?a:""}!function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}(SubmissionAction||(SubmissionAction={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(SubmissionStatus||(SubmissionStatus={}));var submissionHosts={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"};function parseJwt(e){var t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(a)}function determineSubmissionHost(e,t){if(t)switch(parseJwt(t).iss){case"https://auth.idmission.com/auth/realms/identity":return submissionHosts.prod;case"https://demoauth.idmission.com/auth/realms/identity":return submissionHosts.demo}var a=submissionHosts[e];if(!a)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return a}function determineSubmissionEndpoint(e,t,a,n){var r=n?"v4":"v3";switch(e){case SubmissionAction.ENROLL:return"/".concat(r,t?"/customer/enroll":"/customer/enroll-biometrics");case SubmissionAction.IDENTIFY:return"/".concat(r,"/customer/identify");case SubmissionAction.VALIDATE:return"/".concat(r,a?"/customer/validate-id-match-face":"/customer/validate-id");case SubmissionAction.VERIFY:return"/".concat(r,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}function liveCheckEndpoint(e){return"/".concat(e?"v4":"v3","/customer/live-check")}function apiHeaders(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function attachMetadataToRequest(e,t){var a,n,r=t.geolocationResult,i={selfie:t.selfieCaptureAttempts,front:t.idFrontCaptureAttempts,back:t.idBackCaptureAttempts,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_".concat(webSdkVersion),Resolution:"undefined"!=typeof window?"".concat(window.innerWidth," x ").concat(window.innerHeight):"unknown"},o=getPlatform();o&&(i.os=null===(a=o.os)||void 0===a?void 0:a.family,i.osVersion=null===(n=o.os)||void 0===n?void 0:n.version,i.browserVersion="".concat(o.name," ").concat(o.version)),r&&(i.GeoLocation=JSON.stringify(r)),e.additionalData.metadata=JSON.stringify(i)}function videoDataUrlToB64(e){return new Promise((function(t){var a=new FileReader;a.onloadend=function(){t(dataUrlToBase64Sync(a.result))},fetch(e).then((function(e){return e.blob()})).then((function(e){return a.readAsDataURL(e)}))}))}var templateObject_1$F,PageContainerDiv=styled__default.default.div(templateObject_1$F||(templateObject_1$F=tslib.__makeTemplateObject(["\n ","\n\n ","\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"],["\n ","\n\n ","\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"])),(function(e){var t;return!1===e.theme.isFullscreen?"":"\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ".concat(null!==(t=e.$heightOffset)&&void 0!==t?t:0,"px\n );\n overflow-x: hidden;\n overflow-y: auto;\n ")}),(function(e){return e.theme.fontFamily?"font-family: ".concat(e.theme.fontFamily,";"):""})),PageContainer=React.forwardRef((function(e,t){var a=e.children,n=e.className,r=e.heightOffset,i=void 0===r?0:r,o=e.style,l=e.onClick,s=React.useState(!1),d=s[0],c=s[1];return React.useEffect((function(){if("undefined"!=typeof window){c(!1);var e=function(){var e=document.documentElement;e.style.setProperty("--app-width","".concat(window.innerWidth,"px")),e.style.setProperty("--app-height","".concat(window.innerHeight,"px"))};return window.addEventListener("resize",e),e(),c(!0),function(){window.removeEventListener("resize",e)}}}),[]),React__default.default.createElement(PageContainerDiv,{ref:t,style:o,onClick:l,className:n,$heightOffset:i},d&&a)}));PageContainer.displayName="PageContainer";var templateObject_1$E,templateObject_2$r,templateObject_3$k,templateObject_4$f,templateObject_1$D,OverlayContainer=styled__default.default(PageContainer)(templateObject_1$E||(templateObject_1$E=tslib.__makeTemplateObject(["\n background: ",";\n ","\n z-index: 10000;\n"],["\n background: ",";\n ","\n z-index: 10000;\n"])),(function(e){return e.theme.background?"".concat(e.theme.background):"white"}),(function(e){return e.theme.textColor?"color: ".concat(e.theme.textColor,";"):""})),OverlayInner$2=styled__default.default.div(templateObject_2$r||(templateObject_2$r=tslib.__makeTemplateObject(["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n max-height: var(--app-height);\n height: 100%;\n ","\n"],["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n max-height: var(--app-height);\n height: 100%;\n ","\n"])),(function(e){var t;return null!==(t=e.theme.textAlign)&&void 0!==t?t:"center"}),(function(e){return e.theme.padding?"box-sizing: border-box; padding: ".concat(e.theme.padding,";"):""})),OverlayImageContainer=styled__default.default.div(templateObject_3$k||(templateObject_3$k=tslib.__makeTemplateObject(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"],["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"]))),OverlayImageRow=styled__default.default.div(templateObject_4$f||(templateObject_4$f=tslib.__makeTemplateObject(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"],["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"]))),LoaderButton=function(e){var t=e.children,a=e.className,n=e.colors,r=void 0===n?{}:n,i=e.disabled,o=e.finished,l=e.onClick,s=e.style,d=e.variant,c=void 0===d?"primary":d,u=React.useRef(null),m=React.useRef(null),f=React.useState(!1),p=f[0],g=f[1];return React.useEffect((function(){var e;return Promise.resolve().then((function(){return _interopNamespace(require("ladda"))})).then((function(t){if(u.current){m.current=t.create(u.current),m.current.start(),g(!0);var a=0;e=setInterval((function(){var e;a<.9&&(a+=.1),null===(e=m.current)||void 0===e||e.setProgress(a)}),250)}})),function(){var t;null===(t=m.current)||void 0===t||t.remove(),clearInterval(e)}}),[]),React.useEffect((function(){var e;p&&o&&(null===(e=m.current)||void 0===e||e.stop())}),[o,p]),React__default.default.createElement(StyledButton,{className:"ladda-button ".concat(a),"data-style":"expand-right",disabled:i,ref:u,onClick:l,$backgroundColor:r.backgroundColor,$textColor:r.textColor,$disabledBackgroundColor:r.loadingBackgroundColor,$disabledTextColor:r.loadingTextColor,$variant:c,style:s},React__default.default.createElement("span",{className:"ladda-label"},t))},StyledButton=styled__default.default.button(templateObject_1$D||(templateObject_1$D=tslib.__makeTemplateObject(["\n ","\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n @keyframes ladda-spinner-line-fade {\n 0%,\n 100% {\n opacity: 0.22;\n }\n 1% {\n opacity: 1;\n }\n }\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"],["\n ","\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n @keyframes ladda-spinner-line-fade {\n 0%,\n 100% {\n opacity: 0.22;\n }\n 1% {\n opacity: 1;\n }\n }\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"])),(function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b,_,y;return"bootstrap"===(null===(t=e.theme.buttons)||void 0===t?void 0:t.style)&&"\n border-radius: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n \n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n \n &:focus:not(:focus-visible) {\n outline: 0;\n }\n \n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n //transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,\n // border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n \n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n \n &:hover {\n filter: brightness(1.15);\n }\n \n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n \n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n \n --bs-btn-color: ".concat(null!==(o=null!==(a=e.$textColor)&&void 0!==a?a:null===(i=null===(n=e.theme.buttons)||void 0===n?void 0:n[null!==(r=e.$variant)&&void 0!==r?r:"primary"])||void 0===i?void 0:i.textColor)&&void 0!==o?o:"#fff",";\n --bs-btn-bg: ").concat(null!==(u=null!==(l=e.$backgroundColor)&&void 0!==l?l:null===(c=null===(s=e.theme.buttons)||void 0===s?void 0:s[null!==(d=e.$variant)&&void 0!==d?d:"primary"])||void 0===c?void 0:c.backgroundColor)&&void 0!==u?u:"#0d6efd",";\n --bs-btn-border-color: var(--bs-btn-bg);\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ").concat(null!==(g=null!==(m=e.$disabledTextColor)&&void 0!==m?m:null===(p=null===(f=e.theme.buttons)||void 0===f?void 0:f.loading)||void 0===p?void 0:p.textColor)&&void 0!==g?g:"#fff",";\n --bs-btn-disabled-bg: ").concat(null!==(_=null!==(h=e.$disabledBackgroundColor)&&void 0!==h?h:null===(b=null===(v=e.theme.buttons)||void 0===v?void 0:v.loading)||void 0===b?void 0:b.backgroundColor)&&void 0!==_?_:"gray",";\n --bs-btn-disabled-border-color: ").concat(null!==(y=e.$disabledBackgroundColor)&&void 0!==y?y:"#0d6efd",";\n \n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n ")})),GeolocationAccessDeniedOverlay=function(e){var t=e.accessBlockedImageUrl,a=reactI18next.useTranslation().t,n=React.useContext(SubmissionContext).retryLocationAccess;return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement("div",{style:{display:"flex",height:"100%"}},React__default.default.createElement(OverlayInner$2,{style:{maxWidth:500,height:"auto",margin:"auto"}},React__default.default.createElement(OverlayImageContainer,{style:{flexGrow:0}},React__default.default.createElement("img",{src:t,alt:""})),React__default.default.createElement("h3",null,a("Your location access is disabled")),React__default.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},a("This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.")),React__default.default.createElement(LoaderButton,{variant:"primary",onClick:n,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},a("Retry")))))},SubmissionError=function(e){function t(t){var a=e.call(this,t.statusMessage)||this;return a.status=t,a}return tslib.__extends(t,e),t}(Error),NetworkError=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tslib.__extends(t,e),t}(Error),TokenPublicKeyError=function(e){function t(t,a){var n=e.call(this,t.message)||this;return n.err=t,n.host=a,n}return tslib.__extends(t,e),t}(Error),SubmissionErrorOverlay=function(e){var t=e.error;return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},t instanceof NetworkError?React__default.default.createElement(NetworkErrorContent,{error:t,onRetry:e.onRetry}):React__default.default.createElement(SubmissionErrorContent,{error:t})))},SubmissionErrorContent=function(e){var t=e.error,a=(0,reactI18next.useTranslation().t)("We're sorry, an unexpected error has occurred.");return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("h3",{style:{marginBottom:8}},a),t.status.statusCode&&React__default.default.createElement("p",{style:{marginBottom:0}},React__default.default.createElement("code",null,"Status: ",t.status.statusCode)),React__default.default.createElement("p",{style:{marginBottom:0}},"Message: ",React__default.default.createElement("code",null,t.message)),t.status.errorData&&React__default.default.createElement("p",{style:{marginBottom:0}},"Data: ",React__default.default.createElement("code",null,t.status.errorData)))},NetworkErrorContent=function(e){var t=e.onRetry,a=reactI18next.useTranslation().t,n=a("Network unreachable"),r=a("We're having trouble reaching our services, please check your connection and try again."),i=a("Retry");return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("h3",{style:{marginBottom:8}},n),React__default.default.createElement("p",{style:{marginBottom:0}},r),t&&React__default.default.createElement("div",{style:{marginTop:32}},React__default.default.createElement(LoaderButton,{variant:"warning",finished:!0,onClick:t},i)))},TokenMissingErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," is missing."),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},TokenInvalidFormatErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," is invalid."),React__default.default.createElement("p",null,"JSON Web Tokens consist of three parts separated by dots (",React__default.default.createElement("code",null,"."),"), which are:"),React__default.default.createElement("div",{style:{display:"flex"}},React__default.default.createElement("ul",{style:{display:"inline",margin:"0 auto"}},React__default.default.createElement("li",null,"Header"),React__default.default.createElement("li",null,"Payload"),React__default.default.createElement("li",null,"Signature"))),React__default.default.createElement("p",null,"Therefore, a JWT typically looks like the following:"," ",React__default.default.createElement("code",null,"xxxxx.yyyyy.zzzzz")),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},TokenInvalidSignatureErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," could not be validated."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"The signature of your token could not be validated. Check your token generation routine, it's possible that some malicious behavior is at play. This can also happen if you attempt to manually modify your token before passing it to the IDmission WebSDK."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"If you believe you have reached this page in error, please contact us at ",React__default.default.createElement("a",{href:"mailto:support@idmission.com"},"support@idmission.com"),".")))},TokenExpiredErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," is expired."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"Ensure you are generating a fresh token for each request to the IDmission WebSDK."),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},TokenPublicKeyErrorOverlay=function(e){var t=e.error;return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},(null==t?void 0:t.host)?React__default.default.createElement(React__default.default.Fragment,null,"Failed to reach ",React__default.default.createElement("code",null,t.host),"."):React__default.default.createElement(React__default.default.Fragment,null,"Failed to obtain public key for ",React__default.default.createElement("code",null,"submissionToken"),".")),(null==t?void 0:t.message)&&React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},React__default.default.createElement("code",null,t.message)),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"Please ensure that IDmission's servers can be reached. If you believe you have reached this page in error, please contact us at"," ",React__default.default.createElement("a",{href:"mailto:support@idmission.com"},"support@idmission.com"),".")))},TokenIssuerNotAllowedErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," comes from an unrecognized issuer."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"Ensure you are generating a fresh token for each request to the IDmission WebSDK."),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},allowedTokenIssuers=["https://demoauth.idmission.com/","https://uatauth.idmission.com/","https://auth.idmission.com/"],SubmissionContext=React.createContext({submit:function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){return[2,null]}))}))},submissionStatus:SubmissionStatus.READY,submissionRequest:null,submissionResponse:null,submissionError:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,signatureVideoUrl:null,idCaptureVideoUrl:null,idCaptureVideoIdFrontImage:null,idCaptureVideoIdBackImage:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setSignatureVideoUrl:function(){return null},setIdCaptureVideoUrl:function(){return null},setIdCaptureVideoIdFrontImage:function(){return null},setIdCaptureVideoIdBackImage:function(){return null},setAdditionalDocuments:function(){return null},uploadDocument:Promise.resolve,logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},livenessCheckRequest:null,checkLiveness:function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}}),SubmissionProvider=function(e){var t=e.action,a=e.children,n=e.url,r=e.environment,i=void 0===r?"prod":r,o=e.token,l=e.companyId,s=e.enrollmentId,d=e.personalData,c=e.cardData,u=e.bypassAgeValidation,m=void 0!==u&&u,f=e.bypassNameMatching,p=void 0===f||f,g=e.needImmediateResponse,h=void 0!==g&&g,v=e.manualReviewRequired,b=void 0!==v&&v,_=e.idBackImageRequired,y=void 0===_||_,C=e.idImageResolutionCheck,x=void 0===C||C,R=e.verifyIdWithExternalDatabases,E=void 0!==R&&R,I=e.deduplicationEnabled,T=void 0!==I&&I,w=e.deduplicationSynchronous,M=void 0!==w&&w,S=e.geolocationEnabled,D=void 0===S||S,k=e.geolocationRequired,N=void 0!==k&&k,O=e.webhooksEnabled,j=void 0!==O&&O,A=e.webhooksClientTraceId,L=e.webhooksStripSpecialCharacters,B=void 0===L||L,F=e.webhooksSendInputImages,P=void 0!==F&&F,$=e.webhooksSendProcessedImages,z=void 0!==$&&$,U=e.webhooksFireOnReview,G=void 0!==U&&U,W=e.precapturedDocuments,V=e.documentServiceUrl,H=void 0===V?"https://portal-api-dev.idmission.com/files/":V,q=e.onSubmit,Y=e.onBeforeSubmit,Z=e.onBeforeLivenessCheck,Q=e.onResponseReceived,X=e.onRequestFailure,K=React.useState(SubmissionStatus.READY),J=K[0],ee=K[1],te=React.useState(null),ae=te[0],ne=te[1],re=React.useState(null),ie=re[0],oe=re[1],le=React.useState(null),se=le[0],de=le[1],ce=React.useState(null),ue=ce[0],me=ce[1],fe=React.useState(null),pe=fe[0],ge=fe[1],he=React.useState(null),ve=he[0],be=he[1],_e=React.useState(null),ye=_e[0],Ce=_e[1],xe=React.useState(null),Re=xe[0],Ee=xe[1],Ie=React.useState(null),Te=Ie[0],we=Ie[1],Me=React.useState(null),Se=Me[0],De=Me[1],ke=React.useState(null),Ne=ke[0],Oe=ke[1],je=React.useState(null),Ae=je[0],Le=je[1],Be=React.useState(null),Fe=Be[0],Pe=Be[1],$e=React.useState(null),ze=$e[0],Ue=$e[1],Ge=React.useState(null),We=Ge[0],Ve=Ge[1],He=React.useState(null),qe=He[0],Ye=He[1],Ze=React.useState(0),Qe=Ze[0],Xe=Ze[1],Ke=React.useState(!1),Je=Ke[0],et=Ke[1],tt=React.useState([]),at=tt[0],nt=tt[1],rt=React.useState([]),it=rt[0],ot=rt[1],lt=React.useState([]),st=lt[0],dt=lt[1],ct=React.useCallback((function(e){nt((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}),[]),ut=React.useCallback((function(e){ot((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}),[]),mt=React.useCallback((function(e){dt((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}),[]);React.useEffect((function(){(null==W?void 0:W.selfie)&&we(dataUrlToBase64Sync(W.selfie.imageData))}),[null==W?void 0:W.selfie]);var ft=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e,a,n,r,i,o;return tslib.__generator(this,(function(u){switch(u.label){case 0:return e={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:b?"Y":"N",bypassAgeValidation:m?"Y":"N",bypassNameMatching:p?"Y":"N",postDataAPIRequired:j?"Y":"N",postDataOnReviewRequired:G?"Y":"N",sendInputImagesInPost:P?"Y":"N",sendProcessedImagesInPost:z?"Y":"N",needImmediateResponse:h?"Y":"N",deDuplicationRequired:T?"Y":"N",deduplicationSynchronous:M?"Y":"N",verifyDataWithHost:E?"Y":"N",idBackImageRequired:y?"Y":"N",stripSpecialCharacters:B?"Y":"N",idImageResolutionCheck:x?"Y":"N"}},ve&&(e.customerData.idData.idImageFront=ve),ye&&(e.customerData.idData.idImageBack=ye),Re&&(e.customerData.idData.idImageFront=Re),Te&&(t===SubmissionAction.IDENTIFY&&(e.biometricData={selfie:Te}),e.customerData.biometricData={selfie:Te}),l&&(e.employee={companyId:l}),d&&(e.customerData.personalData=d),c&&(e.customerData.cardData=c),s&&((i=e.customerData).personalData||(i.personalData={}),e.customerData.personalData.uniqueNumber=s),A&&(e.additionalData.clientTraceId=A),Se?(e.customerData.signatureData={signatureImage:JSON.stringify(Se)},Ne?(a=e.customerData.signatureData,[4,videoDataUrlToB64(Ne)]):[3,2]):[3,2];case 1:a.signatureVideo=u.sent(),u.label=2;case 2:return We&&(e.customerData.additionalDocuments=We.map((function(t){return tslib.__assign(tslib.__assign({},t),{additionalDocument:JSON.stringify(tslib.__assign(tslib.__assign({},t.additionalDocument),{uniqueId:e.additionalData.uniqueRequestId}))})}))),Ae?((o=e.customerData).biometricData||(o.biometricData={}),n=e.customerData.biometricData,[4,videoDataUrlToB64(Ae)]):[3,4];case 3:n.videoData=u.sent(),u.label=4;case 4:return Fe&&(e.customerData.idData.videoIdImageFront=dataUrlToBase64Sync(Fe)),ze&&(e.customerData.idData.videoIdImageBack=dataUrlToBase64Sync(ze)),attachMetadataToRequest(e,{selfieCaptureAttempts:st,idFrontCaptureAttempts:at,idBackCaptureAttempts:it,geolocationResult:qe}),Y?[4,Y(e)]:[3,6];case 5:(r=u.sent())&&(e=r),u.label=6;case 6:return[2,e]}}))}))}),[t,We,m,p,c,l,T,M,s,qe,it,ye,y,ze,Fe,Ae,at,ve,x,b,h,Y,Re,d,st,Te,Se,Ne,E,A,j,G,P,z,B]),pt=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e,a,r,l,s,d,c,u,m,f;return tslib.__generator(this,(function(p){switch(p.label){case 0:if(t===SubmissionAction.NONE)return e={status:{statusCode:"000"},resultData:{}},ee(SubmissionStatus.SUBMITTED),oe(e),[2,e];ee(SubmissionStatus.SUBMITTING),p.label=1;case 1:return p.trys.push([1,7,,8]),[4,ft()];case 2:return a=p.sent(),r=n||determineSubmissionHost(i,o),l=determineSubmissionEndpoint(t,!!(ve||ye||Re),!!Te,!!o),[4,fetch(r+l,{method:"POST",headers:apiHeaders(o),body:JSON.stringify(a)}).catch((function(e){throw new NetworkError(e.message)}))];case 3:return(s=p.sent())&&s.ok?[3,5]:[4,null==s?void 0:s.text()];case 4:if(!(d=p.sent())||"Load failed"===d)throw new NetworkError(d);throw new SubmissionError({statusCode:null!==(f=null==s?void 0:s.statusText)&&void 0!==f?f:"???",statusMessage:d});case 5:return[4,s.json()];case 6:if("000"!==(c=p.sent()).status.statusCode)throw new SubmissionError(c.status);return ne(a),oe(c),ee(SubmissionStatus.SUBMITTED),null==Q||Q(c,a),[2,c];case 7:throw u=p.sent(),m=u,ee(SubmissionStatus.FAILED),de(u instanceof SubmissionError||u instanceof NetworkError?u:"Load failed"===m.message?new NetworkError:new SubmissionError({statusCode:"",statusMessage:m.message})),me((function(){return["VERIFY","IDENTIFY"].includes(t)?function(){return null}:pt})),null==X||X(m),m;case 8:return[2]}}))}))}),[t,ft,i,ye,ve,X,Q,Re,Te,o,n]),gt=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return q?(e=q,[4,ft()]):[3,2];case 1:return[2,e.apply(void 0,[t.sent()])];case 2:return[4,pt()];case 3:return[2,t.sent()]}}))}))}),[ft,pt,q]),ht=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t,a,r,l,s,d,c,u,m,f,p,g;return tslib.__generator(this,(function(h){switch(h.label){case 0:return h.trys.push([0,8,,9]),f={securityData:{userName:"",password:"",merchantId:0}},p={},g={},[4,dataUrlToBase64(e)];case 1:return f.customerData=(p.biometricData=(g.selfie=h.sent(),g),p),f.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:B?"Y":"N",estimateAge:"N",predictGender:"N"},attachMetadataToRequest(t=f,{selfieCaptureAttempts:st,idFrontCaptureAttempts:at,idBackCaptureAttempts:it,geolocationResult:qe}),ge(t),Z?[4,Z(t)]:[3,3];case 2:(a=h.sent())&&(t=a),h.label=3;case 3:return r=n||determineSubmissionHost(i,o),l=liveCheckEndpoint(!!o),[4,fetch(r+l,{method:"POST",headers:apiHeaders(o),body:JSON.stringify(t)}).catch((function(e){throw new NetworkError(e.message)}))];case 4:return(s=h.sent()).ok?[3,6]:[4,s.text()];case 5:if(!(d=h.sent())||"Load failed"===d)throw new NetworkError(d);throw new SubmissionError({statusCode:s.statusText,statusMessage:d});case 6:return[4,s.json()];case 7:if("000"!==(c=h.sent()).status.statusCode)throw new SubmissionError(c.status);return oe(c),[2,c];case 8:throw u=h.sent(),m=u,ee(SubmissionStatus.FAILED),de(u instanceof SubmissionError||u instanceof NetworkError?u:"Load failed"===m.message?new NetworkError:new SubmissionError({statusCode:"",statusMessage:m.message})),me((function(){return function(){return null}})),null==X||X(m),m;case 9:return[2]}}))}))}),[i,qe,it,at,Z,X,st,o,n,B]),vt=React.useCallback((function(){Xe((function(e){return e+1}))}),[]);React.useEffect((function(){D&&(console.log("making geolocation attempt",Qe),navigator.geolocation.getCurrentPosition((function(e){Ye(e),et(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);et(!0)})))}),[Qe,D,N]);var bt=React.useCallback((function(){ue&&(de(null),ee(SubmissionStatus.READY),ue())}),[ue]),_t=React.useState("NOT_PARSED"),yt=_t[0],Ct=_t[1],xt=React.useState(null),Rt=xt[0],Et=xt[1];React.useEffect((function(){"undefined"!=typeof window&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n,r,i,l,s,d;return tslib.__generator(this,(function(c){switch(c.label){case 0:if(Ct("PARSING"),!o)return[2,Ct("MISSING")];try{e=parseJwt(o)}catch(e){return console.error("error parsing token",e),[2,Ct("INVALID_FORMAT")]}if(t=e.iss,!allowedTokenIssuers.some((function(e){return t.startsWith(e)})))return console.error("issuer is not allowed",t),[2,Ct("ISSUER_NOT_ALLOWED")];c.label=1;case 1:return c.trys.push([1,4,,5]),[4,fetch(t).then((function(e){return e.json()}))];case 2:return n=c.sent(),[4,importRsaKey("-----BEGIN PUBLIC KEY-----\n".concat(n.public_key,"\n-----END PUBLIC KEY-----"))];case 3:return a=c.sent(),[3,5];case 4:return r=c.sent(),console.error("error fetching public key",r),Et(new TokenPublicKeyError(r,t)),[2,Ct("PUBLIC_KEY_LOAD_FAILED")];case 5:i=!1,c.label=6;case 6:return c.trys.push([6,8,,9]),l=o.split("."),[4,window.crypto.subtle.verify({name:"RSASSA-PKCS1-v1_5"},a,str2ab(l[1]),str2ab(l[2]))];case 7:return c.sent(),i=!0,[3,9];case 8:return s=c.sent(),console.error("error validating token",s),[3,9];case 9:return i?(d=e.exp,Date.now()>=1e3*d?[2,Ct("EXPIRED")]:(Ct("GOOD"),[2])):[2,Ct("INVALID_SIGNATURE")]}}))}))}),[o]);var It=React.useCallback((function(e){return new Promise((function(t,a){Promise.resolve().then((function(){return _interopNamespace(require("tus-js-client"))})).then((function(n){var r=new n.Upload(e,{endpoint:H,retryDelays:[0,3e3,5e3,1e4,2e4],metadata:{filename:"My File",filetype:"image/jpeg"},headers:{Authorization:"Bearer ".concat(o)},onProgress:function(e,t){var a=(e/t*100).toFixed(2);console.log(e,t,a+"%")},onSuccess:function(){var e;console.log("Download from %s",r.url),t("urn:documentsv1:"+(null===(e=r.url.split("/files/").pop())||void 0===e?void 0:e.split("+").shift()))},onError:function(e){console.log("Failed because: "+e),a(e)}});r.findPreviousUploads().then((function(e){e.length&&r.resumeFromPreviousUpload(e[0]),r.start()}))}))}))}),[H,o]),Tt={submit:gt,submissionStatus:J,submissionRequest:ae,submissionResponse:ie,submissionError:se,submissionEnvironment:i,idFrontImage:ve,idBackImage:ye,passportImage:Re,selfieImage:Te,signatureData:Se,signatureVideoUrl:Ne,idCaptureVideoUrl:Ae,idCaptureVideoIdFrontImage:Fe,idCaptureVideoIdBackImage:ze,additionalDocuments:We,setIdFrontImage:be,setIdBackImage:Ce,setPassportImage:Ee,setSelfieImage:we,setSignatureData:De,setSignatureVideoUrl:Oe,setIdCaptureVideoUrl:Le,setIdCaptureVideoIdFrontImage:Pe,setIdCaptureVideoIdBackImage:Ue,setAdditionalDocuments:Ve,uploadDocument:It,logIdFrontCaptureAttempt:ct,logIdBackCaptureAttempt:ut,logSelfieCaptureAttempt:mt,livenessCheckRequest:pe,checkLiveness:ht,retryLocationAccess:vt};return"MISSING"===yt?React__default.default.createElement(TokenMissingErrorOverlay,null):"INVALID_FORMAT"===yt?React__default.default.createElement(TokenInvalidFormatErrorOverlay,null):"INVALID_SIGNATURE"===yt?React__default.default.createElement(TokenInvalidSignatureErrorOverlay,null):"EXPIRED"===yt?React__default.default.createElement(TokenExpiredErrorOverlay,null):"PUBLIC_KEY_LOAD_FAILED"===yt?React__default.default.createElement(TokenPublicKeyErrorOverlay,{error:Rt}):"ISSUER_NOT_ALLOWED"===yt?React__default.default.createElement(TokenIssuerNotAllowedErrorOverlay,null):React__default.default.createElement(SubmissionContext.Provider,{value:Tt},N&&Je?React__default.default.createElement(GeolocationAccessDeniedOverlay,null):a,se&&React__default.default.createElement(SubmissionErrorOverlay,{error:se,onRetry:bt}))};function str2ab(e){for(var t=new ArrayBuffer(e.length),a=new Uint8Array(t),n=0,r=e.length;n<r;n++)a[n]=e.charCodeAt(n);return t}function importRsaKey(e){if("undefined"==typeof window)throw new Error("window cannot be undefined");var t=e.substring("-----BEGIN PUBLIC KEY-----".length,e.length-"-----END PUBLIC KEY-----".length-1),a=str2ab(window.atob(t));return window.crypto.subtle.importKey("spki",a,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!0,["verify"])}function getNativeBarcodeReaderResult(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return"BarcodeDetector"in window?(t=new BarcodeDetector({formats:["pdf417"]}),console.log("this is a real native result!"),[4,t.detect(e)]):[2,[]];case 1:return[2,a.sent()]}}))}))}function getZxingBarcodeReaderResult(e,t){return void 0===t&&(t=!1),tslib.__awaiter(this,void 0,void 0,(function(){var a,n,r,i,o,l,s,d,c;return tslib.__generator(this,(function(u){switch(u.label){case 0:return[4,new Promise((function(o){if(r=e.naturalWidth,i=e.naturalHeight,a=document.createElement("canvas"),!(n=a.getContext("2d")))return[];if(t){console.log("rotating!!"),a.width=i,a.height=r,n.setTransform(0,1,-1,0,a.width,0),n.drawImage(e,0,0,r,i);var l=new Image;l.width=a.width,l.height=a.height,l.onload=function(){o(l)},a.toBlob((function(e){e&&(l.src=URL.createObjectURL(e))}))}else n.drawImage(e,0,0,a.width,a.height),o(e)}))];case 1:return o=u.sent(),l=new ZXing.BitmapLuminanceSource(n,o),s=new ZXing.Common.HybridBinarizer(l),d=new ZXing.BinaryBitmap(s),c=ZXing.PDF417.PDF417Reader.decode(d,null,!1),n.clearRect(0,0,a.width,a.height),a.remove(),[2,c]}}))}))}function supportsNativeBarcodeScanning(){return"BarcodeDetector"in window}function scanBarcode(e,t){var a=this;return new Promise((function(n){var r=new Image;r.onload=function(){return tslib.__awaiter(a,void 0,void 0,(function(){var e,a,i,o;return tslib.__generator(this,(function(l){switch(l.label){case 0:return supportsNativeBarcodeScanning()?[4,getNativeBarcodeReaderResult(r)]:[3,2];case 1:return a=l.sent(),console.log("native result",a,"".concat(r.width,"x").concat(r.height)),n(a.length>0?tslib.__assign(tslib.__assign({},a[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(i=null==t?void 0:t[2])&&void 0!==i?i:0)<(null!==(o=null==t?void 0:t[3])&&void 0!==o?o:0),[4,getZxingBarcodeReaderResult(r,e)];case 3:a=l.sent(),console.log("zxing result",a),n(a.length>0?tslib.__assign(tslib.__assign({},a[0]),{Source:"zxing"}):null),l.label=4;case 4:return[2]}}))}))},r.src=URL.createObjectURL(e)}))}function getFrameDimensions(e){var t=e.width,a=e.height;return e instanceof HTMLImageElement&&(t=e.naturalWidth,a=e.naturalHeight),e instanceof HTMLVideoElement&&(t=e.videoWidth,a=e.videoHeight),[t,a]}var templateObject_1$C,InvisibleCanvas=styled__default.default.canvas(templateObject_1$C||(templateObject_1$C=tslib.__makeTemplateObject(["\n display: none;\n"],["\n display: none;\n"])));function drawToCanvas(e,t,a,n){if(e){var r=e.getContext("2d");if(r){if(!a||!n){var i=getFrameDimensions(t);a||(a=i[0]),n||(n=i[1])}e.width=a,e.height=n,r.drawImage(t,0,0,a,n)}}}function clearCanvas(e){if(e){var t=e.getContext("2d");t&&t.clearRect(0,0,e.width,e.height)}}function listAvailableCameras(e,t){return void 0===t&&(t=!1),tslib.__awaiter(this,void 0,void 0,(function(){var a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:return[4,navigator.mediaDevices.getUserMedia({video:{facingMode:{exact:e}},audio:t})];case 1:return a=r.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:return n=r.sent().filter((function(e){return"videoinput"===e.kind})),a.getVideoTracks().forEach((function(e){e.enabled=!1,e.stop()})),a=null,[2,n]}}))}))}var currentCamera,frontLabels=["front","avant","anteriore","cameraaanvoorzijde","kamerapåframsidan","forsidekamera","kamerapåforsiden","aparatprzedni","etukamera","kameradepan","ÖnKamera","cameramặttrước","camerăfață","prednákamera","prednjakamera","előlapikamera","přednífotoaparát","μπροστινήκάμερα","переднякамера","передняякамера","преднакамера","алдыңғыкамера","מצלמה קדמית","الكاميرا الأمامية","फ़्रंटकैमरा","前置相机","前置鏡頭","前面カメラ","전면카메라","กล้องด้านหน้า"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),rearLabels=["back","rear","posterior","trasera","traseira","arrière","rückkamera","fotocamera(posteriore)","cameraaanachterzijde","kamerapåbaksidan","kamerapåbaksiden","bagsidekamera","aparattylny","takakamera","arkakamera","kamerabelakang","cameramặtsau","camerăspate","stražnjakamera","zadnákamera","hátoldalikamera","zadnífotoaparát","πίσωκάμερα","заднякамера","Задняякамера","заднакамера","артқыкамера","מצלמה אחורית","الكاميرا الخلفية","बैककैमरा","后置相机","後置鏡頭","背面カメラ","후면카메라","กล้องด้านหลัง"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),backUltraWideLabels=["backdualwidecamera","backultrawidecamera","ultraampliaposterior","ultra-angulartraseira","ultragrandeangulartraseira","ultragrandangle","ultragranangular","ultra-weitwinkelkamera","ultra-grandangolo","ultrabredecameraaanachterzijde","ultravidvinkelkamerapåbaksidan","ultravidvinkelkameraetpåbagsiden","ultravidvinkelkamerabak","ultragenişkameraarkayüzü","ultralaajakulmainentakakamera","tylnyaparatultraszerokokątny","cameracựcrộngmặtsau","camerăcuobiectivultra‑superangularspate","ultraszéleslátószögűkamera","kameraultralebarbelakang","stražnjaultraširokakamera","zadníultraširokoúhlýfotoaparát","ultraširokouhlá","πίσωυπερευρείακάμερα","заднянадширококутнакамера","Задняясверхширокоугольнаякамера","Задна свръх широкоъгълна камера","артқыультракеңбұрыштыкамера","מצלמה אולטרה רחבה אחורית","كاميرا خلفية عريضة جدًا","बैकअल्ट्रावाइडकैमरा","后置超广角相机","後置超廣角鏡頭相機","背面超広角カメラ","후면울트라와이드카메라","กล้องด้านหลังอัลตร้าไวด์"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),labelMatches=function(e,t){var a=e instanceof MediaDeviceInfo?getDeviceLabel(e):e;return("string"==typeof t?[t]:t).some((function(e){return a.includes(e)}))},getDeviceLabel=function(e){return e.label.toLocaleLowerCase().split(" ").join("")};function obtainCameraAccess(e,t,a){releaseCameraAccess(),console.log("obtaining camera access...");var n=e.getVideoTracks()[0].getSettings(),r=n.width,i=n.height,o=t.toLocaleLowerCase().split(" ").join(""),l=labelMatches(o,tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([],rearLabels,!0),backUltraWideLabels,!0),["iphone"],!1));return r||(r=0),i||(i=0),currentCamera={label:t,stream:e,width:r,height:i,isRearFacing:l,release:function(){e.getTracks().forEach((function(e){e.enabled=!1,e.stop()})),a&&(a.pause(),a.srcObject=null,a.src="")}},a&&(a.srcObject=e),currentCamera}function releaseCameraAccess(){currentCamera&&(console.log("releasing camera access..."),currentCamera.release(),currentCamera=void 0)}var documentDetectionModel,useHighestResCaptureDevice=function(e){var t=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1,maxVideoWidth:1920,debugMode:!1}:e,a=t.preferFrontFacingCamera,n=void 0!==a&&a,r=t.preferContinuityCamera,i=void 0===r||r,o=t.requestMicrophoneAccess,l=void 0!==o&&o,s=t.maxVideoWidth,d=t.maxFps,c=t.debugMode,u=void 0!==c&&c,m=React.useRef(null),f=React.useRef(null),p=React.useState(!1),g=p[0],h=p[1],v=React.useState(null),b=v[0],_=v[1],y=React.useState(!1),C=y[0],x=y[1],R=React.useState(!1),E=R[0],I=R[1],T=React.useState(i),w=T[0],M=T[1],S=React.useState(!1),D=S[0],k=S[1],N=React.useState(!1),O=N[0],j=N[1];React.useEffect((function(){u&&console.log("iphone continuity camera allowed changed",w),releaseCameraAccess(),f.current=null,x(!1)}),[u,w]);var A=React.useCallback((function(){j(!1)}),[]);React.useEffect((function(){O||(h(!1),listAvailableCameras().then((function(e){var t,a,r;u&&console.log("availableCameras",e);var i=getPlatform();if(u&&console.log("platformDetails",i),D||(null==i?void 0:i.os)&&"OS X"!==i.os.family)("Android"===(null===(t=null==i?void 0:i.os)||void 0===t?void 0:t.family)||e.every((function(e){return e.label.startsWith("camera2 ")})))&&(e=e.sort((function(e,t){return e.label.toLowerCase().localeCompare(t.label.toLowerCase())})),u&&console.log("cameras have been sorted",e));else{var o=e.find((function(e){return labelMatches(e,"iphone")}));I(!!o),o&&w&&(r=o)}n&&(r=e.find((function(e){return labelMatches(e,frontLabels)}))),r||(r=e.find((function(e){return labelMatches(e,"backtriplecamera")}))),r||(r=e.find((function(e){return labelMatches(e,"backdualcamera")}))),r||(r=e.find((function(e){return labelMatches(e,rearLabels)&&!labelMatches(e,backUltraWideLabels)}))),r||(r=e.find((function(e){return labelMatches(e,rearLabels)}))),!n&&"iOS"===(null===(a=null==i?void 0:i.os)||void 0===a?void 0:a.family)&&e.length>0&&(r||(r=e[1])),r||(r=e[0]),u&&console.log("selectedCamera",r),_(r)})).catch((function(e){if("NotAllowedError"!==e.name)throw console.error("camera access encountered some other error",e),e;console.error("camera access has been blocked by the user",e),j(!0)})))}),[O,w,D,n]),React.useEffect((function(){var e;if(b){var t=function(){releaseCameraAccess(),f.current=null,x(!1)};return(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia)?(tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:e={audio:l,video:{deviceId:{exact:b.deviceId},width:{ideal:s},aspectRatio:1.777777778,frameRate:{}}},d&&(e.video.frameRate={max:d}),t=null,r.label=1;case 1:return r.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia(e)];case 2:return t=r.sent(),[3,4];case 3:return"NotAllowedError"===r.sent().name?(w?(I(!1),k(!0)):j(!0),[2]):[3,4];case 4:if(t)return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 6:return t=r.sent(),console.log("opened stream with no width and height constraints"),[3,8];case 7:return r.sent(),console.log("cannot open stream at all"),[3,8];case 8:if(!t)throw new Error("failed to open camera");return a=function(){E&&w?(console.log("someone unplugged the continuity camera"),releaseCameraAccess(),f.current=null,I(!1),k(!0),_(null)):(console.log("someone unplugged the webcam"),releaseCameraAccess(),f.current=null,x(!1),j(!0))},null===(n=m.current)||void 0===n||n.addEventListener("ended",a),t.getVideoTracks().forEach((function(e){e.onended=a})),f.current=obtainCameraAccess(t,b.label,m.current),[2]}}))})),t):t}}),[w,E,d,s,l,b]),React.useEffect((function(){h(!1),b&&C&&h(!0)}),[C,b]);var L=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return f.current?"undefined"==typeof ImageCapture?[3,2]:[4,new ImageCapture(f.current.stream.getTracks()[0]).takePhoto()]:[2,null];case 1:return[2,t.sent()];case 2:return m.current?(drawToCanvas(e=document.createElement("canvas"),m.current),[2,new Promise((function(t){return e.toBlob(t)}))]):[2,null]}}))}))}),[]);return{videoRef:m,videoDevice:b,videoLoaded:C,setVideoLoaded:x,cameraRef:f,cameraReady:g,cameraAccessDenied:O,retryCameraAccess:A,releaseCameraAccess:releaseCameraAccess,iphoneContinuityCameraAvailable:E,iphoneContinuityCameraAllowed:w,setIphoneContinuityCameraAllowed:M,takePhoto:L}},CameraStateContext=React.createContext({videoRef:{current:null},videoLoaded:!1,cameraRef:{current:null},cameraReady:!1,cameraAccessDenied:!1,retryCameraAccess:function(){return null},releaseCameraAccess:function(){return null},iphoneContinuityCameraAvailable:!1,iphoneContinuityCameraAllowed:!0,setIphoneContinuityCameraAllowed:function(){return null},takePhoto:function(){return Promise.resolve(null)},setVideoLoaded:function(){return null}}),CameraProvider=function(e){var t=e.children,a=e.preferFrontFacingCamera,n=e.preferContinuityCamera,r=e.requestMicrophoneAccess,i=e.maxVideoWidth,o=e.debugMode,l=useHighestResCaptureDevice({preferFrontFacingCamera:void 0!==a&&a,preferContinuityCamera:void 0===n||n,requestMicrophoneAccess:void 0!==r&&r,maxVideoWidth:void 0===i?1920:i,maxFps:e.maxFps,debugMode:void 0!==o&&o}),s=l.videoRef,d=l.videoLoaded,c=l.setVideoLoaded,u=l.cameraRef,m=l.cameraReady,f=l.cameraAccessDenied,p=l.retryCameraAccess,g=l.releaseCameraAccess,h=l.iphoneContinuityCameraAvailable,v=l.iphoneContinuityCameraAllowed,b=l.setIphoneContinuityCameraAllowed,_=l.takePhoto;return React.useEffect((function(){return function(){g()}}),[g]),React__default.default.createElement(CameraStateContext.Provider,{value:{videoRef:s,videoLoaded:d,setVideoLoaded:c,cameraRef:u,cameraReady:m,cameraAccessDenied:f,releaseCameraAccess:g,retryCameraAccess:p,iphoneContinuityCameraAvailable:h,iphoneContinuityCameraAllowed:v,setIphoneContinuityCameraAllowed:b,takePhoto:_}},t)};function loadDocumentDetectionModel(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t,a,n,r,i,o,l;return tslib.__generator(this,(function(s){switch(s.label){case 0:return documentDetectionModel?[2,documentDetectionModel]:[4,tf__namespace.loadGraphModel(e)];case 1:return documentDetectionModel=s.sent(),[4,tf__namespace.ready()];case 2:return s.sent(),t=tf__namespace.zeros([448,448,3]),a=tf__namespace.cast(t,"int32"),n=tf__namespace.tensor4d(Array.from(a.dataSync()),[1,448,448,3]),r=tf__namespace.cast(n,"int32"),o=(i=tf__namespace).dispose,[4,documentDetectionModel.executeAsync(r)];case 3:return o.apply(i,[s.sent()]),a.dispose(),r.dispose(),n.dispose(),tf__namespace.dispose(t),l=documentDetectionModel.outputs.map((function(e){return e.name})),documentDetectionModel.outputPositions={boxes:l.indexOf("Identity_1"),scores:l.indexOf("Identity_4"),labels:l.indexOf("Identity_2")},[2,documentDetectionModel]}}))}))}var focusModel,labelMap={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function bboxToDetectedObjectUnscaled(e,t,a){var n=e[0],r=e[1];return{score:t,bbox:[r,n,e[3]-r,e[2]-n],label:labelMap[a]}}function loadFocusModel(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t,a,n,r,i,o,l,s,d;return tslib.__generator(this,(function(c){switch(c.label){case 0:return focusModel?[2,focusModel]:[4,tf__namespace.loadLayersModel(e)];case 1:return focusModel=c.sent(),[4,tf__namespace.ready()];case 2:return c.sent(),t=tf__namespace.zeros([448,448,3]),a=tf__namespace.cast(t,"float32"),i=(r=tf__namespace).tensor4d,l=(o=Array).from,[4,a.data()];case 3:return n=i.apply(r,[l.apply(o,[c.sent()]),[1,448,448,3]]),s=tf__namespace.cast(n,"float32"),[4,focusModel.predict(s)];case 4:return[4,(d=c.sent()).data()];case 5:return c.sent(),tf__namespace.dispose(d),a.dispose(),s.dispose(),n.dispose(),tf__namespace.dispose(t),[2,focusModel]}}))}))}const EPSILON_FLOAT32=1e-7,EPSILON_FLOAT16=1e-4;class KernelBackend{refCount(e){return notYetImplemented("refCount")}incRef(e){return notYetImplemented("incRef")}timerAvailable(){return!0}time(e){return notYetImplemented("time")}read(e){return notYetImplemented("read")}readSync(e){return notYetImplemented("readSync")}readToGPU(e,t){return notYetImplemented("readToGPU")}numDataIds(){return notYetImplemented("numDataIds")}disposeData(e,t){return notYetImplemented("disposeData")}write(e,t,a){return notYetImplemented("write")}move(e,t,a,n,r){return notYetImplemented("move")}createTensorFromGPUData(e,t,a){return notYetImplemented("createTensorFromGPUData")}memory(){return notYetImplemented("memory")}floatPrecision(){return notYetImplemented("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return notYetImplemented("dispose")}}function notYetImplemented(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function assert(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function sizeFromShape(e){if(0===e.length)return 1;let t=e[0];for(let a=1;a<e.length;a++)t*=e[a];return t}function arraysEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++)if(e[a]!==t[a])return!1;return!0}function rightPad(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function getArrayFromDType(e,t){let a=null;if(null==e||"float32"===e)a=new Float32Array(t);else if("int32"===e)a=new Int32Array(t);else if("bool"===e)a=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);a=new Array(t)}return a}function checkConversionForErrors(e,t){for(let a=0;a<e.length;a++){const n=e[a];if(isNaN(n)||!isFinite(n))throw Error(`A tensor of type ${t} being uploaded contains ${n}.`)}}function isValidDtype(e){return"bool"===e||"complex64"===e||"float32"===e||"int32"===e||"string"===e}function bytesPerElement(e){if("float32"===e||"int32"===e)return 4;if("complex64"===e)return 8;if("bool"===e)return 1;throw new Error(`Unknown dtype ${e}`)}function bytesFromStringArray(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}function isString(e){return"string"==typeof e||e instanceof String}function isBoolean(e){return"boolean"==typeof e}function isNumber(e){return"number"==typeof e}function inferDtype(e){return Array.isArray(e)?inferDtype(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":isNumber(e)?"float32":isString(e)?"string":isBoolean(e)?"bool":"float32"}function isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}function computeStrides(e){const t=e.length;if(t<2)return[];const a=new Array(t-1);a[t-2]=e[t-1];for(let n=t-3;n>=0;--n)a[n]=a[n+1]*e[n+1];return a}function createNestedArray(e,t,a,n=!1){const r=new Array;if(1===t.length){const i=t[0]*(n?2:1);for(let t=0;t<i;t++)r[t]=a[e+t]}else{const i=t[0],o=t.slice(1),l=o.reduce(((e,t)=>e*t))*(n?2:1);for(let t=0;t<i;t++)r[t]=createNestedArray(e+t*l,o,a,n)}return r}function toNestedArray(e,t,a=!1){if(0===e.length)return t[0];const n=e.reduce(((e,t)=>e*t))*(a?2:1);if(0===n)return[];if(n!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${a?" for a complex tensor":""}.`);return createNestedArray(0,e,t,a)}function makeOnesTypedArray(e,t){const a=makeZerosTypedArray(e,t);for(let e=0;e<a.length;e++)a[e]=1;return a}function makeZerosTypedArray(e,t){if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t)return new Uint8Array(e);throw new Error(`Unknown data type ${t}`)}function assertNonNegativeIntegerDimensions(e){e.forEach((t=>{assert(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function isPromise(e){return e&&e.then&&"function"==typeof e.then}const TENSORFLOWJS_FLAGS_PREFIX="tfjsflags";class Environment{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=getQueryParams,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&(env().getBool("IS_TEST")||env().getBool("PROD")||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,a){if(this.flagRegistry[e]={evaluationFn:t,setHook:a},null!=this.urlFlags[e]){const t=this.urlFlags[e];env().getBool("IS_TEST")||env().getBool("PROD")||console.warn(`Setting feature override from URL ${e}: ${t}.`),this.set(e,t)}}async getAsync(e){return e in this.flags||(this.flags[e]=await this.evaluateFlag(e)),this.flags[e]}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(isPromise(t))throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(null==this.flagRegistry[e])throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,null!=this.flagRegistry[e].setHook&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(null==this.flagRegistry[e])throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(void 0===this.global||void 0===this.global.location||void 0===this.global.location.search)return;const e=this.getQueryParams(this.global.location.search);if("tfjsflags"in e){e.tfjsflags.split(",").forEach((e=>{const[t,a]=e.split(":");this.urlFlags[t]=parseValue(t,a)}))}}}function getQueryParams(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...a)=>(decodeParam(t,a[0],a[1]),a.join("=")))),t}function decodeParam(e,t,a){e[decodeURIComponent(t)]=decodeURIComponent(a||"")}function parseValue(e,t){const a=t.toLowerCase();return"true"===a||"false"===a?"true"===a:""+ +a===a?+a:t}function env(){return ENV$1}let globalNameSpace,ENV$1=null;function setEnvironmentGlobal(e){ENV$1=e}function getGlobalNamespace(){if(null==globalNameSpace){let e;if("undefined"!=typeof window)e=window;else if("undefined"!=typeof global)e=global;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}globalNameSpace=e}return globalNameSpace}function getGlobalMap(){const e=getGlobalNamespace();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}function getGlobal(e,t){const a=getGlobalMap();if(a.has(e))return a.get(e);{const n=t();return a.set(e,n),a.get(e)}}const Abs="Abs",Add="Add",Cast="Cast",ComplexAbs="ComplexAbs",RealDiv="RealDiv",Fill="Fill",FloorDiv="FloorDiv",Identity="Identity",Maximum="Maximum",Multiply="Multiply",Pow="Pow",Sqrt="Sqrt",Sub="Sub",ZerosLike="ZerosLike";function warn(...e){env().getBool("IS_TEST")||env().getBool("PROD")||console.warn(...e)}const kernelRegistry=getGlobal("kernelRegistry",(()=>new Map)),gradRegistry=getGlobal("gradRegistry",(()=>new Map));function getKernel(e,t){const a=makeKey(e,t);return kernelRegistry.get(a)}function getGradient(e){return gradRegistry.get(e)}function getKernelsForBackend(e){const t=kernelRegistry.entries(),a=[];for(;;){const{done:n,value:r}=t.next();if(n)break;const[i,o]=r,[l]=i.split("_");l===e&&a.push(o)}return a}function makeKey(e,t){return`${t}_${e}`}function isTypedArrayBrowser(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function noConversionNeeded(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}function toTypedArray(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=flatten(e)),env().getBool("DEBUG")&&checkConversionForErrors(e,t),noConversionNeeded(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let a=0;a<t.length;++a)0!==Math.round(e[a])&&(t[a]=1);return t}throw new Error(`Unknown data type ${t}`)}function now(){return env().platform.now()}function encodeString(e,t="utf-8"){return t=t||"utf-8",env().platform.encode(e,t)}function decodeString(e,t="utf-8"){return t=t||"utf-8",env().platform.decode(e,t)}function isTypedArray(e){return null!=env().platform.isTypedArray?env().platform.isTypedArray(e):isTypedArrayBrowser(e)}function flatten(e,t=[],a=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||isPromise(e)||null==e||isTypedArray(e)&&a)t.push(e);else if(Array.isArray(e)||isTypedArray(e))for(let n=0;n<e.length;++n)flatten(e[n],t,a);else{let n=-1;for(const t of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(t)&&(n=Math.max(n,Number(t)));for(let r=0;r<=n;r++)flatten(e[r],t,a)}return t}class Profiler{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new Logger)}profileKernel(e,t,a){let n;const r=()=>{n=a()};let i;const o=now();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(r);else{r();for(const e of n)e.dataSync();i=Promise.resolve({kernelMs:now()-o})}if(env().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<n.length;t++){const a=n[t];a.data().then((t=>{checkComputationForErrors(t,a.dtype,e)}))}return{kernelName:e,outputs:n,inputs:t,timeMs:i.then((e=>e.kernelMs)),extraInfo:i.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:a,timeMs:n,inputs:r,extraInfo:i}=e;a.forEach((e=>{Promise.all([e.data(),n,i]).then((a=>{this.logger.logKernelProfile(t,e,a[0],a[1],r,a[2])}))}))}}function checkComputationForErrors(e,t,a){if("float32"!==t)return!1;for(let t=0;t<e.length;t++){const n=e[t];if(isNaN(n)||!isFinite(n))return console.warn(`Found ${n} in the result of '${a}'`),!0}return!1}class Logger{logKernelProfile(e,t,a,n,r,i){const o="number"==typeof n?rightPad(`${n}ms`,9):n.error,l=rightPad(e,25),s=t.rank,d=t.size,c=rightPad(t.shape.toString(),14);let u="";for(const e in r){const a=r[e];if(null!=a){const n=a.shape||t.shape,r=n.length;u+=`${e}: ${r}D ${r>0?n:""} `}}console.log(`%c${l}\t%c${o}\t%c${s}D ${c}\t%c${d}\t%c${u}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function getFilteredNodesXToY(e,t,a){const n={},r={};for(let e=0;e<t.length;e++)n[t[e].id]=!0;for(let a=0;a<e.length;a++){const i=e[a],o=i.inputs;for(const e in o){const a=o[e];let l=!1;for(let e=0;e<t.length;e++)if(n[a.id]){i.outputs.forEach((e=>n[e.id]=!0)),l=!0,r[i.id]=!0;break}if(l)break}}const i={};i[a.id]=!0;const o={};for(let t=e.length-1;t>=0;t--){const a=e[t],n=a.inputs;for(let e=0;e<a.outputs.length;e++)if(i[a.outputs[e].id]){for(const e in n)i[n[e].id]=!0,o[a.id]=!0;break}}const l=[];for(let t=0;t<e.length;t++){const a=e[t];if(r[a.id]&&o[a.id]){const e={};for(const t in a.inputs){const r=a.inputs[t];n[r.id]&&(e[t]=r)}const t=Object.assign({},a);t.inputs=e,t.outputs=a.outputs,l.push(t)}}return l}function backpropagateGradients(e,t,a,n){for(let r=t.length-1;r>=0;r--){const i=t[r],o=[];if(i.outputs.forEach((t=>{const a=e[t.id];o.push(null!=a?a:null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const l=i.gradient(o);for(const t in i.inputs){if(!(t in l))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(l)}.`);const r=a((()=>l[t]()));if("float32"!==r.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${r.dtype}'`);const o=i.inputs[t];if(!arraysEqual(r.shape,o.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${t}' has shape '${r.shape}', which does not match the shape of the input '${o.shape}'`);if(null==e[o.id])e[o.id]=r;else{const t=e[o.id];e[o.id]=n(t,r),t.dispose()}}}}const FORMAT_LIMIT_NUM_VALS=20,FORMAT_NUM_FIRST_LAST_VALS=3,FORMAT_NUM_SIG_DIGITS=7;function tensorToString(e,t,a,n){const r=computeStrides(t),i=computeMaxSizePerColumn(e,t,a,r),o=t.length,l=subTensorToString(e,t,a,r,i),s=["Tensor"];return n&&(s.push(` dtype: ${a}`),s.push(` rank: ${o}`),s.push(` shape: [${t}]`),s.push(" values:")),s.push(l.map((e=>" "+e)).join("\n")),s.join("\n")}function computeMaxSizePerColumn(e,t,a,n){const r=sizeFromShape(t),i=n[n.length-1],o=new Array(i).fill(0),l=t.length,s="complex64"===a?createComplexTuples(e):e;if(l>1)for(let e=0;e<r/i;e++){const t=e*i;for(let e=0;e<i;e++)o[e]=Math.max(o[e],valToString(s[t+e],0,a).length)}return o}function valToString(e,t,a){let n;return n=Array.isArray(e)?`${parseFloat(e[0].toFixed(FORMAT_NUM_SIG_DIGITS))} + ${parseFloat(e[1].toFixed(FORMAT_NUM_SIG_DIGITS))}j`:isString(e)?`'${e}'`:"bool"===a?boolNumToString(e):parseFloat(e.toFixed(FORMAT_NUM_SIG_DIGITS)).toString(),rightPad(n,t)}function boolNumToString(e){return 0===e?"false":"true"}function subTensorToString(e,t,a,n,r,i=!0){const o="complex64"===a?2:1,l=t[0],s=t.length;if(0===s){if("complex64"===a){return[valToString(createComplexTuples(e)[0],0,a)]}return"bool"===a?[boolNumToString(e[0])]:[e[0].toString()]}if(1===s){if(l>FORMAT_LIMIT_NUM_VALS){let t=Array.from(e.slice(0,FORMAT_NUM_FIRST_LAST_VALS*o)),n=Array.from(e.slice((l-FORMAT_NUM_FIRST_LAST_VALS)*o,l*o));return"complex64"===a&&(t=createComplexTuples(t),n=createComplexTuples(n)),["["+t.map(((e,t)=>valToString(e,r[t],a))).join(", ")+", ..., "+n.map(((e,t)=>valToString(e,r[l-FORMAT_NUM_FIRST_LAST_VALS+t],a))).join(", ")+"]"]}return["["+("complex64"===a?createComplexTuples(e):Array.from(e)).map(((e,t)=>valToString(e,r[t],a))).join(", ")+"]"]}const d=t.slice(1),c=n.slice(1),u=n[0]*o,m=[];if(l>FORMAT_LIMIT_NUM_VALS){for(let t=0;t<FORMAT_NUM_FIRST_LAST_VALS;t++){const n=t*u;m.push(...subTensorToString(e.slice(n,n+u),d,a,c,r,!1))}m.push("...");for(let t=l-FORMAT_NUM_FIRST_LAST_VALS;t<l;t++){const n=t*u;m.push(...subTensorToString(e.slice(n,n+u),d,a,c,r,t===l-1))}}else for(let t=0;t<l;t++){const n=t*u;m.push(...subTensorToString(e.slice(n,n+u),d,a,c,r,t===l-1))}const f=2===s?",":"";m[0]="["+(l>0?m[0]+f:"");for(let e=1;e<m.length-1;e++)m[e]=" "+m[e]+f;let p=",\n";for(let e=2;e<s;e++)p+="\n";return m[m.length-1]=" "+m[m.length-1]+"]"+(i?"":p),m}function createComplexTuples(e){const t=[];for(let a=0;a<e.length;a+=2)t.push([e[a],e[a+1]]);return t}class TensorBuffer{constructor(e,t,a){if(this.dtype=t,this.shape=e.slice(),this.size=sizeFromShape(e),null!=a){const e=a.length;assert(e===this.size,(()=>`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=a||getArrayFromDType(t,this.size),this.strides=computeStrides(e)}set(e,...t){0===t.length&&(t=[0]),assert(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const a=this.locToIndex(t);this.values[a]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const a of e){if(a<0||a>=this.shape[t]){throw new Error(`Requested out of range element at ${e}. Buffer shape=${this.shape}`)}t++}let a=e[e.length-1];for(let t=0;t<e.length-1;++t)a+=this.strides[t]*e[t];return this.values[a]}locToIndex(e){if(0===this.rank)return 0;if(1===this.rank)return e[0];let t=e[e.length-1];for(let a=0;a<e.length-1;++a)t+=this.strides[a]*e[a];return t}indexToLoc(e){if(0===this.rank)return[];if(1===this.rank)return[e];const t=new Array(this.shape.length);for(let a=0;a<t.length-1;++a)t[a]=Math.floor(e/this.strides[a]),e-=t[a]*this.strides[a];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return trackerFn().makeTensor(this.values,this.shape,this.dtype)}}let trackerFn=null,opHandler$1=null;function setTensorTracker(e){trackerFn=e}function setOpHandler(e){opHandler$1=e}class Tensor{constructor(e,t,a,n){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=sizeFromShape(e),this.strides=computeStrides(e),this.dataId=a,this.id=n,this.rankType=this.rank<5?this.rank.toString():"higher"}get rank(){return this.shape.length}async buffer(){const e=await this.data();return opHandler$1.buffer(this.shape,this.dtype,e)}bufferSync(){return opHandler$1.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return toNestedArray(this.shape,e,"complex64"===this.dtype)}arraySync(){return toNestedArray(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=trackerFn().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>decodeString(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),trackerFn().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=trackerFn().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>decodeString(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await trackerFn().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(trackerFn().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return opHandler$1.print(this,e)}clone(){return this.throwIfDisposed(),opHandler$1.clone(this)}toString(e=!1){return tensorToString(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),opHandler$1.cast(this,e)}variable(e=!0,t,a){return this.throwIfDisposed(),trackerFn().makeVariable(this,e,t,a)}}function getGlobalTensorClass(){return getGlobal("Tensor",(()=>Tensor))}Object.defineProperty(Tensor,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),getGlobalTensorClass();class Variable extends Tensor{constructor(e,t,a,n){super(e.shape,e.dtype,e.dataId,n),this.trainable=t,this.name=a}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!arraysEqual(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);trackerFn().disposeTensor(this),this.dataId=e.dataId,trackerFn().incRef(this,null)}dispose(){trackerFn().disposeVariable(this),this.isDisposedInternal=!0}}var Rank,UpcastInt32AndMap,UpcastBoolAndMap,UpcastFloat32AndMap,UpcastComplex64AndMap;Object.defineProperty(Variable,Symbol.hasInstance,{value:e=>e instanceof Tensor&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(Rank||(Rank={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(UpcastInt32AndMap||(UpcastInt32AndMap={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(UpcastBoolAndMap||(UpcastBoolAndMap={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(UpcastFloat32AndMap||(UpcastFloat32AndMap={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(UpcastComplex64AndMap||(UpcastComplex64AndMap={}));const upcastTypeMap={float32:UpcastFloat32AndMap,int32:UpcastInt32AndMap,bool:UpcastBoolAndMap,complex64:UpcastComplex64AndMap};function upcastType(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return upcastTypeMap[e][t]}function isWebGLData(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function isWebGPUData(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function makeTypesMatch(e,t){if(e.dtype===t.dtype)return[e,t];const a=upcastType(e.dtype,t.dtype);return[e.cast(a),t.cast(a)]}function getTensorsInContainer(e){const t=[];return walkTensorContainer(e,t,new Set),t}function walkTensorContainer(e,t,a){if(null==e)return;if(e instanceof Tensor)return void t.push(e);if(!isIterable(e))return;const n=e;for(const e in n){const r=n[e];a.has(r)||(a.add(r),walkTensorContainer(r,t,a))}}function isIterable(e){return Array.isArray(e)||"object"==typeof e}function isRegisteredKernelInvocation(e){return null!=e.kernelName}class EngineState{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class Engine{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new EngineState}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const a=e[t];if(await this.initializeBackend(a).success)return void await this.setBackend(a)}throw new Error("Could not initialize any backends, all backend initializations failed.")}get backend(){if(null!=this.pendingBackendInit)throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);if(null==this.backendInstance){const{name:e,asyncInit:t}=this.initializeBackendsAndReturnBest();if(t)throw new Error(`The highest priority backend '${e}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);this.setBackend(e)}return this.backendInstance}backendNames(){return Object.keys(this.registryFactory)}findBackend(e){if(!(e in this.registry)){if(!(e in this.registryFactory))return null;{const{asyncInit:t}=this.initializeBackend(e);if(t)return null}}return this.registry[e]}findBackendFactory(e){return e in this.registryFactory?this.registryFactory[e].factory:null}registerBackend(e,t,a=1){return e in this.registryFactory?(warn(`${e} backend was already registered. Reusing existing backend factory.`),!1):(this.registryFactory[e]={factory:t,priority:a},!0)}async setBackend(e){if(null==this.registryFactory[e])throw new Error(`Backend name '${e}' not found in registry`);if(this.backendName=e,null==this.registry[e]){this.backendInstance=null;const{success:t,asyncInit:a}=this.initializeBackend(e);if(!(a?await t:t))return!1}return this.backendInstance=this.registry[e],this.setupRegisteredKernels(),this.profiler=new Profiler(this.backendInstance),!0}setupRegisteredKernels(){getKernelsForBackend(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){getKernelsForBackend(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const a=t.factory();if(!a||a instanceof KernelBackend||"function"!=typeof a.then)return this.registry[e]=a,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,n=a.then((a=>!(t<this.pendingBackendInitId)&&(this.registry[e]=a,this.pendingBackendInit=null,!0))).catch((a=>(t<this.pendingBackendInitId||(this.pendingBackendInit=null,warn(`Initialization of backend ${e} failed`),warn(a.stack||a.message)),!1)));return this.pendingBackendInit=n,{success:n,asyncInit:!0}}}catch(t){return warn(`Initialization of backend ${e} failed`),warn(t.stack||t.message),{success:!1,asyncInit:!1}}}removeBackend(e){if(!(e in this.registryFactory))throw new Error(`${e} backend not found in registry`);this.backendName===e&&null!=this.pendingBackendInit&&this.pendingBackendInitId++,e in this.registry&&(this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e]),delete this.registryFactory[e],this.backendName===e&&(this.pendingBackendInit=null,this.backendName=null,this.backendInstance=null)}getSortedBackends(){if(0===Object.keys(this.registryFactory).length)throw new Error("No backend found in registry.");return Object.keys(this.registryFactory).sort(((e,t)=>this.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const a=e[t],{success:n,asyncInit:r}=this.initializeBackend(a);if(r||n)return{name:a,asyncInit:r}}throw new Error("Could not initialize any backends, all backend initializations failed.")}moveData(e,t){const a=this.state.tensorInfo.get(t),n=a.backend,r=this.readSync(t),i=n.refCount(t);n.disposeData(t,!0),a.backend=e,e.move(t,r,a.shape,a.dtype,i),this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack[this.state.numDataMovesStack.length-1]++}tidy(e,t){let a,n=null;if(null==t){if("function"!=typeof e)throw new Error("Please provide a function to tidy()");t=e}else{if("string"!=typeof e&&!(e instanceof String))throw new Error("When calling with two arguments, the first argument to tidy() must be a string");if("function"!=typeof t)throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function");n=e}return this.scopedRun((()=>this.startScope(n)),(()=>this.endScope(a)),(()=>(a=t(),a instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),a)))}scopedRun(e,t,a){e();try{const e=a();return t(),e}catch(e){throw t(),e}}nextTensorId(){return Engine.nextTensorId++}nextVariableId(){return Engine.nextVariableId++}clone(e){const t=ENGINE.runKernel(Identity,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>ENGINE.runKernel(Cast,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,a){if(!(null!=getKernel(e,this.backendName)))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:a})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,a){const n=this.backend.numDataIds();let r=0;a.forEach((e=>{r+="complex64"===e.dtype?3:1}));const i=n-t-r-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,a=[];const n=this.isTapeOn(),r=this.state.numBytes,i=this.state.numTensors;let o,l;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const s=isRegisteredKernelInvocation(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(isRegisteredKernelInvocation(e)){const{kernelName:t,inputs:r,attrs:i}=e,s=getKernel(t,this.backendName);assert(null!=s,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),o=()=>{const e=this.backend.numDataIds();l=s.kernelFunc({inputs:r,attrs:i,backend:this.backend});const o=Array.isArray(l)?l:[l];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,o);const d=o.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(n){const e=this.getTensorsForGradient(t,r,d);a=this.saveTensorsForBackwardMode(e)}return d}}else{const{forwardFunc:t}=e,r=e=>{n&&(a=e.map((e=>this.keep(this.clone(e)))))};o=()=>{const e=this.backend.numDataIds();l=this.tidy((()=>t(this.backend,r)));const a=Array.isArray(l)?l:[l];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(s,e,a),a}}const{inputs:d,attrs:c}=e,u=isRegisteredKernelInvocation(e)?null:e.backwardsFunc;let m;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(m=this.profiler.profileKernel(s,d,(()=>o())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(m),t=m.outputs):t=o()})),n&&this.addTapeNode(s,d,t,u,a,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:s,bytesAdded:this.state.numBytes-r,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(d).map((e=>null!=d[e]?d[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:m.timeMs,extraInfo:m.extraInfo}),Array.isArray(l)?t:t[0]}saveTensorsForBackwardMode(e){return e.map((e=>this.keep(this.clone(e))))}getTensorsForGradient(e,t,a){const n=getGradient(e);if(null!=n){const e=n.inputsToSave||[],r=n.outputsToSave||[];let i;n.saveAllInputs?(assert(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(t).map((e=>t[e]))):i=e.map((e=>t[e]));const o=a.filter(((e,t)=>r[t]));return i.concat(o)}return[]}makeTensor(e,t,a,n){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");n=n||this.backend;let r=e;"string"===(a=a||"float32")&&isString(e[0])&&(r=e.map((e=>encodeString(e))));const i=n.write(r,t,a),o=new Tensor(t,a,i,this.nextTensorId());if(this.trackTensor(o,n),"string"===a){const e=this.state.tensorInfo.get(i),t=bytesFromStringArray(r);this.state.numBytes+=t-e.bytes,e.bytes=t}return o}makeTensorFromDataId(e,t,a,n){return this.makeTensorFromTensorInfo({dataId:e,shape:t,dtype:a=a||"float32"},n)}makeTensorFromTensorInfo(e,t){const{dataId:a,shape:n,dtype:r}=e,i=new Tensor(n,r,a,this.nextTensorId());return this.trackTensor(i,t),i}makeVariable(e,t=!0,a,n){a=a||this.nextVariableId().toString(),null!=n&&n!==e.dtype&&(e=e.cast(n));const r=new Variable(e,t,a,this.nextTensorId());if(null!=this.state.registeredVariables[r.name])throw new Error(`Variable with name ${r.name} was already registered`);return this.state.registeredVariables[r.name]=r,this.incRef(r,this.backend),r}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let a=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(a=e.size*bytesPerElement(e.dtype)),this.state.numBytes+=a,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:a})),e instanceof Variable||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*bytesPerElement(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){this.disposeVariable(this.state.registeredVariables[e])}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,a=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-a;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,a,n,r,i){const o={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:a,saved:r},l=getGradient(e);null!=l&&(n=l.gradFunc),null!=n&&(o.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=a[t],n=makeZerosTypedArray(e.size,e.dtype);return this.makeTensor(n,e.shape,e.dtype)}return e})),n(e.length>1?e:e[0],r,i))),this.state.activeTape.push(o)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=getTensorsInContainer(e),a=new Set(t.map((e=>e.id)));for(let e=0;e<this.state.activeScope.track.length;e++){const t=this.state.activeScope.track[e];t.kept||a.has(t.id)||t.dispose()}const n=this.state.scopeStack.pop();this.state.activeScope=0===this.state.scopeStack.length?null:this.state.scopeStack[this.state.scopeStack.length-1],t.forEach((e=>{e.kept||e.scopeId!==n.id||this.track(e)}))}gradients(e,t,a,n=!1){if(assert(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=a&&"float32"!==a.dtype)throw new Error(`dy must have 'float32' dtype, but has '${a.dtype}'`);const r=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));assert(r instanceof Tensor,(()=>"The result y returned by f() must be a tensor."));const i=getFilteredNodesXToY(this.state.activeTape,t,r);if(!n&&0===i.length&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[r.id]=null==a?ones(r.shape):a,backpropagateGradients(e,i,(e=>this.tidy(e)),add$1);const n=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:r,grads:n}}))}customGrad(e){return assert(isFunction(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let a;assert(t.every((e=>e instanceof Tensor)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const n={};t.forEach(((e,t)=>{n[t]=e}));return this.runKernelFunc({forwardFunc:(n,r)=>(a=e(...t,r),assert(a.value instanceof Tensor,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),assert(isFunction(a.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),a.value),backwardsFunc:(e,n)=>{const r=a.gradFunc(e,n),i=Array.isArray(r)?r:[r];assert(i.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),assert(i.every((e=>e instanceof Tensor)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const o={};return i.forEach(((e,t)=>{o[t]=()=>e})),o},inputs:n})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=now(),a=await this.backend.time(e);return a.wallMs=now()-t,a}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new EngineState;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function ones(e){const t=makeOnesTypedArray(sizeFromShape(e),"float32");return ENGINE.makeTensor(t,e,"float32")}function getOrMakeEngine(){const e=getGlobalNamespace();if(null==e._tfengine){const t=new Environment(e);e._tfengine=new Engine(t)}return setEnvironmentGlobal(e._tfengine.ENV),setTensorTracker((()=>e._tfengine)),e._tfengine}Engine.nextTensorId=0,Engine.nextVariableId=0;const ENGINE=getOrMakeEngine();function add$1(e,t){return ENGINE.runKernel(Add,{a:e,b:t})}function _isNavigatorDefined(){return"undefined"!=typeof navigator&&null!=navigator}let isMobileMockValue;function isMobile(e){if(void 0!==isMobileMockValue)return isMobileMockValue;if(e||_isNavigatorDefined()){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}function isBrowser(){return"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope}const ENV=env();function inferShape(e,t){let a=e;if(isTypedArray(e))return"string"===t?[]:[e.length];if(isWebGLData(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(isWebGPUData(e))return[e.buffer.size/(null==t?4:bytesPerElement(t))];if(!Array.isArray(e))return[];const n=[];for(;Array.isArray(a)||isTypedArray(a)&&"string"!==t;)n.push(a.length),a=a[0];return Array.isArray(e)&&env().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&deepAssertShapeConsistency(e,n,[]),n}function deepAssertShapeConsistency(e,t,a){if(a=a||[],!Array.isArray(e)&&!isTypedArray(e))return void assert(0===t.length,(()=>`Element arr[${a.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));assert(t.length>0,(()=>`Element arr[${a.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),assert(e.length===t[0],(()=>`Element arr[${a.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const n=t.slice(1);for(let t=0;t<e.length;++t)deepAssertShapeConsistency(e[t],n,a.concat(t))}function assertDtype(e,t,a,n){if("string_or_numeric"!==e){if(null==e)throw new Error("Expected dtype cannot be null.");if("numeric"!==e&&e!==t||"numeric"===e&&"string"===t)throw new Error(`Argument '${a}' passed to '${n}' must be ${e} tensor, but got ${t} tensor`)}}function convertToTensor(e,t,a,n="numeric"){if(e instanceof Tensor)return assertDtype(n,e.dtype,t,a),e;let r=inferDtype(e);if("string"!==r&&["bool","int32","float32"].indexOf(n)>=0&&(r=n),assertDtype(n,r,t,a),null==e||!isTypedArray(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){throw new Error(`Argument '${t}' passed to '${a}' must be a Tensor or TensorLike, but got '${null==e?"null":e.constructor.name}'`)}const i=inferShape(e,r);isTypedArray(e)||Array.isArray(e)||(e=[e]);const o="string"!==r?toTypedArray(e,r):flatten(e,[],!0);return ENGINE.makeTensor(o,i,r)}ENV.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),ENV.registerFlag("IS_BROWSER",(()=>isBrowser())),ENV.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),ENV.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),ENV.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),ENV.registerFlag("PROD",(()=>!1)),ENV.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>ENV.getBool("DEBUG"))),ENV.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),ENV.registerFlag("IS_TEST",(()=>!1)),ENV.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>ENV.getBool("DEBUG"))),ENV.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),ENV.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),ENV.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));const OP_SCOPE_SUFFIX="__op";function op(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let a=t[0];const n=e[a];a.endsWith("_")&&(a=a.substring(0,a.length-1)),a+="__op";const r=(...e)=>{ENGINE.startScope(a);try{const t=n(...e);return isPromise(t)&&console.error("Cannot return a Promise inside of tidy."),ENGINE.endScope(t),t}catch(e){throw ENGINE.endScope(null),e}};return Object.defineProperty(r,"name",{value:a,configurable:!0}),r}function makeTensor(e,t,a,n){if(null==n)n=inferDtype(e);else if("complex64"===n)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(isWebGPUData(e)||isWebGLData(e)){if("float32"!==n&&"int32"!==n)throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${n}.`);return ENGINE.backend.createTensorFromGPUData(e,t||a,n)}if(!isTypedArray(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){assertNonNegativeIntegerDimensions(t);const e=sizeFromShape(t),n=sizeFromShape(a);assert(e===n,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${n}`));for(let e=0;e<a.length;++e){const n=e!==a.length-1||a[e]!==sizeFromShape(t.slice(e));assert(a[e]===t[e]||!n,(()=>`Error creating a new Tensor. Inferred shape (${a}) does not match the provided shape (${t}). `))}}return isTypedArray(e)||Array.isArray(e)||(e=[e]),t=t||a,e="string"!==n?toTypedArray(e,n):flatten(e,[],!0),ENGINE.makeTensor(e,t,n)}class CompositeArrayBuffer{static join(e){return new CompositeArrayBuffer(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>isTypedArray(e)?e.buffer:e))).length)return;this.bufferUniformSize=e[0].byteLength;let t=0;for(let a=0;a<e.length;a++){const n=e[a];a!==e.length-1&&n.byteLength!==this.bufferUniformSize&&(this.bufferUniformSize=void 0);const r=t+n.byteLength;this.shards.push({buffer:n,start:t,end:r}),t=r}0===this.shards.length&&(this.byteLength=0),this.byteLength=this.shards[this.shards.length-1].end}slice(e=0,t=this.byteLength){if(0===this.shards.length)return new ArrayBuffer(0);if(e=isNaN(Number(e))?0:e,t=isNaN(Number(t))?0:t,e=Math.max(0,e),(t=Math.min(this.byteLength,t))<=e)return new ArrayBuffer(0);const a=this.findShardForByte(e);if(-1===a)throw new Error(`Could not find start shard for byte ${e}`);const n=new ArrayBuffer(t-e),r=new Uint8Array(n);let i=0;for(let n=a;n<this.shards.length;n++){const a=this.shards[n],o=e+i-a.start,l=i,s=Math.min(t,a.end),d=new Uint8Array(a.buffer,o,s-a.start-o);if(r.set(d,l),i+=d.length,t<a.end)break}return n}findShardForByte(e){if(0===this.shards.length||e<0||e>=this.byteLength)return-1;if(null!=this.bufferUniformSize)return this.previousShardIndex=Math.floor(e/this.bufferUniformSize),this.previousShardIndex;function t(t){return e<t.start?-1:e>=t.end?1:0}if(0===t(this.shards[this.previousShardIndex]))return this.previousShardIndex;const a=search(this.shards,t);return-1===a?-1:(this.previousShardIndex=a,this.previousShardIndex)}}function search(e,t){let a=0,n=e.length;for(;a<=n;){const r=Math.floor((n-a)/2)+a,i=t(e[r]);if(0===i)return r;i<0?n=r:a=r+1}return-1}const useNodeBuffer="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function stringByteLength(e){return useNodeBuffer?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function arrayBufferToBase64String(e){if(useNodeBuffer)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let a="";for(let e=0,n=t.length;e<n;e++)a+=String.fromCharCode(t[e]);return btoa(a)}function base64StringToArrayBuffer(e){if(useNodeBuffer){const t=Buffer.from(e,"base64");return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}const t=atob(e),a=new Uint8Array(t.length);for(let e=0;e<t.length;++e)a.set([t.charCodeAt(e)],e);return a.buffer}function getModelArtifactsInfoForJSON(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:stringByteLength(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:stringByteLength(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new CompositeArrayBuffer(e.weightData).byteLength}}class IORouterRegistry{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==IORouterRegistry.instance&&(IORouterRegistry.instance=new IORouterRegistry),IORouterRegistry.instance}static registerSaveRouter(e){IORouterRegistry.getInstance().saveRouters.push(e)}static registerLoadRouter(e){IORouterRegistry.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return IORouterRegistry.getHandlers(e,"save")}static getLoadHandlers(e,t){return IORouterRegistry.getHandlers(e,"load",t)}static getHandlers(e,t,a){const n=[];return("load"===t?IORouterRegistry.getInstance().loadRouters:IORouterRegistry.getInstance().saveRouters).forEach((t=>{const r=t(e,a);null!==r&&n.push(r)})),n}}const DATABASE_NAME="tensorflowjs",DATABASE_VERSION=1,MODEL_STORE_NAME="models_store",INFO_STORE_NAME="model_info_store";function getIndexedDBFactory(){if(!env().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function setUpDatabase(e){const t=e.result;t.createObjectStore(MODEL_STORE_NAME,{keyPath:"modelPath"}),t.createObjectStore(INFO_STORE_NAME,{keyPath:"modelPath"})}class BrowserIndexedDB{constructor(e){if(this.indexedDB=getIndexedDBFactory(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,a)=>{const n=this.indexedDB.open(DATABASE_NAME,1);n.onupgradeneeded=()=>setUpDatabase(n),n.onsuccess=()=>{const r=n.result;if(null==t){const t=r.transaction(MODEL_STORE_NAME,"readonly"),n=t.objectStore(MODEL_STORE_NAME).get(this.modelPath);n.onsuccess=()=>{if(null==n.result)return r.close(),a(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(n.result.modelArtifacts)},n.onerror=e=>(r.close(),a(n.error)),t.oncomplete=()=>r.close()}else{const n=getModelArtifactsInfoForJSON(t),i=r.transaction(INFO_STORE_NAME,"readwrite");let o,l,s=i.objectStore(INFO_STORE_NAME);try{o=s.put({modelPath:this.modelPath,modelArtifactsInfo:n})}catch(e){return a(e)}o.onsuccess=()=>{l=r.transaction(MODEL_STORE_NAME,"readwrite");const o=l.objectStore(MODEL_STORE_NAME);let d;try{d=o.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:n})}catch(e){return a(e)}d.onsuccess=()=>e({modelArtifactsInfo:n}),d.onerror=e=>{s=i.objectStore(INFO_STORE_NAME);const t=s.delete(this.modelPath);t.onsuccess=()=>(r.close(),a(d.error)),t.onerror=e=>(r.close(),a(d.error))}},o.onerror=e=>(r.close(),a(o.error)),i.oncomplete=()=>{null==l?r.close():l.oncomplete=()=>r.close()}}},n.onerror=e=>a(n.error)}))}}BrowserIndexedDB.URL_SCHEME="indexeddb://";const indexedDBRouter=e=>env().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(BrowserIndexedDB.URL_SCHEME)?browserIndexedDB(e.slice(BrowserIndexedDB.URL_SCHEME.length)):null;function browserIndexedDB(e){return new BrowserIndexedDB(e)}function maybeStripScheme$1(e){return e.startsWith(BrowserIndexedDB.URL_SCHEME)?e.slice(BrowserIndexedDB.URL_SCHEME.length):e}IORouterRegistry.registerSaveRouter(indexedDBRouter),IORouterRegistry.registerLoadRouter(indexedDBRouter);class BrowserIndexedDBManager{constructor(){this.indexedDB=getIndexedDBFactory()}async listModels(){return new Promise(((e,t)=>{const a=this.indexedDB.open(DATABASE_NAME,1);a.onupgradeneeded=()=>setUpDatabase(a),a.onsuccess=()=>{const n=a.result,r=n.transaction(INFO_STORE_NAME,"readonly"),i=r.objectStore(INFO_STORE_NAME).getAll();i.onsuccess=()=>{const t={};for(const e of i.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},i.onerror=e=>(n.close(),t(i.error)),r.oncomplete=()=>n.close()},a.onerror=e=>t(a.error)}))}async removeModel(e){return e=maybeStripScheme$1(e),new Promise(((t,a)=>{const n=this.indexedDB.open(DATABASE_NAME,1);n.onupgradeneeded=()=>setUpDatabase(n),n.onsuccess=()=>{const r=n.result,i=r.transaction(INFO_STORE_NAME,"readwrite"),o=i.objectStore(INFO_STORE_NAME),l=o.get(e);let s;l.onsuccess=()=>{if(null==l.result)return r.close(),a(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const n=o.delete(e),i=()=>{s=r.transaction(MODEL_STORE_NAME,"readwrite");const n=s.objectStore(MODEL_STORE_NAME).delete(e);n.onsuccess=()=>t(l.result.modelArtifactsInfo),n.onerror=e=>a(l.error)};n.onsuccess=i,n.onerror=e=>(i(),r.close(),a(l.error))}},l.onerror=e=>(r.close(),a(l.error)),i.oncomplete=()=>{null==s?r.close():s.oncomplete=()=>r.close()}},n.onerror=e=>a(n.error)}))}}const PATH_SEPARATOR="/",PATH_PREFIX="tensorflowjs_models",INFO_SUFFIX="info",MODEL_TOPOLOGY_SUFFIX="model_topology",WEIGHT_SPECS_SUFFIX="weight_specs",WEIGHT_DATA_SUFFIX="weight_data",MODEL_METADATA_SUFFIX="model_metadata";function getModelKeys(e){return{info:[PATH_PREFIX,e,INFO_SUFFIX].join(PATH_SEPARATOR),topology:[PATH_PREFIX,e,MODEL_TOPOLOGY_SUFFIX].join(PATH_SEPARATOR),weightSpecs:[PATH_PREFIX,e,WEIGHT_SPECS_SUFFIX].join(PATH_SEPARATOR),weightData:[PATH_PREFIX,e,WEIGHT_DATA_SUFFIX].join(PATH_SEPARATOR),modelMetadata:[PATH_PREFIX,e,MODEL_METADATA_SUFFIX].join(PATH_SEPARATOR)}}function removeItems(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function getModelPathFromKey(e){const t=e.split(PATH_SEPARATOR);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(PATH_SEPARATOR)}function maybeStripScheme(e){return e.startsWith(BrowserLocalStorage.URL_SCHEME)?e.slice(BrowserLocalStorage.URL_SCHEME.length):e}class BrowserLocalStorage{constructor(e){if(!env().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=getModelKeys(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),a=JSON.stringify(e.weightSpecs),n=getModelArtifactsInfoForJSON(e),r=CompositeArrayBuffer.join(e.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(n)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,a),this.LS.setItem(this.keys.weightData,arrayBufferToBase64String(r));return this.LS.setItem(this.keys.modelMetadata,JSON.stringify({format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:null!=e.signature?e.signature:void 0,userDefinedMetadata:null!=e.userDefinedMetadata?e.userDefinedMetadata:void 0,modelInitializer:null!=e.modelInitializer?e.modelInitializer:void 0,initializerSignature:null!=e.initializerSignature?e.initializerSignature:void 0,trainingConfig:null!=e.trainingConfig?e.trainingConfig:void 0})),{modelArtifactsInfo:n}}catch(e){throw removeItems(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${n.modelTopologyBytes}, weightSpecsBytes=${n.weightSpecsBytes}, weightDataBytes=${n.weightDataBytes}.`)}}}async load(){const e=JSON.parse(this.LS.getItem(this.keys.info));if(null==e)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if("JSON"!==e.modelTopologyType)throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");const t={},a=JSON.parse(this.LS.getItem(this.keys.topology));if(null==a)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=a;const n=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(null==n)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=n;const r=this.LS.getItem(this.keys.modelMetadata);if(null!=r){const e=JSON.parse(r);t.format=e.format,t.generatedBy=e.generatedBy,t.convertedBy=e.convertedBy,null!=e.signature&&(t.signature=e.signature),null!=e.userDefinedMetadata&&(t.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(t.modelInitializer=e.modelInitializer),null!=e.initializerSignature&&(t.initializerSignature=e.initializerSignature),null!=e.trainingConfig&&(t.trainingConfig=e.trainingConfig)}const i=this.LS.getItem(this.keys.weightData);if(null==i)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=base64StringToArrayBuffer(i),t}}BrowserLocalStorage.URL_SCHEME="localstorage://";const localStorageRouter=e=>env().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(BrowserLocalStorage.URL_SCHEME)?browserLocalStorage(e.slice(BrowserLocalStorage.URL_SCHEME.length)):null;function browserLocalStorage(e){return new BrowserLocalStorage(e)}IORouterRegistry.registerSaveRouter(localStorageRouter),IORouterRegistry.registerLoadRouter(localStorageRouter);class BrowserLocalStorageManager{constructor(){assert(env().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),assert("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=PATH_PREFIX+PATH_SEPARATOR,a=PATH_SEPARATOR+INFO_SUFFIX;for(let n=0;n<this.LS.length;++n){const r=this.LS.key(n);if(r.startsWith(t)&&r.endsWith(a)){e[getModelPathFromKey(r)]=JSON.parse(this.LS.getItem(r))}}return e}async removeModel(e){const t=getModelKeys(e=maybeStripScheme(e));if(null==this.LS.getItem(t.info))throw new Error(`Cannot find model at path '${e}'`);const a=JSON.parse(this.LS.getItem(t.info));return removeItems(t),a}}const URL_SCHEME_SUFFIX="://";class ModelStoreManagerRegistry{constructor(){this.managers={}}static getInstance(){return null==ModelStoreManagerRegistry.instance&&(ModelStoreManagerRegistry.instance=new ModelStoreManagerRegistry),ModelStoreManagerRegistry.instance}static registerManager(e,t){assert(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),assert(e.length>0,(()=>"scheme must not be an empty string."));const a=ModelStoreManagerRegistry.getInstance();assert(null==a.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),a.managers[e]=t}static getManager(e){const t=ModelStoreManagerRegistry.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(ModelStoreManagerRegistry.getInstance().managers)}}class PlatformBrowser{constructor(){this.messageName="setTimeoutCustom",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){"undefined"!=typeof window&&env().getBool("USE_SETTIMEOUTCUSTOM")?(this.functionRefs.push(e),setTimeout((()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},"*")}),t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener("message",(e=>{if(e.source===window&&e.data.name===this.messageName){e.stopPropagation();(0,this.functionRefs[e.data.index])(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}}),!0))):setTimeout(e,t)}isTypedArray(e){return isTypedArrayBrowser(e)}}if(env().get("IS_BROWSER")){env().setPlatform("browser",new PlatformBrowser);try{ModelStoreManagerRegistry.registerManager(BrowserLocalStorage.URL_SCHEME,new BrowserLocalStorageManager)}catch(e){}try{ModelStoreManagerRegistry.registerManager(BrowserIndexedDB.URL_SCHEME,new BrowserIndexedDBManager)}catch(e){}}const getNodeFetch={importFetch:()=>require("node-fetch")};let systemFetch;class PlatformNode{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=env().global.fetch?env().global.fetch(e,t):(null==systemFetch&&(systemFetch=getNodeFetch.importFetch()),systemFetch(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}isTypedArray(e){return this.util.types.isFloat32Array(e)||this.util.types.isInt32Array(e)||this.util.types.isUint8Array(e)||this.util.types.isUint8ClampedArray(e)}}function buffer(e,t="float32",a){return t=t||"float32",assertNonNegativeIntegerDimensions(e),new TensorBuffer(e,t,a)}function cast_(e,t){const a=convertToTensor(e,"x","cast");if(!isValidDtype(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==a.dtype||"string"!==t&&"string"===a.dtype)throw new Error("Only strings can be casted to strings");return ENGINE.runKernel(Cast,{x:a},{dtype:t})}env().get("IS_NODE")&&!env().get("IS_BROWSER")&&env().setPlatform("node",new PlatformNode);const cast=op({cast_:cast_});function clone_(e){const t=convertToTensor(e,"x","clone","string_or_numeric");return ENGINE.runKernel(Identity,{x:t})}const clone=op({clone_:clone_});function print(e,t=!1){console.log(e.toString(t))}getOrMakeEngine();const opHandler={buffer:buffer,cast:cast,clone:clone,print:print};function tidy(e,t){return ENGINE.tidy(e,t)}function dispose(e){getTensorsInContainer(e).forEach((e=>e.dispose()))}function keep(e){return ENGINE.keep(e)}function add_(e,t){let a=convertToTensor(e,"a","add"),n=convertToTensor(t,"b","add");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Add,{a:a,b:n})}setOpHandler(opHandler);const add=op({add_:add_});function floorDiv_(e,t){let a=convertToTensor(e,"a","floorDiv"),n=convertToTensor(t,"b","floorDiv");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(FloorDiv,{a:a,b:n})}const floorDiv=op({floorDiv_:floorDiv_});function div_(e,t){let a=convertToTensor(e,"a","div"),n=convertToTensor(t,"b","div");if([a,n]=makeTypesMatch(a,n),"int32"===a.dtype&&"int32"===n.dtype)return floorDiv(a,n);return ENGINE.runKernel(RealDiv,{a:a,b:n},{})}const div=op({div_:div_});function mul_(e,t){let a=convertToTensor(e,"a","mul"),n=convertToTensor(t,"b","mul");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Multiply,{a:a,b:n})}const mul=op({mul_:mul_});function abs_(e){const t=convertToTensor(e,"x","abs");if("complex64"===t.dtype){return ENGINE.runKernel(ComplexAbs,{x:t})}return ENGINE.runKernel(Abs,{x:t})}const abs=op({abs_:abs_});function fill(e,t,a){assertNonNegativeIntegerDimensions(e),a=a||inferDtype(t);return ENGINE.runKernel(Fill,{},{shape:e,value:t,dtype:a})}function assertAndGetBroadcastShape(e,t){const a=Math.max(e.length,t.length),n=new Array(a);for(let r=0;r<a;r++){let i=e[e.length-r-1];null==i&&(i=1);let o=t[t.length-r-1];if(null==o&&(o=1),1===i)n[a-r-1]=o;else if(1===o)n[a-r-1]=i;else{if(i!==o){throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`)}n[a-r-1]=i}}return n}function zerosLike_(e){const t=convertToTensor(e,"x","zerosLike");return ENGINE.runKernel(ZerosLike,{x:t})}const zerosLike=op({zerosLike_:zerosLike_});function pow_(e,t){let a=convertToTensor(e,"base","pow"),n=convertToTensor(t,"exp","pow");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Pow,{a:a,b:n})}const pow=op({pow_:pow_});function scalar(e,t){if((isTypedArray(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&isTypedArray(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return makeTensor(e,[],[],t)}function sqrt_(e){const t=convertToTensor(e,"x","sqrt","float32");return ENGINE.runKernel(Sqrt,{x:t})}const sqrt=op({sqrt_:sqrt_});function square_(e){const t=convertToTensor(e,"x","square");return ENGINE.runKernel("Square",{x:t},{})}const square=op({square_:square_});function variableGrads(e,t){assert(isFunction(e),(()=>"The f passed in variableGrads(f) must be a function")),assert(null==t||Array.isArray(t)&&t.every((e=>e instanceof Variable)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const a=null!=t;if(!a){t=[];for(const e in ENGINE.registeredVariables)t.push(ENGINE.registeredVariables[e])}const n=a?t.filter((e=>!e.trainable)):null,r=t.length;assert((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${r} variables is trainable.`));const{value:i,grads:o}=ENGINE.gradients(e,t,null,!0);assert(o.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),assert(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const l={};return t.forEach(((e,t)=>{null!=o[t]&&(l[e.name]=o[t])})),null!=n&&n.forEach((e=>l[e.name]=null)),{value:i,grads:l}}function sub_(e,t){let a=convertToTensor(e,"a","sub"),n=convertToTensor(t,"b","sub");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Sub,{a:a,b:n})}const sub=op({sub_:sub_});function maximum_(e,t){let a=convertToTensor(e,"a","maximum"),n=convertToTensor(t,"b","maximum");[a,n]=makeTypesMatch(a,n),"bool"===a.dtype&&(a=cast(a,"int32"),n=cast(n,"int32")),assertAndGetBroadcastShape(a.shape,n.shape);return ENGINE.runKernel(Maximum,{a:a,b:n})}const maximum=op({maximum_:maximum_});class Serializable{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class SerializationMap{constructor(){this.classNameMap={}}static getMap(){return null==SerializationMap.instance&&(SerializationMap.instance=new SerializationMap),SerializationMap.instance}static register(e){SerializationMap.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function registerClass(e){assert(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),assert("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),assert(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),SerializationMap.register(e)}class Optimizer extends Serializable{minimize(e,t=!1,a){const{value:n,grads:r}=this.computeGradients(e,a);if(null!=a){const e=a.map((e=>({name:e.name,tensor:r[e.name]})));this.applyGradients(e)}else this.applyGradients(r);return dispose(r),t?n:(n.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return variableGrads(e,t)}dispose(){null!=this.iterations_&&dispose(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:scalar(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(Optimizer,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class AdadeltaOptimizer extends Optimizer{static get className(){return"Adadelta"}constructor(e,t,a=null){super(),this.learningRate=e,this.rho=t,this.epsilon=a,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==a&&(this.epsilon=ENGINE.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t];null==this.accumulatedGrads[a]&&(this.accumulatedGrads[a]={originalName:`${t}/accum_grad`,variable:tidy((()=>zerosLike(n).variable(false)))}),null==this.accumulatedUpdates[a]&&(this.accumulatedUpdates[a]={originalName:`${t}/accum_var`,variable:tidy((()=>zerosLike(n).variable(false)))});const r=Array.isArray(e)?e[a].tensor:e[t];if(null==r)return;const i=this.accumulatedGrads[a].variable,o=this.accumulatedUpdates[a].variable;tidy((()=>{const e=add(mul(i,this.rho),mul(square(r),1-this.rho)),t=mul(div(sqrt(add(o,this.epsilon)),sqrt(add(i,this.epsilon))),r),a=add(mul(o,this.rho),mul(square(t),1-this.rho));i.assign(e),o.assign(a);const l=add(mul(t,-this.learningRate),n);n.assign(l)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(dispose(this.accumulatedGrads.map((e=>e.variable))),dispose(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}class AdagradOptimizer extends Optimizer{static get className(){return"Adagrad"}constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t];if(null==this.accumulatedGrads[a]){const e=!1;this.accumulatedGrads[a]={originalName:`${t}/accumulator`,variable:tidy((()=>fill(n.shape,this.initialAccumulatorValue).variable(e)))}}const r=Array.isArray(e)?e[a].tensor:e[t];if(null==r)return;const i=this.accumulatedGrads[a].variable;tidy((()=>{const e=add(i,square(r));i.assign(e);const t=add(mul(div(r,sqrt(add(e,ENGINE.backend.epsilon()))),-this.learningRate),n);n.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&dispose(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}class AdamOptimizer extends Optimizer{static get className(){return"Adam"}constructor(e,t,a,n=null){super(),this.learningRate=e,this.beta1=t,this.beta2=a,this.epsilon=n,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],tidy((()=>{this.accBeta1=scalar(t).variable(),this.accBeta2=scalar(a).variable()})),null==n&&(this.epsilon=ENGINE.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);tidy((()=>{const a=sub(1,this.accBeta1),n=sub(1,this.accBeta2);t.forEach(((t,r)=>{const i=ENGINE.registeredVariables[t];null==this.accumulatedFirstMoment[r]&&(this.accumulatedFirstMoment[r]={originalName:`${t}/m`,variable:tidy((()=>zerosLike(i).variable(false)))}),null==this.accumulatedSecondMoment[r]&&(this.accumulatedSecondMoment[r]={originalName:`${t}/v`,variable:tidy((()=>zerosLike(i).variable(false)))});const o=Array.isArray(e)?e[r].tensor:e[t];if(null==o)return;const l=this.accumulatedFirstMoment[r].variable,s=this.accumulatedSecondMoment[r].variable,d=add(mul(l,this.beta1),mul(o,1-this.beta1)),c=add(mul(s,this.beta2),mul(square(o),1-this.beta2)),u=div(d,a),m=div(c,n);l.assign(d),s.assign(c);const f=add(mul(div(u,add(sqrt(m),this.epsilon)),-this.learningRate),i);i.assign(f)})),this.accBeta1.assign(mul(this.accBeta1,this.beta1)),this.accBeta2.assign(mul(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&dispose(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&dispose(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),tidy((()=>{this.accBeta1.assign(pow(this.beta1,this.iterations_+1)),this.accBeta2.assign(pow(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}class AdamaxOptimizer extends Optimizer{static get className(){return"Adamax"}constructor(e,t,a,n=null,r=0){super(),this.learningRate=e,this.beta1=t,this.beta2=a,this.epsilon=n,this.decay=r,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],tidy((()=>{this.iteration=scalar(0).variable(),this.accBeta1=scalar(t).variable()})),null==n&&(this.epsilon=ENGINE.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);tidy((()=>{const a=sub(1,this.accBeta1),n=div(-this.learningRate,add(mul(this.iteration,this.decay),1));t.forEach(((t,r)=>{const i=ENGINE.registeredVariables[t];null==this.accumulatedFirstMoment[r]&&(this.accumulatedFirstMoment[r]={originalName:`${t}/m`,variable:zerosLike(i).variable(false)}),null==this.accumulatedWeightedInfNorm[r]&&(this.accumulatedWeightedInfNorm[r]={originalName:`${t}/v`,variable:zerosLike(i).variable(false)});const o=Array.isArray(e)?e[r].tensor:e[t];if(null==o)return;const l=this.accumulatedFirstMoment[r].variable,s=this.accumulatedWeightedInfNorm[r].variable,d=add(mul(l,this.beta1),mul(o,1-this.beta1)),c=mul(s,this.beta2),u=abs(o),m=maximum(c,u);l.assign(d),s.assign(m);const f=add(mul(div(n,a),div(d,add(m,this.epsilon))),i);i.assign(f)})),this.iteration.assign(add(this.iteration,1)),this.accBeta1.assign(mul(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&dispose(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&dispose(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}class SGDOptimizer extends Optimizer{static get className(){return"SGD"}constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=Array.isArray(e)?e[a].tensor:e[t];if(null==n)return;const r=ENGINE.registeredVariables[t];tidy((()=>{const e=add(mul(this.c,n),r);r.assign(e)}))})),this.incrementIterations()}setLearningRate(e){this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=keep(scalar(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}class MomentumOptimizer extends SGDOptimizer{static get className(){return"Momentum"}constructor(e,t,a=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=a,this.accumulations=[],this.m=scalar(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t];if(null==this.accumulations[a]){const e=!1;this.accumulations[a]={originalName:`${t}/momentum`,variable:tidy((()=>zerosLike(n).variable(e)))}}const r=this.accumulations[a].variable,i=Array.isArray(e)?e[a].tensor:e[t];null!=i&&tidy((()=>{let e;const t=add(mul(this.m,r),i);e=add(mul(this.c,this.useNesterov?add(i,mul(t,this.m)):t),n),r.assign(t),n.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&dispose(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}class RMSPropOptimizer extends Optimizer{static get className(){return"RMSProp"}constructor(e,t=.9,a=0,n=null,r=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=a,this.epsilon=n,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=r,null==n&&(this.epsilon=ENGINE.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t],r=!1;null==this.accumulatedMeanSquares[a]&&(this.accumulatedMeanSquares[a]={originalName:`${t}/rms`,variable:tidy((()=>zerosLike(n).variable(r)))}),null==this.accumulatedMoments[a]&&(this.accumulatedMoments[a]={originalName:`${t}/momentum`,variable:tidy((()=>zerosLike(n).variable(r)))}),null==this.accumulatedMeanGrads[a]&&this.centered&&(this.accumulatedMeanGrads[a]={originalName:`${t}/mg`,variable:tidy((()=>zerosLike(n).variable(r)))});const i=Array.isArray(e)?e[a].tensor:e[t];if(null==i)return;const o=this.accumulatedMeanSquares[a].variable,l=this.accumulatedMoments[a].variable;tidy((()=>{const e=add(mul(o,this.decay),mul(square(i),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[a].variable,r=add(mul(t,this.decay),mul(i,1-this.decay)),s=div(mul(i,this.learningRate),sqrt(sub(e,add(square(r),this.epsilon)))),d=add(mul(l,this.momentum),s);o.assign(e),t.assign(r),l.assign(d);const c=sub(n,d);n.assign(c)}else{const e=add(mul(o,this.decay),mul(square(i),1-this.decay)),t=add(mul(l,this.momentum),div(mul(i,this.learningRate),sqrt(add(e,this.epsilon))));o.assign(e),l.assign(t);const a=sub(n,t);n.assign(a)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&dispose(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&dispose(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&dispose(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,a=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(a)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(a)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(a)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}const OPTIMIZERS=[AdadeltaOptimizer,AdagradOptimizer,AdamOptimizer,AdamaxOptimizer,MomentumOptimizer,RMSPropOptimizer,SGDOptimizer];function registerOptimizers(){for(const e of OPTIMIZERS)registerClass(e)}registerOptimizers();const contexts={},WEBGL_ATTRIBUTES={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function getWebGLContext(e,t){if(!(e in contexts)||null!=t){const a=getWebGLRenderingContext(e,t);if(null===a)return console.log("Could not get context for WebGL version",e),null;contexts[e]=a}const a=contexts[e];return null==a||a.isContextLost()?(delete contexts[e],getWebGLContext(e)):(a.disable(a.DEPTH_TEST),a.disable(a.STENCIL_TEST),a.disable(a.BLEND),a.disable(a.DITHER),a.disable(a.POLYGON_OFFSET_FILL),a.disable(a.SAMPLE_COVERAGE),a.enable(a.SCISSOR_TEST),a.enable(a.CULL_FACE),a.cullFace(a.BACK),contexts[e])}function createCanvas(e){if(env().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}function getWebGLRenderingContext(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const a=null==t?createCanvas(e):t;return a.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete contexts[e]}),!1),env().getBool("SOFTWARE_WEBGL_ENABLED")&&(WEBGL_ATTRIBUTES.failIfMajorPerformanceCaveat=!1),1===e?a.getContext("webgl",WEBGL_ATTRIBUTES)||a.getContext("experimental-webgl",WEBGL_ATTRIBUTES):a.getContext("webgl2",WEBGL_ATTRIBUTES)}var DEFAULT_CDN_URL="https://websdk-cdn-dev.idmission.com/assets";function cropToShoulders(e,t,a,n){if(!e||!t)return"";var r=e.getContext("2d"),i=t.getContext("2d");if(!r||!i)throw new Error("could not get 2d context");e.width=a.width,e.height=a.height,r.putImageData(a,0,0);var o=n.box,l=o.width,s=.6*a.height-l,d=Math.max(0,o.xMin-s/2);isMobile()?(t.width=a.width,t.height=a.height,i.drawImage(e,0,0,t.width,t.height)):(t.width=l+s,t.height=a.height,i.drawImage(e,d,0,t.width,t.height,0,0,t.width,t.height));var c=t.toDataURL("image/jpeg",.92);return clearCanvas(e),clearCanvas(t),c}function cropToBoundingBox(e,t,a){a||(a=document.createElement("canvas"));var n=a.getContext("2d");if(!n)throw new Error("could not get 2d context");var r=getFrameDimensions(e),i=r[0],o=r[1],l=t[0],s=t[1],d=t[2],c=t[3];return a.width=d*i,a.height=c*o,n.drawImage(e,l*i,s*o,d*i,c*o,0,0,d*i,c*o),a}var detector,visionTasksBasePath="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.7/wasm",faceDetectorModelPath="https://websdk-cdn-dev.idmission.com/assets/models/blazeface20240207/blaze_face_short_range.tflite",defaultSelfieCaptureModelLoadTimeoutMs=45e3,NUM_KEYPOINTS=6,GREEN="#32EEDB",RED="#FF2C35";function drawPath(e,t,a){var n=new Path2D;n.moveTo(t[0][0],t[0][1]);for(var r=1;r<t.length;r++){var i=t[r];n.lineTo(i[0],i[1])}a&&n.closePath(),e.stroke(n)}function drawResults(e,t,a,n){t.forEach((function(t){var r=t.keypoints.map((function(e){return[e.x,e.y]}));if(a){e.strokeStyle=RED,e.lineWidth=1;var i=t.box;drawPath(e,[[i.xMin,i.yMin],[i.xMax,i.yMin],[i.xMax,i.yMax],[i.xMin,i.yMax]],!0)}if(n){e.fillStyle=GREEN;for(var o=0;o<NUM_KEYPOINTS;o++){var l=r[o][0],s=r[o][1];e.beginPath(),e.arc(l,s,3,0,2*Math.PI),e.fill()}}}))}function loadHighPerformanceFaceDetector(){return tslib.__awaiter(this,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return detector?[2,detector]:[4,preloadFaceDetectorDependencies()];case 1:return t.sent(),[4,tasksVision.FilesetResolver.forVisionTasks(visionTasksBasePath)];case 2:return e=t.sent(),[4,tasksVision.FaceDetector.createFromOptions(e,{baseOptions:{modelAssetPath:faceDetectorModelPath,delegate:"GPU"},runningMode:"VIDEO"})];case 3:return[2,detector=t.sent()]}}))}))}var HighPerformanceSelfieGuidanceModelsContext=React.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1,error:null,modelDownloadProgress:0}),HighPerformanceSelfieGuidanceModelsProvider=function(e){var t=e.autoStart,a=void 0===t||t,n=e.children,r=e.throttleMs,i=e.onModelError,o=e.modelLoadTimeoutMs,l=void 0===o?defaultSelfieCaptureModelLoadTimeoutMs:o,s=React.useContext(CameraStateContext),d=s.videoRef,c=s.videoLoaded,u=s.cameraReady,m=React.useRef(null),f=React.useRef(),p=React.useState(!1),g=p[0],h=p[1],v=React.useState(!1),b=v[0],_=v[1],y=React.useRef(null),C=React.useRef(0),x=React.useRef(0),R=React.useState(null),E=R[0],I=R[1],T=React.useState(0),w=T[0],M=T[1];React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){function e(e){M(progressToPercentage(e.detail))}var t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:h(!1),document.addEventListener("idmission.preloadProgress.faceDetection",e),t=setTimeout((function(){I(new Error("Model loading time limit exceeded."))}),l),r.label=1;case 1:return r.trys.push([1,3,4,5]),a=y,[4,loadHighPerformanceFaceDetector()];case 2:return a.current=r.sent(),[3,5];case 3:return n=r.sent(),I(n),[3,5];case 4:return clearInterval(t),[7];case 5:return M(100),h(!0),[2,function(){clearInterval(t),document.removeEventListener("idmission.preloadProgress.faceDetection",e)}]}}))}))}),[l]),React.useEffect((function(){E&&(null==i||i(E))}),[E,i]),React.useEffect((function(){if(c&&u&&b&&g){var e;x.current+=1;var t=x.current;return tslib.__awaiter(void 0,void 0,void 0,(function(){var a,n,i,o;return tslib.__generator(this,(function(l){switch(l.label){case 0:return d.current&&y.current?(a=null===(n=m.current)||void 0===n?void 0:n.getContext("2d"),m.current&&(m.current.width=null===(i=d.current)||void 0===i?void 0:i.videoWidth,m.current.height=null===(o=d.current)||void 0===o?void 0:o.videoHeight,null==a||a.translate(d.current.videoWidth,0),null==a||a.scale(-1,1)),[4,function a(){var n,i;return tslib.__awaiter(this,void 0,void 0,(function(){var o,l,s,c,u;return tslib.__generator(this,(function(p){if(!y.current||!d.current||t!==x.current)return[2];if((o=null===(n=m.current)||void 0===n?void 0:n.getContext("2d"))&&4===d.current.readyState){o.drawImage(d.current,0,0,l=d.current.videoWidth,s=d.current.videoHeight),c=void 0;try{(c=y.current.detectForVideo(m.current,performance.now()))&&(u=c.detections.map((function(e){var t,a,n,r,i,o,d,c,u,m,f,p,g,h,v,b;return{keypoints:e.keypoints.map((function(e){var t;return tslib.__assign(tslib.__assign({},e),{x:e.x*l,y:e.y*s,name:null!==(t=e.label)&&void 0!==t?t:""})})),box:{xMin:null!==(a=null===(t=e.boundingBox)||void 0===t?void 0:t.originX)&&void 0!==a?a:0,xMax:(null!==(r=null===(n=e.boundingBox)||void 0===n?void 0:n.originX)&&void 0!==r?r:0)+(null!==(o=null===(i=e.boundingBox)||void 0===i?void 0:i.width)&&void 0!==o?o:0),yMin:null!==(c=null===(d=e.boundingBox)||void 0===d?void 0:d.originY)&&void 0!==c?c:0,yMax:(null!==(m=null===(u=e.boundingBox)||void 0===u?void 0:u.originY)&&void 0!==m?m:0)+(null!==(p=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==p?p:0),width:null!==(h=null===(g=e.boundingBox)||void 0===g?void 0:g.width)&&void 0!==h?h:0,height:null!==(b=null===(v=e.boundingBox)||void 0===v?void 0:v.height)&&void 0!==b?b:0}}})),null===(i=f.current)||void 0===i||i.call(f,u),o&&drawResults(o,u,!0,!0))}catch(e){console.error("caught face detection error",e)}}return e=setTimeout((function(){C.current=requestAnimationFrame(a)}),null!=r?r:0),[2]}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){C.current&&cancelAnimationFrame(C.current),e&&clearTimeout(e)}}}),[u,g,b,r,c,d]);var S=React.useCallback((function(){_(!0)}),[]),D=React.useCallback((function(){_(!1)}),[]);React.useEffect((function(){return a&&S(),function(){D()}}),[a,S,D]);var k=React.useCallback((function(e){f.current=e}),[]),N=React.useMemo((function(){return{start:S,stop:D,ready:g,canvasRef:m,onPredictionMade:k,error:E,modelDownloadProgress:w}}),[E,w,k,g,S,D]);return React__namespace.createElement(HighPerformanceSelfieGuidanceModelsContext.Provider,{value:N},React__namespace.createElement(InvisibleCanvas,{ref:m}),n)},preloadModels=function(e){var t=e.documentDetectionModel,a=void 0===t||t,n=e.focusModel,r=void 0===n||n,i=e.faceDetectionModel,o=void 0===i||i;return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return a||r?[4,preloadIdCaptureDependencies()]:[3,2];case 1:e.sent(),e.label=2;case 2:return o?[4,preloadFaceDetectorDependencies()]:[3,4];case 3:e.sent(),e.label=4;case 4:return[2]}}))}))},progressByUrl={},progressByUseCase={idCapture:{loaded:0,total:0},faceDetection:{loaded:0,total:0}};function preloadDependency(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){return t=new XMLHttpRequest,[2,new Promise((function(a){t.addEventListener("progress",(function(t){t.lengthComputable&&(progressByUrl[e]=t,document.dispatchEvent(new CustomEvent("idmission.preloadProgress",{detail:{url:e,loaded:t.loaded,total:t.total}})))})),t.addEventListener("loadend",(function(){a(4===t.readyState&&200===t.status)})),t.open("GET",e,!0),t.send()}))]}))}))}var idCapturePreloading=!1,faceDetectorPreloading=!1;function preloadIdCaptureDependencies(){return tslib.__awaiter(this,void 0,void 0,(function(){function e(e){t.includes(e.detail.url)&&(progressByUseCase.idCapture=sumUpProgressForDependencies(t),document.dispatchEvent(new CustomEvent("idmission.preloadProgress.idCapture",{detail:progressByUseCase.idCapture})))}var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return idCapturePreloading?[2,new Promise((function(e){setInterval((function(){idCapturePreloading||e()}),100)}))]:(idCapturePreloading=!0,[4,Promise.all([getTfjsModelDependencies(defaultDocumentDetectionModelUrl),getTfjsModelDependencies(defaultFocusModelUrl)])]);case 1:t=a.sent().flat(),document.addEventListener("idmission.preloadProgress",e),a.label=2;case 2:return a.trys.push([2,,4,5]),[4,Promise.all(t.map(preloadDependency))];case 3:return a.sent(),[3,5];case 4:return document.removeEventListener("idmission.preloadProgress",e),idCapturePreloading=!1,[7];case 5:return[2]}}))}))}function preloadFaceDetectorDependencies(){return tslib.__awaiter(this,void 0,void 0,(function(){function e(e){t.includes(e.detail.url)&&(progressByUseCase.faceDetection=sumUpProgressForDependencies(t),document.dispatchEvent(new CustomEvent("idmission.preloadProgress.faceDetection",{detail:progressByUseCase.faceDetection})))}var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:if(faceDetectorPreloading)return[2,new Promise((function(e){setInterval((function(){faceDetectorPreloading||e()}),100)}))];faceDetectorPreloading=!0,t=["".concat(visionTasksBasePath,"/vision_wasm_internal.wasm"),faceDetectorModelPath],document.addEventListener("idmission.preloadProgress",e),a.label=1;case 1:return a.trys.push([1,,3,4]),[4,Promise.all(t.map(preloadDependency))];case 2:return a.sent(),[3,4];case 3:return document.removeEventListener("idmission.preloadProgress",e),faceDetectorPreloading=!1,[7];case 4:return[2]}}))}))}function getTfjsModelDependencies(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return t=e.split("/").slice(0,-1).join("/"),[4,fetch(e)];case 1:return[4,a.sent().json()];case 2:return[2,a.sent().weightsManifest[0].paths.map((function(e){return"".concat(t,"/").concat(e)}))]}}))}))}function progressToPercentage(e){return e.total>0?Math.round(100*e.loaded/e.total):0}function sumUpProgressForDependencies(e){return e.reduce((function(e,t){var a=progressByUrl[t];return a?(e.loaded+=a.loaded,e.total+=a.total,e):e}),{loaded:0,total:0})}var IdCaptureModelsContext=React.createContext({ready:!1,modelDownloadProgress:0,working:{current:!1},modelError:null,thresholds:{},setThresholds:function(){return null},makePrediction:function(){return null},onPredictionMade:function(){return null},detectionTime:0,focusPredictionTime:0,getBestFrame:function(){return Promise.resolve(null)},resetBestFrame:function(){return null},bestFrameDetectionScore:0,bestFrameFocusScore:0}),defaultDocumentDetectionModelUrl="".concat(DEFAULT_CDN_URL,"/models/docdetect20240207/model.json"),defaultFocusModelUrl="".concat(DEFAULT_CDN_URL,"/models/focus20240212/model.json"),defaultIdCaptureModelLoadTimeoutMs=45e3,IdCaptureModelsProvider=function(e){var t=e.children,a=e.documentDetectionModelUrl,n=e.focusModelUrl,r=e.logPredictions,i=void 0!==r&&r,o=e.onModelError,l=e.modelLoadTimeoutMs,s=void 0===l?defaultIdCaptureModelLoadTimeoutMs:l,d=React.useState(!1),c=d[0],u=d[1],m=React.useState({}),f=m[0],p=m[1],g=React.useRef(!1),h=React.useRef(),v=React.useRef(null),b=React.useRef(null),_=React.useRef(null),y=React.useState(0),C=y[0],x=y[1],R=React.useState(0),E=R[0],I=R[1],T=React.useState(null),w=T[0],M=T[1],S=React.useState([]),D=S[0],k=S[1],N=React.useState(0),O=N[0],j=N[1],A=React.useState(0),L=A[0],B=A[1],F=React.useState(0),P=F[0],$=F[1];React.useEffect((function(){function e(e){$(progressToPercentage(e.detail))}u(!1),document.addEventListener("idmission.preloadProgress.idCapture",e);var t=a||defaultDocumentDetectionModelUrl,r=n||defaultFocusModelUrl;var i=setTimeout((function(){M(new Error("Model loading time limit exceeded."))}),s);function o(){M(new Error("WebGL context was lost."))}(function(){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return tf__namespace.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,tf__namespace.setBackend("webgl")];case 1:return e.sent(),[4,tf__namespace.ready()];case 2:return e.sent(),[4,preloadIdCaptureDependencies()];case 3:return e.sent(),[4,Promise.all([loadDocumentDetectionModel(t),loadFocusModel(r)])];case 4:return e.sent(),[2]}}))}))})().then((function(){$(100),u(!0)})).catch((function(e){M(e)})).finally((function(){clearInterval(i)}));var l=getWebGLContext(2).canvas;return l.addEventListener("webglcontextlost",o),function(){var t;clearInterval(i),null===(t=l.removeEventListener)||void 0===t||t.call(l,"webglcontextlost",o),document.removeEventListener("idmission.preloadProgress.idCapture",e)}}),[a,n,s]),React.useEffect((function(){w&&(null==o||o(w))}),[w,o]);var z=React.useState(0),U=z[0],G=z[1],W=React.useRef(null),V=React.useRef(0),H=React.useCallback((function(e){g.current=!0,tslib.__awaiter(void 0,void 0,void 0,(function(){var t,a,n,r,o,l;return tslib.__generator(this,(function(s){switch(s.label){case 0:if(!(documentDetectionModel&&focusModel&&_.current&&v.current&&b.current))return[2];t={lastPredictionCanvas:_.current,cropCanvas:v.current,rotateCanvas:b.current},s.label=1;case 1:return s.trys.push([1,3,,4]),[4,makePredictions(e,f,t,i)];case 2:return a=s.sent(),x(a.detectionTime),I(a.focusPredictionTime),V.current<=a.focusScore&&(V.current=a.focusScore,k(null!==(o=null===(r=a.bestDocumentOrPassport)||void 0===r?void 0:r.bbox)&&void 0!==o?o:[]),j(a.detectionScore),B(a.focusScore),drawToCanvas(W.current,_.current)),a.allZero&&G((function(e){return e+1})),null===(l=h.current)||void 0===l||l.call(h,a),[3,4];case 3:return n=s.sent(),["Requested texture size [0x0] is invalid","The image argument is a canvas element with a width or height of 0","CanvasRenderingContext2D.drawImage: Passed-in canvas is empty","The object is in an invalid state"].some((function(e){return n.toString().includes(e)}))?console.log("ignoring error caught while predicting:",n):(console.log("caught an error while predicting!",n),M(n)),[3,4];case 4:return g.current=!1,[2]}}))}))}),[i,f]);React.useEffect((function(){U>=2&&M(new Error("model is returning all zeroes"))}),[U]);var q=React.useCallback((function(e){h.current=e}),[]),Y=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){return W.current?[2,{canvas:W.current,boundingBox:D,detectionScore:O,focusScore:L}]:[2,null]}))}))}),[D,O,L]),Z=React.useCallback((function(){V.current=0,clearCanvas(W.current),clearCanvas(_.current),clearCanvas(v.current),clearCanvas(b.current),k([]),j(0),B(0)}),[]),Q=React.useMemo((function(){return{ready:c,working:g,thresholds:f,setThresholds:p,makePrediction:H,onPredictionMade:q,detectionTime:C,focusPredictionTime:E,getBestFrame:Y,resetBestFrame:Z,bestFrameDetectionScore:O,bestFrameFocusScore:L,modelError:w,modelDownloadProgress:P}}),[O,L,C,E,Y,w,H,q,c,Z,p,f,P]);return React__default.default.createElement(IdCaptureModelsContext.Provider,{value:Q},t,React__default.default.createElement(InvisibleCanvas,{ref:_}),React__default.default.createElement(InvisibleCanvas,{ref:W}),React__default.default.createElement(InvisibleCanvas,{ref:v}),React__default.default.createElement(InvisibleCanvas,{ref:b}))},onMobile=isMobile();function makePredictions(e,t,a,n){var r,i,o,l,s,d,c,u,m,f,p,g;return void 0===n&&(n=!1),tslib.__awaiter(this,void 0,void 0,(function(){var h,v,b,_,y,C,x,R,E,I,T,w,M,S,D,k,N,O,j,A,L,B,F,P,$,z,U,G,W,V,H,q,Y,Z,Q,X,K,J,ee,te;return tslib.__generator(this,(function(ae){switch(ae.label){case 0:return h=getFrameDimensions(e),v=h[0],b=h[1],drawToCanvas(a.lastPredictionCanvas,e),[4,makeDocumentDetectionPredictions(a.lastPredictionCanvas,n)];case 1:return _=ae.sent(),C=_.scores,x=_.labels,R=_.time,E=(y=_.boxes).length>0&&!y.some((function(e){return e.some((function(e){return e>0}))})),I=applyNonMaxSuppression(y.map((function(e,t){return bboxToDetectedObjectUnscaled(e,C[t],x[t])}))),T=I.find((function(e){return"Document"===e.label})),w=I.find((function(e){return"Passport Page"===e.label})),M=null!==(r=null==T?void 0:T.score)&&void 0!==r?r:0,S=null!==(i=null==w?void 0:w.score)&&void 0!==i?i:0,D=S>=(null!==(o=t.passport)&&void 0!==o?o:0),k=M>S?T:w,O=(N=D?S:M)>=(null!==(l=t.document)&&void 0!==l?l:0),j="none",D?j="passport":O&&(j="idCard"),A=I.find((function(e){return"MRZ"===e.label})),L=null!==(s=null==A?void 0:A.score)&&void 0!==s?s:0,B=L>=(null!==(d=t.mrz)&&void 0!==d?d:0),F=I.find((function(e){return"PDF417"===e.label})),P=null!==(c=null==F?void 0:F.score)&&void 0!==c?c:0,$=P>=(null!==(u=t.pdf417)&&void 0!==u?u:0),z=!1,k&&(20,G=(U=k.bbox)[0],W=U[1],V=U[2],H=U[3],G*=v,V*=v,H*=b,z=(W*=b)>20&&W+H+20<b&&(G>20||G<20&&G+V>.8*v)&&G+V+20<v),q=!1,k&&(Z=(Y=[k.bbox[2],k.bbox[3]])[1],q=Y[0]>.85||Z>.85),Q=null,X=0,K=0,J=!1,O&&z&&!q?[4,makeFocusPrediction(a.lastPredictionCanvas,a,null==k?void 0:k.bbox,n)]:[3,3];case 2:te=ae.sent(),X=te[1],K=null!==(m=null==(Q=te[0])?void 0:Q[1])&&void 0!==m?m:0,ee=null!==(g=onMobile?null===(f=t.focus)||void 0===f?void 0:f.mobile:null===(p=t.focus)||void 0===p?void 0:p.desktop)&&void 0!==g?g:0,J=K>=ee,ae.label=3;case 3:return[2,{detectedObjects:I,detectionScore:N,detectionTime:R,detectionThresholdMet:O,detectedDocumentType:j,passportDetectionScore:S,passportDetectionThresholdMet:D,mrzDetectionScore:L,mrzDetectionThresholdMet:B,pdf417DetectionScore:P,pdf417DetectionThresholdMet:$,bestDocumentOrPassport:k,bestMrz:A,bestPdf417:F,documentInBounds:z,documentTooClose:q,focusScore:K,focusThresholdMet:J,focusPredictionTime:X,frameWidth:v,frameHeight:b,allZero:E}]}}))}))}function makeDocumentDetectionPredictions(e,t){return void 0===t&&(t=!1),tslib.__awaiter(this,void 0,void 0,(function(){var a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b;return tslib.__generator(this,(function(_){switch(_.label){case 0:if(!documentDetectionModel)throw new Error("document detection model is not loaded");a=new Date,_.label=1;case 1:return _.trys.push([1,7,8,9]),tf__namespace.engine().startScope(),n=tf__namespace.browser.fromPixels(e),t&&console.time("resize"),r=tf__namespace.image.resizeBilinear(n,[448,448]),t&&console.timeEnd("resize"),t&&console.time("convert to int32"),i=tf__namespace.cast(r,"int32"),s=(l=tf__namespace).tensor4d,c=(d=Array).from,[4,i.data()];case 2:return o=s.apply(l,[c.apply(d,[_.sent()]),[1,448,448,3]]),u=tf__namespace.cast(o,"int32"),t&&console.timeEnd("convert to int32"),t&&console.time("predictions"),[4,documentDetectionModel.executeAsync(u)];case 3:return m=_.sent(),t&&console.timeEnd("predictions"),f=m,t&&console.log("predictions made!",f.map((function(e){return e.arraySync()}))),[4,f[documentDetectionModel.outputPositions.boxes].array()];case 4:return p=_.sent()[0],[4,f[documentDetectionModel.outputPositions.scores].array()];case 5:return g=_.sent()[0],[4,f[documentDetectionModel.outputPositions.labels].array()];case 6:return h=(h=_.sent()[0]).map((function(e){return Math.round(e)})),v=(new Date).getTime()-a.getTime(),[2,{boxes:p,scores:g,labels:h,time:v}];case 7:return b=_.sent(),console.error("caught error in makeDocumentDetectionPredictions",b),[2,{boxes:[],scores:[],labels:[],time:0}];case 8:return tf__namespace.engine().endScope(),[7];case 9:return[2]}}))}))}function makeFocusPrediction(e,t,a,n){return void 0===n&&(n=!1),tslib.__awaiter(this,void 0,void 0,(function(){var r,i,o,l,s,d,c,u,m,f,p,g,h,v,b,_,y,C,x;return tslib.__generator(this,(function(R){switch(R.label){case 0:if(!focusModel)throw new Error("focus model is not loaded");r=new Date,R.label=1;case 1:return R.trys.push([1,5,6,7]),tf__namespace.engine().startScope(),i=void 0,a?(o=cropToBoundingBox(e,a,t.cropCanvas),l=getFrameDimensions(e),(c=(s=[a[2]*l[0],a[3]*l[1]])[1])>(d=s[0])&&(m=(u=t.rotateCanvas).getContext("2d"))&&(u.width=c,u.height=d,m.clearRect(0,0,u.width,u.height),m.translate(u.width/2,u.height/2),m.rotate(1.5708),m.drawImage(o,-d/2,-c/2),o=u),i=tf__namespace.browser.fromPixels(o)):i=tf__namespace.browser.fromPixels(e),f=tf__namespace.image.resizeBilinear(i,[448,448]).div(tf__namespace.scalar(127.5)).sub(tf__namespace.scalar(1)),p=tf__namespace.cast(f,"float32"),v=(h=tf__namespace).tensor4d,_=(b=Array).from,[4,p.data()];case 2:return g=v.apply(h,[_.apply(b,[R.sent()]),[1,448,448,3]]),y=tf__namespace.cast(g,"float32"),n&&console.time("focus prediction"),[4,focusModel.predict(y)];case 3:return[4,R.sent().array()];case 4:return C=R.sent()[0],n&&console.timeEnd("focus prediction"),x=(new Date).getTime()-r.getTime(),[2,[C,x]];case 5:return R.sent(),[2,[[0,0],0]];case 6:return tf__namespace.engine().endScope(),[7];case 7:return[2]}}))}))}function applyNonMaxSuppression(e){var t={};return e.forEach((function(e,a){e&&(t[e.label]||(t[e.label]=[0,-1]),e.score>t[e.label][0]&&(t[e.label]=[e.score,a]))})),Object.keys(t).map((function(a){return e[t[a][1]]})).filter((function(e){return!!e}))}var CapturedDocumentTypeValues=["idCardFront","idCardBack","passport","selfie"],requiredDocumentsForOption={passport:["passport"],idCard:["idCardFront","idCardBack"],idCardAndPassport:["idCardFront","idCardBack","passport"],idCardOrPassport:["idCardFront","idCardBack","passport"]};function requiredImageCountForOption(e){return"idCardOrPassport"===e?1:requiredDocumentsForOption[e].length}function allowedImageCountForOption(e){return"idCardOrPassport"===e?2:requiredImageCountForOption(e)}var initialState$4={initialDrawComplete:!1,redrawing:!1,guideRectX:0,guideRectY:0,guideRectWidth:0,guideRectHeight:0,guideRectOffsetTop:0,guideImageWidth:0,guideImageHeight:0,pageWidth:0,pageHeight:0,videoWidth:0,videoHeight:0,detectedObjects:[],bestDocument:void 0,bestMrz:void 0,bestPdf417:void 0,documentType:"none",documentInBounds:!1,documentTooClose:!1,documentDetectionScore:0,documentDetectionThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThresholdMet:!1,focusScore:0,focusThresholdMet:!1,barcodeScanningEnabled:!1,barcodeResult:null,waitingForBarcodeScan:!1,shouldScanBarcode:!1,autoCaptureBarcodeRequired:"mobile",barcodeScanFailedAttempts:0,maxBarcodeScanAttempts:10,isGoodFrame:!1,goodFramesCount:0,goodFramesThreshold:3,goodFramesThresholdMet:!1,lastFrameCapturedAt:null,frameCaptureRate:0,capturing:!1,captured:!1,captureFailed:!1,imageUrl:null,captureState:"capturing",capturedDocuments:{},captureRequirement:"idCardOrPassport",requestedDocumentType:"idCardFront",detectedDocumentType:"none",differentDocumentTypeDetections:0},IdCaptureStateContext=React.createContext(initialState$4),IdCaptureDispatchContext=React.createContext((function(){})),reducer$4=function e(t,a){var n;switch(a.type){case"configureWizard":var r=a.payload,i=r.captureRequirement,o=r.precapturedDocuments,l=tslib.__assign(tslib.__assign({},t),{captureRequirement:i});if("passport"===i&&(l.requestedDocumentType="passport"),o)for(var s=0,d=CapturedDocumentTypeValues;s<d.length;s++){var c=d[s],u=o[c];u&&(l.requestedDocumentType=c,l=e(l,{type:"documentCaptured",payload:u}))}return l;case"configureCapture":return tslib.__assign(tslib.__assign(tslib.__assign({},t),a.payload),{goodFramesCount:0,capturing:!1,captured:!1,captureFailed:!1});case"redrawRequested":return tslib.__assign(tslib.__assign({},t),{redrawing:!0,guideRectX:0,guideRectY:0,guideRectWidth:0,guideRectHeight:0,guideRectOffsetTop:0});case"redrawInProgress":return tslib.__assign(tslib.__assign({},t),{redrawing:!1,guideRectX:0,guideRectY:0,guideRectWidth:0,guideRectHeight:0,guideRectOffsetTop:0});case"redrawCompleted":return tslib.__assign(tslib.__assign(tslib.__assign({},t),a.payload),{initialDrawComplete:!0});case"pageRendered":return tslib.__assign(tslib.__assign({},t),a.payload);case"guideImageLoaded":return tslib.__assign(tslib.__assign({},t),{guideImageWidth:a.payload.width,guideImageHeight:a.payload.height});case"objectsDetected":var m=a.payload.prediction,f=m.detectedObjects,p=m.detectionScore,g=m.detectionThresholdMet,h=m.detectedDocumentType,v=m.passportDetectionScore,b=m.passportDetectionThresholdMet,_=m.mrzDetectionScore,y=m.mrzDetectionThresholdMet,C=m.pdf417DetectionScore,x=m.pdf417DetectionThresholdMet,R=m.bestDocumentOrPassport,E=m.bestMrz,I=m.bestPdf417,T=m.documentInBounds,w=m.documentTooClose,M=m.focusScore,S=m.focusThresholdMet,D=m.frameWidth,k=m.frameHeight,N=new Date,O=0,j=t.goodFramesThreshold;t.lastFrameCapturedAt&&(O=1e3/(N.getTime()-t.lastFrameCapturedAt.getTime()))>0&&(j=Math.ceil(3*O));var A=!0===t.autoCaptureBarcodeRequired||"mobile"===t.autoCaptureBarcodeRequired&&isMobile(),L=t.barcodeScanningEnabled&&x&&A,B=L&&!t.barcodeResult,F=g&&T&&!w&&S,P=t.goodFramesCount;return F&&(P+=1),tslib.__assign(tslib.__assign({},t),{videoWidth:D,videoHeight:k,detectedObjects:f,bestDocument:R,bestMrz:E,bestPdf417:I,documentType:h,documentInBounds:T,documentTooClose:w,documentDetectionScore:p,documentDetectionThresholdMet:g,mrzDetectionScore:_,mrzDetectionThresholdMet:y,pdf417DetectionScore:C,pdf417DetectionThresholdMet:x,passportPageDetectionScore:v,passportPageDetectionThresholdMet:b,focusScore:M,focusThresholdMet:S,shouldScanBarcode:L,waitingForBarcodeScan:B,isGoodFrame:F,goodFramesCount:P,goodFramesThreshold:j,goodFramesThresholdMet:P>=j,lastFrameCapturedAt:N,frameCaptureRate:O});case"predictionMade":var $=a.payload,z=$.detectedDocumentType,U=$.passportDetectionScore,G=t.requestedDocumentType;l=tslib.__assign(tslib.__assign({},t),{detectedDocumentType:z});if("idCardOrPassport"===t.captureRequirement)G.startsWith(z)&&(l.differentDocumentTypeDetections=0),"passport"===z&&"passport"!==G&&(l.requestedDocumentType="passport"),"passport"===G&&U<.3&&(l.requestedDocumentType="idCardFront"in t.capturedDocuments?"idCardBack":"idCardFront");return l;case"barcodeScanned":return tslib.__assign(tslib.__assign({},t),{barcodeResult:a.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":return(l=tslib.__assign(tslib.__assign({},t),{barcodeScanFailedAttempts:t.barcodeScanFailedAttempts+1})).barcodeScanFailedAttempts>=l.maxBarcodeScanAttempts&&(l.autoCaptureBarcodeRequired=!1,l.shouldScanBarcode=!1,l.waitingForBarcodeScan=!1),l;case"capturing":return tslib.__assign(tslib.__assign({},t),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return tslib.__assign(tslib.__assign({},t),{capturing:!1,captured:!0,captureFailed:!1});case"frameCaptured":return tslib.__assign(tslib.__assign({},t),{imageUrl:a.payload.imageUrl});case"captureFailed":return tslib.__assign(tslib.__assign({},t),{capturing:!1,captured:!1,captureFailed:!0});case"documentCaptured":var W=tslib.__assign(tslib.__assign({},t),{capturedDocuments:tslib.__assign(tslib.__assign({},t.capturedDocuments),(n={},n[t.requestedDocumentType]=a.payload,n))}),V=requiredDocumentsForOption[t.captureRequirement].filter((function(e){return!(e in W.capturedDocuments)}));return"idCardOrPassport"===t.captureRequirement&&(V="passport"===t.requestedDocumentType?[]:V.filter((function(e){return"passport"!==e}))),0===V.length?W.captureState="complete":(W.requestedDocumentType=V[0],"idCardFront"===t.requestedDocumentType&&"idCardBack"===W.requestedDocumentType&&(W.captureState="requestingFlip",W.documentDetectionThresholdMet=!1,W.passportPageDetectionThresholdMet=!1)),W;case"documentCapturedManually":l=tslib.__assign({},t);var H=tslib.__assign(tslib.__assign({},a.payload),{width:0,height:0});return 0===Object.keys(t.capturedDocuments).length?l.capturedDocuments.passport=H:(l.capturedDocuments={},l.capturedDocuments.idCardFront=t.capturedDocuments.passport,l.capturedDocuments.idCardBack=H),l;case"flipRequestCompleted":return tslib.__assign(tslib.__assign({},t),{captureState:"capturing"});case"resetWizard":return tslib.__assign({},initialState$4);default:return t}},IdCaptureStateProvider=function(e){var t=e.children,a=React.useReducer(reducer$4,initialState$4),n=a[0],r=a[1],i=useDebounce.useDebouncedCallback((function(){r({type:"redrawRequested"})}),500);return React.useLayoutEffect((function(){if("undefined"!=typeof window)return window.addEventListener("resize",i),function(){window.removeEventListener("resize",i)}}),[i]),React__default.default.createElement(IdCaptureStateContext.Provider,{value:n},React__default.default.createElement(IdCaptureDispatchContext.Provider,{value:r},t))},useIdCaptureState=function(){var e=React.useContext(IdCaptureStateContext),t=React.useContext(IdCaptureDispatchContext);if(!e||!t)throw new Error("useIdCaptureState cannot be used without IdCaptureStateProvider");return[e,t]},DebugStatsPane=styled__default.default.span(templateObject_1$B||(templateObject_1$B=tslib.__makeTemplateObject(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"],["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"]))),ObjectDetectionDebugOverlayDiv=styled__default.default.div(templateObject_2$q||(templateObject_2$q=tslib.__makeTemplateObject(["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"],["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"])),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),ObjectDetectionDebugBox=styled__default.default.div(templateObject_3$j||(templateObject_3$j=tslib.__makeTemplateObject(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"],["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),FaceDetectionKeypointMarker=styled__default.default.div(templateObject_4$e||(templateObject_4$e=tslib.__makeTemplateObject(["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"],["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""}));function useDebugScalingDetails(e){var t=e.enabled,a=void 0===t||t,n=e.pageWidth,r=e.pageHeight,i=e.videoWidth,o=e.videoHeight;return React.useMemo((function(){var e=!1,t=0,l=0,s=0,d=0;return a&&((e=n/r<i/o)?s=((t=i*(r/o))-n)/2:d=((l=o*(n/i))-r)/2),{horizontal:e,pageWidth:n,pageHeight:r,videoWidth:i,videoHeight:o,scaledWidth:t,scaledHeight:l,xOffset:s,yOffset:d}}),[a,r,n,o,i])}var templateObject_1$B,templateObject_2$q,templateObject_3$j,templateObject_4$e,DebugBoundingBoxOverlay=function(e){var t=e.scaling,a=e.$flipX,n=e.children,r=useIdCaptureState()[0];return React__default.default.createElement(ObjectDetectionDebugOverlayDiv,{$flipX:a,style:{top:r.guideRectY,left:r.guideRectX,width:r.guideRectWidth||(null==t?void 0:t.pageWidth),height:r.guideRectHeight||(null==t?void 0:t.pageHeight)}},n)};function IdCaptureDetectedObjectDebugBox(e){var t=e.obj,a=e.color,n=[t.bbox[1],t.bbox[0],t.bbox[2],t.bbox[3]],r=n[1],i=n[2],o=n[3];return React__default.default.createElement(ObjectDetectionDebugBox,{$flipX:e.flipX,$color:void 0===a?"green":a,style:{top:"".concat(100*n[0],"%"),left:"".concat(100*r,"%"),width:"".concat(100*i,"%"),height:"".concat(100*o,"%")}},t.label," (",t.score.toFixed(3),")")}function SelfieCaptureFaceDebugBox(e){var t,a,n,r,i=e.face,o=e.flipX,l=e.color,s=e.scaling,d=s.pageWidth,c=s.pageHeight,u=s.videoWidth,m=s.videoHeight,f=s.scaledWidth,p=s.scaledHeight;return u&&m&&d&&c?(s.horizontal?(t=i.box.yMin/m*c,a=i.box.xMin/u*f-s.xOffset,n=i.box.width/u*f,r=i.box.height/m*c):(t=i.box.yMin/m*p-s.yOffset,a=i.box.xMin/u*d,n=i.box.width/u*d,r=i.box.height/m*p),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ObjectDetectionDebugBox,{$flipX:o,$color:void 0===l?"green":l,style:{top:t,left:a,width:n,height:r}}),i.keypoints.map((function(e,t){return React__default.default.createElement(SelfieCaptureFaceKeypoint,{key:t,point:e,scaling:s,flipX:o})})))):React__default.default.createElement(React__default.default.Fragment,null)}function SelfieCaptureFaceKeypoint(e){var t,a,n=e.point,r=e.color,i=e.scaling,o=i.videoWidth,l=i.videoHeight;return i.horizontal?(t=n.x/o*i.scaledWidth-i.xOffset,a=n.y/l*i.pageHeight):(t=n.x/o*i.pageWidth,a=n.y/l*i.scaledHeight-i.yOffset),React__default.default.createElement(FaceDetectionKeypointMarker,{$flipX:e.flipX,$color:void 0===r?"red":r,style:{top:a-=2,left:t-=2}})}var enTranslation={},esTranslation={"Use your device camera to capture your ID":"Para capturar la identificación hay que utilizar la cámara del dispositivo.","Use your iPhone as a webcam":"Usar el iPhone como cámara web","Models warming up...":"Cargando modelos...","Camera initializing...":"Inicializando la cámara...","Camera access blocked":"Acceso bloqueado a la cámara","Location access blocked":"Acceso bloqueado a la localización",Continue:"Continuar","Processing...":"Procesando...","Your camera permission is disabled":"El permiso de la cámara está desactivado","This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.":"Esta aplicación requiere el acceso a la cámara para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la cámara en el explorador actual.","Your location permission is disabled":"El permiso de la localización está desactivado","This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.":"Esta aplicación requiere el acceso a la localización para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la localización en el explorador actual.",Retry:"Reintentar","Scan the front of ID":"Escanear el frente de la ID","Scan the back of ID":"Escanear el reverso de la ID","Scan the ID page of passport":"Escanear la página de datos del pasaporte","ID Card Front":"Frente de la ID","ID Card Back":"Reverso de la ID",Passport:"Pasaporte","Document not detected":"No se ha detectado el documento","Document is not centered":"Documento no centrado","Document too close, please back up":"Documento muy cerca, favor de alejarse","Document out of focus – try improving the lighting":"Documento no enfocado - hay que tratar de mejorar la iluminación","Document detected, hold still...":"Se ha detectado el documento, no moverse por favor...","Capturing...":"Capturando...","Capture failed!":"Falló la captura","Please flip your ID card...":"Por favor voltea la identificación...","ID card front captured.":"Se ha capturado el frente de la identificación.","ID Capture Successful":"Captura Exitosa de ID","Verify the entire ID was captured clearly with no glare.":"Hay que verificar que toda la ID se vea completa y sin reflejos.",Submit:"Enviar","Submitting...":"Enviando...","Use your device camera to capture your face":"Hay que utilizar la cámara del dispositivo para capturar el rostro","Remove Sunglasses & Hat":"Hay que quitarse lentes y/o la gorra","Avoid Excessive Backlighting":"Hay que evitar demasiada luz en el fondo","Hold still for a few seconds...":"Hay que permanecer quieto por unos segundos...","Look straight into the camera...":"Hay que mirar directamente a la cámara...","Move back...":"Hay que hacerse hacia atrás..","Move forward...":"Hay que hacerse hacia adelante...","Move to the center...":"Hay que moverse hacia el centro...","Please remove your eye coverings (sunglasses, eye patch, etc.)...":"Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...","Please remove your head coverings (hat, scarf, etc.)...":"Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...","Please remove your mask...":"Hay que quitarse el cubrebocas...","Live face not detected, please try again":"Rostro vivo no detectado. Por favor hay que intentar de nuevo.",Exit:"Salir","Face liveness has been verified!":"Se ha verificado la Prueba de Vida en rostro!",Done:"Terminar","Customer has been identified!":"¡Se ha identificado al cliente!","Customer not found":"Cliente no encontrado","Additional document capture":"Captura de otro documento",Next:"Siguiente","Please sign the box below":"Por favor, hay que firmar en el recuadro de abajo",Accept:"Aceptar",Clear:"Borrar","Video signature has been successfully captured!":"La video firma ha sido exitosa.","Network unreachable":"No hay conexión a internet.","We're having trouble reaching our services, please check your connection and try again.":"Estamos teniendo problemas para alcanzar nuestros servicios, por favor verificar la conexión a internet e intentar de nuevo.","We're sorry, an unexpected error has occurred.":"Lo sentimos, se ha producido un error inesperado.","Document Capture":"Captura de documento",Capture:"Capturar","Retry capture":"Reintentar la captura",Upload:"Enviar","Uploading...":"Procesando...","Upload succeeded!":"Proceso completo!","Display the front of your ID card...":"Hay que mostrar el frente de la identificación...","Display the back of your ID card...":"Hay que mostrar el reverso de la identificación...","Please move your face to the center...":"Por favor, hay que mover la cabeza hacia el centro...","Please read the following text aloud":"Hay que leer el siguiente texto en voz alta","Video ID has been successfully captured!":"Video ID capturado exitosamente!","We're having some trouble.":"Se ha presentado un problema.","On-device capture guidance failed, please capture a selfie manually.":"La captura automática para toma de selfie falló. Por favor, hay que tomarse la selfie manualmente.","Verifying...":"Verificando....","Please capture the front of your ID card.":"Hay que capturar el frente de la identificación.","Please capture the back of your ID card.":"Hay que capturar el reverso de la identificación.","Please capture the front of your ID card, or the ID page of your passport.":"Hay que capturar el frente de la identificación o la página de datos del pasaporte.","Please capture the back of your ID card, or click Done if submitting a passport.":"Hay que capturar el reverso de la identificación o hay que presionar el botón de Terminar si se trata de un pasaporte.","Please capture the ID page of your passport.":"Hay que capturar la página de datos del pasaporte.","On-device capture guidance failed, please capture a photo of your ID card manually.":"La captura automática falló. Por favor hay que tomar una foto de la identificación manualmente.","On-device capture guidance failed, please capture a photo of your passport manually.":"La captura automática falló. Por favor hay que tomar una foto de la pasaporte manualmente.","On-device capture guidance failed, please capture photos of your ID card and passport manually.":"La captura automática falló. Por favor hay que tomar una foto de la identificación y del pasaporte manualmente.","On-device capture guidance failed, please capture photos of your ID card or passport manually.":"La captura automática falló. Por favor hay que tomar una foto de la identificación o del pasaporte manualmente.","Downloading...":"Descargando...","Accessing camera...":"Accediendo a la cámara","Camera ready":"Cámara está lista","Loading guided capture experience...":"Cargando la experiencia guiada para la captura....","Guided capture experience ready":"La experiencia guiada está lista","Let's Go!":"Vamos!"},resources={en:{translation:enTranslation},es:{translation:esTranslation}};function initializeI18n(){i18n__default.default.use(LanguageDetector__default.default).use(reactI18next.initReactI18next).init({resources:resources,detection:{caches:[]},fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}})}var useLanguage=function(e){var t=reactI18next.useTranslation().i18n;React.useEffect((function(){"auto"!==e?t.changeLanguage(e):t.changeLanguage()}),[t,e])};function evaluateVerbiage(e,t,a,n){if("string"==typeof a)return a;if("object"==typeof a){var r=a;if(r[t])return r[t];var i=t.split("-")[0];if(r[i])return r[i]}return e(n)}function useVerbiage(e,t){var a=reactI18next.useTranslation(),n=a.t,r=a.i18n;return React.useMemo((function(){return evaluateVerbiage(n,r.language,e,t)}),[t,r.language,n,e])}function useTranslations(e,t){var a=reactI18next.useTranslation(),n=a.t,r=a.i18n;return React.useMemo((function(){return tslib.__assign(tslib.__assign({},e),Object.keys(t).reduce((function(a,i){var o;return tslib.__assign(tslib.__assign({},a),((o={})[i]=evaluateVerbiage(n,r.language,null==e?void 0:e[i],t[i]),o))}),{}))}),[t,r.language,n,e])}var templateObject_1$A,templateObject_2$p,templateObject_1$z,templateObject_2$o,templateObject_3$i,templateObject_4$d,templateObject_1$y,templateObject_1$x,GuidanceMessageContainerDiv=styled__default.default.div(templateObject_1$A||(templateObject_1$A=tslib.__makeTemplateObject(["\n position: absolute;\n top: calc(",");\n ","\n font-weight: bold;\n width: 100%;\n display: flex;\n"],["\n position: absolute;\n top: calc(",");\n ","\n font-weight: bold;\n width: 100%;\n display: flex;\n"])),(function(e){var t=e.$top;return null!=t?t:"10vh"}),(function(e){var t=e.$bottom;return t?"bottom: ".concat(t,";"):""})),GuidanceMessageContainer=function(e){var t=React__default.default.createElement(GuidanceMessageContainerDiv,tslib.__assign({},e)),a=document.getElementById("idmission-above-guides-content");return a?reactDom.createPortal(t,a):t},GuidanceMessage=styled__default.default.div(templateObject_2$p||(templateObject_2$p=tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"],["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"])),(function(e){var t,a,n,r,i,o;return null!==(o=null!==(t=e.$background)&&void 0!==t?t:null===(i=null===(n=null===(a=e.theme)||void 0===a?void 0:a.guidanceMessages)||void 0===n?void 0:n[null!==(r=e.$variant)&&void 0!==r?r:"default"])||void 0===i?void 0:i.backgroundColor)&&void 0!==o?o:"#ccc"}),(function(e){var t,a,n,r,i,o;return null!==(o=null!==(t=e.$textColor)&&void 0!==t?t:null===(i=null===(n=null===(a=e.theme)||void 0===a?void 0:a.guidanceMessages)||void 0===n?void 0:n[null!==(r=e.$variant)&&void 0!==r?r:"default"])||void 0===i?void 0:i.textColor)&&void 0!==o?o:"black"})),IdCapture=function(e){var t,a,n,r,i,o,l,s,d,c=e.requiredDocumentType,u=e.autoCaptureEnabled,m=void 0===u||u,f=e.autoCaptureScoreThreshold,p=void 0===f?.8:f,g=e.autoCaptureGoodFramesRequired,h=void 0===g?3:g,v=e.autoCaptureBarcodeRequired,b=void 0===v?"mobile":v,_=e.mrzDetectionScoreThreshold,y=void 0===_?.25:_,C=e.passportPageDetectionThreshold,x=void 0===C?.6:C,R=e.pdf417DetectionThreshold,E=void 0===R?.15:R,I=e.focusScoreThreshold,T=void 0===I?.3:I,w=e.barcodeScanningEnabled,M=void 0===w||w,S=e.maxBarcodeScanAttempts,D=void 0===S?10:S,k=e.guidanceMessage,N=e.guidanceSatisfied,O=e.onPrediction,j=e.onBarcodeScanned,A=e.onCapture,L=e.assets,B=void 0===L?{}:L,F=e.classNames,P=void 0===F?{}:F,$=e.colors,z=void 0===$?{}:$,U=e.verbiage,G=void 0===U?{}:U,W=e.debugMode,V=void 0!==W&&W,H=useResizeObserver__default.default(),q=H.ref,Y=H.width,Z=void 0===Y?1:Y,Q=H.height,X=void 0===Q?1:Q,K=useIdCaptureState(),J=K[0],ee=K[1],te=React.useContext(CameraStateContext),ae=te.cameraRef,ne=te.cameraReady,re=te.takePhoto,ie=te.videoRef,oe=te.videoLoaded,le=React.useRef(),se=React.useContext(IdCaptureModelsContext),de=se.ready,ce=se.working,ue=se.setThresholds,me=se.makePrediction,fe=se.onPredictionMade,pe=se.detectionTime,ge=se.focusPredictionTime,he=se.getBestFrame,ve=se.resetBestFrame;React.useEffect((function(){le.current=new Date}),[]),React.useEffect((function(){ee({type:"configureCapture",payload:{requiredDocumentType:c,goodFramesThreshold:h,autoCaptureBarcodeRequired:b,barcodeScanningEnabled:M,maxBarcodeScanAttempts:D}}),ve(),ue({document:p,passport:x,mrz:y,pdf417:E,focus:{mobile:T}})}),[c,p,T,y,h,b,M,D,x,E,ve,ue,ee]),React.useEffect((function(){ee({type:"pageRendered",payload:{pageWidth:Z,pageHeight:X}})}),[ee,X,Z]);var be=React.useRef(0),_e=React.useRef(!1);React.useEffect((function(){_e.current=oe&&ne&&de&&!J.capturing&&!J.captured}),[ne,J.captured,J.capturing,de,oe]);var ye=React.useState(null),Ce=ye[0],xe=ye[1];React.useEffect((function(){if(de&&ne&&oe)return be.current=requestAnimationFrame((function e(){return tslib.__awaiter(this,void 0,void 0,(function(){var t,a;return tslib.__generator(this,(function(n){switch(n.label){case 0:if(!_e.current||ce.current)return[3,5];n.label=1;case 1:return n.trys.push([1,4,,5]),J.shouldScanBarcode?[4,re()]:[3,3];case 2:if(!(t=n.sent()))return be.current=requestAnimationFrame(e),[2];xe(t),n.label=3;case 3:return ie.current&&me(ie.current),[3,5];case 4:return a=n.sent(),console.error("error capturing frame",a),[3,5];case 5:return be.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(be.current)}}),[ne,me,de,ce,J.shouldScanBarcode,re,oe,ie]),React.useEffect((function(){fe((function(e){ee({type:"objectsDetected",payload:{prediction:e}}),null==O||O(e)}))}),[ee,O,fe]),React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return J.shouldScanBarcode&&Ce?[4,scanBarcode(Ce,null===(t=J.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=a.sent())?(ee({type:"barcodeScanned",payload:{result:e}}),null==j||j(e)):ee({type:"barcodeScanFailed"}),a.label=2;case 2:return[2]}}))}))}),[j,J.shouldScanBarcode,null===(t=J.bestPdf417)||void 0===t?void 0:t.bbox,re,Ce,ee]);var Re=m&&J.goodFramesThresholdMet&&!J.capturing&&!J.captured&&!J.waitingForBarcodeScan&&timeSince(le.current)>=3e3;React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n,r,i,o,l,s,d;return tslib.__generator(this,(function(c){switch(c.label){case 0:return Re?(ee({type:"capturing"}),[4,he()]):[2];case 1:if(!(e=c.sent()))return console.log("uh oh, i did not get a photo"),ee({type:"captureFailed"}),[2];if(a=e.boundingBox,n=e.detectionScore,r=e.focusScore,o=(t=e.canvas).height,l=t,((i=t.width)>1920&&o>1080||i>1080&&o>1920)&&J.barcodeResult){if(l=document.createElement("canvas"),i>o?(l.width=1920,l.height=o*(1920/i)):(l.height=1920,l.width=i*(1920/o)),!(s=l.getContext("2d")))return[2];s.drawImage(t,0,0,l.width,l.height)}return d=l.toDataURL("image/jpeg",.95),ee({type:"frameCaptured",payload:{imageUrl:d}}),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=le.current)&&void 0!==e?e:new Date).getTime();null==A||A(d,i,o,{autoCapture:"Y",captureTime:t,boundingBox:a,bestDetectionScore:n,bestFocusScore:r}),ee({type:"captured"})}),0),[2]}}))}))}),[ee,he,A,Re,J.barcodeResult]),B.portraitGuidesImageUrl||(B.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),B.landscapeGuidesImageUrl||(B.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg"));var Ee=styled.useTheme();z.guideBoxUnsatisfiedColor||(z.guideBoxUnsatisfiedColor=null!==(r=null===(n=null===(a=Ee.idCapture)||void 0===a?void 0:a.guideBox)||void 0===n?void 0:n.unsatisfiedColor)&&void 0!==r?r:"white"),z.guideBoxSatisfiedColor||(z.guideBoxSatisfiedColor=null!==(l=null===(o=null===(i=Ee.idCapture)||void 0===i?void 0:i.guideBox)||void 0===o?void 0:o.satisfiedColor)&&void 0!==l?l:"green");var Ie=useTranslations(G,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!",guidanceSatisfiedText:"Document detected, hold still...",guidanceTooBlurryText:"Document out of focus – try improving the lighting",guidanceNotCenteredText:"Document is not centered",guidanceTooCloseText:"Document too close, please back up",guidanceNotDetectedText:"Document not detected"}),Te=useDebugScalingDetails({enabled:V,pageWidth:Z,pageHeight:X,videoWidth:J.videoWidth,videoHeight:J.videoHeight}),we=J.isGoodFrame;return"boolean"==typeof N&&(we=N),k||(k=we?Ie.guidanceSatisfiedText:J.documentDetectionThresholdMet?J.documentInBounds?J.documentTooClose?Ie.guidanceTooCloseText:J.focusThresholdMet?"":Ie.guidanceTooBlurryText:Ie.guidanceNotCenteredText:Ie.guidanceNotDetectedText),React__default.default.createElement(PageContainer,{ref:q,className:"flex ".concat(null!==(s=P.container)&&void 0!==s?s:"")},""!==k&&React__default.default.createElement(GuidanceMessageContainer,{$top:"",$bottom:"12.5dvh",className:P.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{$variant:we?"positive":"default",className:P.guidanceMessage},k)),V&&J.detectedObjects.length>0&&React__default.default.createElement(DebugBoundingBoxOverlay,{$flipX:!(null===(d=ae.current)||void 0===d?void 0:d.isRearFacing),scaling:Te},J.detectedObjects.map((function(e,t){var a;return React__default.default.createElement(IdCaptureDetectedObjectDebugBox,{key:t,obj:e,scaling:Te,flipX:!(null===(a=ae.current)||void 0===a?void 0:a.isRearFacing)})}))),V&&React__default.default.createElement(DebugStatsPane,null,ae.current?React__default.default.createElement(React__default.default.Fragment,null,"✅ Camera: ",ae.current.label," (",ae.current.width,"x",ae.current.height,")"):"❌ Camera not ready",React__default.default.createElement("br",null),J.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(J.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",pe,"ms doc detect, ",ge,"ms focus)",React__default.default.createElement("br",null),de?React__default.default.createElement(React__default.default.Fragment,null,J.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",J.documentDetectionScore," (",J.documentType,")",React__default.default.createElement("br",null),J.documentInBounds?"✅":"❌"," Document In Bounds",React__default.default.createElement("br",null),J.focusThresholdMet?"✅":"❌"," Focus Score:"," ",J.focusScore,React__default.default.createElement("br",null),J.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",J.goodFramesCount,"/",J.goodFramesThreshold,M&&J.autoCaptureBarcodeRequired?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("br",null),J.barcodeResult?"✅":"❌"," Barcode Scanned (",supportsNativeBarcodeScanning()?"Native":"ZXing",","," ",J.barcodeScanFailedAttempts,"/",J.maxBarcodeScanAttempts," failed attempts)"):null):React__default.default.createElement(React__default.default.Fragment,null,"❌ Models not ready")))},timeSince=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},CameraAccessDeniedOverlay=function(e){var t,a=e.assets,n=void 0===a?{}:a,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s,c=React.useContext(CameraStateContext).retryCameraAccess;n.imageUrl||(n.imageUrl=DEFAULT_CDN_URL+"/camera-disable-icon.png");var u=useTranslations(d,{headingText:"Your camera permission is disabled",descriptionText:"This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.",retryBtnText:"Retry"});return React__default.default.createElement(OverlayContainer,{className:"flex ".concat(null!==(t=i.container)&&void 0!==t?t:"")},React__default.default.createElement(StyledOverlayInner$2,{className:i.inner},React__default.default.createElement(StyledOverlayImageContainer$2,{className:i.imageContainer},React__default.default.createElement("img",{src:n.imageUrl,alt:"",className:i.image})),React__default.default.createElement("h3",{className:i.heading},u.headingText),React__default.default.createElement(Description$3,{className:i.description},u.descriptionText),React__default.default.createElement(RetryButton,{variant:"warning",onClick:c,colors:l.retryBtn,className:i.retryBtn,finished:!0},u.retryBtnText)))},StyledOverlayInner$2=styled__default.default(OverlayInner$2)(templateObject_1$z||(templateObject_1$z=tslib.__makeTemplateObject(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"],["\n max-width: 500px;\n height: auto;\n margin: auto;\n"]))),StyledOverlayImageContainer$2=styled__default.default(OverlayImageContainer)(templateObject_2$o||(templateObject_2$o=tslib.__makeTemplateObject(["\n flex-grow: 0;\n"],["\n flex-grow: 0;\n"]))),Description$3=styled__default.default.p(templateObject_3$i||(templateObject_3$i=tslib.__makeTemplateObject(["\n line-height: 1.5;\n margin-bottom: 50px;\n"],["\n line-height: 1.5;\n margin-bottom: 50px;\n"]))),RetryButton=styled__default.default(LoaderButton)(templateObject_4$d||(templateObject_4$d=tslib.__makeTemplateObject(["\n width: 200px;\n margin: 0 auto;\n"],["\n width: 200px;\n margin: 0 auto;\n"]))),ExitCaptureStyledButton=styled__default.default.button(templateObject_1$y||(templateObject_1$y=tslib.__makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"],["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"]))),ExitCaptureButton=function(e){return React__default.default.createElement(ExitCaptureStyledButton,{onClick:e.onClick,className:e.className},React__default.default.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"19.3 19.3 25.499999999999996 25.499999999999996",enableBackground:"new 0 0 64 64",width:16,height:16},React__default.default.createElement("g",{id:"close-outline-bot_x5F_s1g1_x5F_s2g2_x5F_s3g1_x5F_s4g1"},React__default.default.createElement("line",{fill:"none",stroke:"#000000",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:"10",x1:"19.75",y1:"44.25",x2:"44.25",y2:"19.75"})),React__default.default.createElement("g",{id:"close-outline-top_x5F_s1g1_x5F_s2g2_x5F_s3g1_x5F_s4g1"},React__default.default.createElement("line",{fill:"none",stroke:"#000000",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:"10",x1:"44.25",y1:"44.25",x2:"19.75",y2:"19.75"}))))},ButtonsRow=styled__default.default.div(templateObject_1$x||(templateObject_1$x=tslib.__makeTemplateObject(["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n"],["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n"])));function IdCaptureLoadingGraphic(e){var t=window.innerHeight>window.innerWidth;return React__default.default.createElement(t?IdCaptureLoadingGraphicMobile:IdCaptureLoadingGraphicDesktop,tslib.__assign({},e))}function IdCaptureLoadingGraphicDesktop(e){var t,a,n,r,i,o,l=e.width,s=void 0===l?698:l,d=e.height,c=void 0===d?452:d,u=e.className,m=React.useState(0),f=m[0],p=m[1];React.useEffect((function(){var e=setInterval((function(){p((function(e){return(e+1)%7}))}),1e3);return function(){clearInterval(e)}}),[]);var g=styled.useTheme(),h=null!==(n=null===(a=null===(t=g.idCapture)||void 0===t?void 0:t.loadingOverlay)||void 0===a?void 0:a.loadingGraphicAccentColor)&&void 0!==n?n:"var(--idm-color-positive-600)",v=null!==(o=null===(i=null===(r=g.idCapture)||void 0===r?void 0:r.loadingOverlay)||void 0===i?void 0:i.loadingGraphicAccentOpacity)&&void 0!==o?o:.2;return React__default.default.createElement("div",{style:{display:"flex",width:"100%",height:"100%"}},React__default.default.createElement("svg",{className:u,width:s,height:c,viewBox:"0 0 698 452",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"auto",transform:"scale(".concat(f>1?1:1===f?1.25:.75,")"),transition:"transform 0.2s linear, border-width 0.2s linear",border:"".concat(f>=5?10:0,"px solid ").concat(h)}},React__default.default.createElement("g",{filter:1===f?"url(#filter0_f_91_884)":void 0},React__default.default.createElement("path",{d:"M10 0.5L688 0.5C693.247 0.5 697.5 4.75329 697.5 10L697.5 442C697.5 447.246 693.247 451.5 688 451.5L9.99999 451.5C4.75328 451.5 0.5 447.246 0.5 442L0.5 9.99998C0.5 4.75328 4.75329 0.5 10 0.5Z",fill:"#F3F3F3",stroke:"#DCDCDC"}),React__default.default.createElement("mask",{id:"mask0_91_854",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"30",y:"60",width:"207",height:"266"},React__default.default.createElement("rect",{x:"30.7754",y:"60.5945",width:"205.426",height:"265.304",rx:"3",fill:"#D9D9D9"})),React__default.default.createElement("g",{mask:"url(#mask0_91_854)"},React__default.default.createElement("path",{d:"M161.429 226.164C161.472 226.322 161.474 226.488 161.438 226.647C157.252 244.639 146.071 257.508 132.955 257.508C119.837 257.508 108.632 244.59 104.447 226.595C104.411 226.439 104.413 226.276 104.453 226.121L107.568 214.051L108.337 211.118C108.453 210.678 108.85 210.371 109.305 210.371L156.578 210.371C157.034 210.371 157.432 210.68 157.546 211.122L160.976 224.435L161.305 225.701L161.429 226.164Z",fill:"#D2D4DA"}),React__default.default.createElement("path",{d:"M185.475 157.408C185.556 157.356 185.628 157.291 185.693 157.219C210.004 130.149 193.715 196.897 180.188 189.065C157.256 175.818 183.525 158.645 185.475 157.408Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M267.491 324.918C267.577 325.255 267.487 325.608 267.24 325.853C254.85 338.143 225.105 345.481 222.791 346.037C222.686 346.063 222.601 346.067 222.493 346.058C219.509 345.795 174.209 342.097 147.081 357.481C142.849 359.881 122.568 356.455 121.909 356.343C121.888 356.339 121.882 356.339 121.861 356.337L89.946 352.929C89.8715 352.921 89.8068 352.921 89.7323 352.929C87.9869 353.117 64.0883 355.438 45.1808 343.79C29.8522 334.346 9.55527 336.584 -1.36759 325.857C-1.61519 325.614 -1.71005 325.255 -1.62441 324.919L1.46107 312.802C6.33129 293.793 21.3654 279.026 40.5404 274.455L42.6579 273.963L66.162 268.361L72.5851 266.837C75.2907 266.181 77.8788 265.267 80.3256 264.095C82.3725 263.11 84.3253 261.962 86.1605 260.649C88.1368 259.243 89.9955 257.649 91.6659 255.891C96.1597 251.18 99.4771 245.367 101.171 238.827L103.665 229.17L104.324 226.568L104.371 226.357L107.571 214.051L108.319 211.123C108.433 210.681 108.831 210.371 109.288 210.371L156.558 210.371C157.013 210.371 157.411 210.679 157.526 211.12L160.978 224.435L161.308 225.701L161.475 226.325C161.489 226.377 161.496 226.431 161.496 226.486V226.486C161.496 226.54 161.503 226.595 161.517 226.647L162.202 229.193L164.696 238.827C167.025 247.781 172.413 255.446 179.73 260.649C183.729 263.532 188.317 265.665 193.282 266.837L199.211 268.244L225.326 274.455C244.501 279.026 259.535 293.793 264.406 312.802L267.491 324.918Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M161.429 226.164C161.472 226.322 161.474 226.488 161.438 226.647C157.252 244.639 146.071 257.508 132.955 257.508C119.837 257.508 108.632 244.59 104.447 226.595C104.411 226.439 104.413 226.276 104.453 226.121L107.568 214.051L108.337 211.118C108.453 210.678 108.85 210.371 109.305 210.371L156.578 210.371C157.034 210.371 157.432 210.68 157.546 211.122L160.976 224.435L161.305 225.701L161.429 226.164Z",fill:"#DC968D"}),React__default.default.createElement("path",{d:"M80.3983 157.408C80.3166 157.356 80.2445 157.291 80.1799 157.219C55.8686 130.149 72.1582 196.897 85.685 189.065C108.616 175.818 82.3476 158.645 80.3983 157.408Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M189.527 137.873C189.52 137.873 189.515 137.879 189.515 137.885C189.515 139.944 189.397 141.956 189.162 143.968C188.974 145.796 188.15 153.601 186.692 163.54C185.895 169.048 184.865 175.184 183.649 181.346C183.638 181.398 183.635 181.447 183.631 181.5V181.5C183.625 181.607 183.575 181.713 183.554 181.818C180.568 196.836 176.367 211.751 170.881 217.193C164.67 223.381 159.682 229.007 153.988 233.062C148.295 237.14 141.919 239.672 132.978 239.672C124.038 239.672 117.662 237.14 111.968 233.062C106.298 229.007 101.286 223.381 95.0752 217.193C89.5754 211.714 85.367 196.715 82.3561 181.682C82.3499 181.651 82.3467 181.628 82.3467 181.596V181.596C82.3467 181.566 82.3438 181.526 82.338 181.496C81.9648 179.566 81.6147 177.636 81.2645 175.728C81.1233 174.932 80.9821 174.135 80.841 173.338C80.2528 169.962 79.7352 166.657 79.2646 163.563C77.5768 152.19 76.7532 143.609 76.7472 143.546C76.747 143.544 76.7471 143.545 76.7469 143.543C76.5589 141.692 76.4648 139.794 76.4648 137.873C76.4648 137.381 76.4648 136.889 76.4648 136.397C76.5825 131.967 77.1942 127.654 78.3 123.528C78.3471 123.341 78.3941 123.153 78.4412 122.966C84.723 100.089 105.121 83.0011 129.731 81.6416C130.814 81.5713 131.872 81.5479 132.978 81.5479C148.601 81.5479 162.741 87.8531 172.975 98.0494C181.822 106.839 187.75 118.559 189.186 131.615C189.42 133.674 189.538 135.756 189.539 137.862C189.539 137.868 189.533 137.873 189.527 137.873V137.873Z",fill:"#FEAEA5"}),React__default.default.createElement("path",{d:"M141.871 188.529C141.871 192.42 137.895 195.561 132.977 195.561C128.06 195.561 124.107 192.42 124.107 188.529V188.529C124.107 188.132 124.593 188.105 124.773 188.459C126.079 191.03 129.266 192.842 132.977 192.842C136.689 192.842 139.893 191.03 141.204 188.458C141.381 188.112 141.871 188.14 141.871 188.529V188.529Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M267.512 325.037C267.599 325.374 267.509 325.727 267.264 325.974C232.886 360.672 133.16 359.767 132.956 359.765C132.95 359.765 132.962 359.765 132.956 359.765C132.752 359.767 33.0007 360.672 -1.3537 325.95C-1.59784 325.703 -1.68748 325.351 -1.60167 325.014L1.48353 312.922C6.35375 293.889 21.3879 279.122 40.5629 274.551L66.2315 268.456L72.6075 266.933C75.2325 266.311 77.7789 265.415 80.1745 264.28C80.5729 264.092 81.0485 264.176 81.3541 264.494C94.359 278.009 112.66 286.435 132.956 286.435C153.253 286.435 171.556 278.008 184.562 264.49C184.865 264.174 185.337 264.088 185.734 264.274C188.127 265.395 190.657 266.311 193.304 266.933L198.88 268.269L225.349 274.551C244.524 279.122 259.558 293.889 264.405 312.922L267.512 325.037Z",fill:"#6E7174"}),React__default.default.createElement("path",{d:"M197.318 267.895C198.038 268.068 198.334 268.924 197.847 269.481C190.872 277.457 169.982 297.251 132.954 298.717C92.046 300.357 71.408 275.554 67.0543 269.627C66.6418 269.065 66.9505 268.284 67.6281 268.122L72.606 266.933C75.231 266.311 77.7773 265.415 80.173 264.28C80.5713 264.092 81.0469 264.176 81.3526 264.494C94.3575 278.009 112.659 286.435 132.954 286.435C153.252 286.435 171.555 278.008 184.56 264.49C184.864 264.174 185.336 264.088 185.732 264.274C188.126 265.395 190.655 266.311 193.303 266.933L197.318 267.895Z",fill:"#555A5E"}),React__default.default.createElement("path",{d:"M75.4663 140.851C75.4663 152.603 78.3795 166.091 80.4253 174.114C80.713 175.242 82.458 175.01 82.5156 173.848C83.0875 162.287 85.7494 140.134 97.4904 130.033C108.545 120.523 117.526 131.201 132.13 131.201C145.353 131.201 157.695 120.704 168.836 130.033C181.053 140.264 183.463 159.992 183.739 171.736C183.767 172.936 185.717 173.218 186.003 172.053C187.986 163.959 190.429 151.77 190.429 140.851C190.429 100.426 174.665 81.3704 132.13 81.3704C93.3928 81.3704 75.4663 100.225 75.4663 140.851Z",fill:"#525252"})),React__default.default.createElement("rect",{x:"30.7754",y:"360.29",width:"640.93",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"267.427",y:"134.29",width:"402.636",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"267.427",y:"209.623",width:"180.775",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"481.069",y:"209.623",width:"188.992",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"267.427",y:"284.956",width:"180.775",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"481.069",y:"284.956",width:"188.992",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"266.829",y:"58.3618",width:"402.636",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("g",{fillOpacity:3===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"672",y:"55",width:"47",height:"410",transform:"rotate(90 672 55)",fill:h}),React__default.default.createElement("rect",{x:"670",y:"206",width:"47",height:"194",transform:"rotate(90 670 206)",fill:h}),React__default.default.createElement("rect",{x:"242",y:"61",width:"271",height:"218",transform:"rotate(90 242 61)",fill:h}),React__default.default.createElement("rect",{x:"677",y:"357",width:"47",height:"653",transform:"rotate(90 677 357)",fill:h})),React__default.default.createElement("g",{fillOpacity:4===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"455",y:"281",width:"47",height:"194",transform:"rotate(90 455 281)",fill:h}),React__default.default.createElement("rect",{x:"672",y:"131",width:"47",height:"411",transform:"rotate(90 672 131)",fill:h})),React__default.default.createElement("g",{fillOpacity:f>=5?1:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("circle",{cx:"360",cy:"215",r:"41",fill:h}),React__default.default.createElement("path",{d:"M339.937 218.076L350.044 229.83L381.809 201.915",stroke:"white",strokeWidth:"10",strokeOpacity:f>=5?1:0,strokeLinecap:"round",strokeLinejoin:"round",style:{transition:"stroke-opacity 0.2s linear"}}))),React__default.default.createElement("filter",{id:"filter0_f_91_884",x:"0",y:"0",width:"848",height:"556",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},React__default.default.createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),React__default.default.createElement("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),React__default.default.createElement("feGaussianBlur",{stdDeviation:"5",result:"effect1_foregroundBlur_91_884"}))))}function IdCaptureLoadingGraphicMobile(e){var t,a,n,r,i,o,l=e.width,s=void 0===l?428:l,d=e.height,c=void 0===d?747:d,u=e.className,m=React.useState(0),f=m[0],p=m[1];React.useEffect((function(){var e=setInterval((function(){p((function(e){return(e+1)%7}))}),1e3);return function(){clearInterval(e)}}),[]);var g=styled.useTheme(),h=null!==(n=null===(a=null===(t=g.idCapture)||void 0===t?void 0:t.loadingOverlay)||void 0===a?void 0:a.loadingGraphicAccentColor)&&void 0!==n?n:"var(--idm-color-positive-600)",v=null!==(o=null===(i=null===(r=g.idCapture)||void 0===r?void 0:r.loadingOverlay)||void 0===i?void 0:i.loadingGraphicAccentOpacity)&&void 0!==o?o:.2;return React__default.default.createElement("svg",{className:u,width:s,height:c,viewBox:"0 0 428 747",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React__default.default.createElement("g",{id:"card",style:{transform:"translate(".concat(f<1?"-500px":"0",", 0)"),transition:"transform 0.3s linear"}},React__default.default.createElement("path",{d:"M76.5001 181.274C76.5001 176.027 80.7534 171.774 86.0001 171.774L342 171.774C347.247 171.774 351.5 176.027 351.5 181.274L351.5 586C351.5 591.247 347.247 595.5 342 595.5L86.0001 595.5C80.7534 595.5 76.5001 591.247 76.5001 586L76.5001 181.274Z",fill:"#F3F3F3",stroke:"#DCDCDC"}),React__default.default.createElement("mask",{id:"mask0_29_1815",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"113",y:"452",width:"163",height:"126"},React__default.default.createElement("rect",{x:"113",y:"577.273",width:"125",height:"162",rx:"3",transform:"rotate(-90 113 577.273)",fill:"#D9D9D9"})),React__default.default.createElement("g",{mask:"url(#mask0_29_1815)"},React__default.default.createElement("path",{d:"M214.008 497.796C214.165 497.754 214.33 497.751 214.489 497.788C225.426 500.352 233.24 507.14 233.24 515.098C233.24 523.058 225.395 529.861 214.455 532.423C214.3 532.46 214.138 532.458 213.983 532.418L206.704 530.546L205.204 530.154C204.764 530.039 204.457 529.641 204.457 529.186L204.457 501.028C204.457 500.571 204.766 500.173 205.208 500.059L213.044 498.048L213.817 497.847L214.008 497.796Z",fill:"#D2D4DA"}),React__default.default.createElement("path",{d:"M172.144 483.183C172.092 483.102 172.027 483.031 171.955 482.966C155.547 468.233 196.225 478.134 191.447 486.357C183.444 500.161 173.096 484.665 172.144 483.183Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M274.192 433.287C274.528 433.202 274.882 433.292 275.124 433.541C282.444 441.074 286.849 458.59 287.283 460.373C287.308 460.479 287.314 460.558 287.305 460.667C287.111 462.898 284.971 490.135 294.285 506.502C295.735 509.05 293.703 521.155 293.593 521.803C293.589 521.823 293.587 521.84 293.585 521.861L291.51 541.224C291.502 541.299 291.502 541.364 291.509 541.439C291.65 542.782 292.959 557.13 285.925 568.508C280.203 577.763 281.504 589.995 275.126 596.677C274.887 596.927 274.528 597.02 274.193 596.935L267.003 595.111C255.396 592.147 246.379 582.999 243.588 571.332L243.287 570.043L239.866 555.741L238.936 551.833C238.535 550.186 237.977 548.611 237.262 547.123C236.66 545.877 235.959 544.689 235.158 543.572C234.299 542.37 233.326 541.239 232.252 540.222C229.375 537.488 225.826 535.469 221.832 534.438L215.936 532.921L214.347 532.52L214.218 532.491L206.704 530.544L205.21 530.164C204.767 530.051 204.457 529.652 204.457 529.194L204.457 501.04C204.457 500.584 204.765 500.186 205.207 500.071L213.044 498.046L213.817 497.846L214.198 497.744C214.23 497.736 214.263 497.731 214.297 497.731C214.33 497.731 214.363 497.727 214.395 497.718L215.95 497.302L221.832 495.784C227.3 494.367 231.98 491.088 235.158 486.636C236.918 484.202 238.22 481.411 238.936 478.39L239.795 474.782L243.588 458.891C246.379 447.223 255.396 438.075 267.003 435.112L274.192 433.287Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M214.008 497.796C214.165 497.754 214.33 497.751 214.489 497.788C225.426 500.352 233.24 507.14 233.24 515.098C233.24 523.058 225.395 529.861 214.455 532.423C214.3 532.46 214.138 532.458 213.983 532.418L206.704 530.546L205.204 530.154C204.764 530.039 204.457 529.641 204.457 529.186L204.457 501.028C204.457 500.571 204.766 500.173 205.208 500.059L213.044 498.048L213.817 497.847L214.008 497.796Z",fill:"#DC968D"}),React__default.default.createElement("path",{d:"M172.144 547.035C172.092 547.117 172.027 547.188 171.955 547.252C155.547 561.986 196.225 552.085 191.447 543.861C183.444 530.057 173.096 545.553 172.144 547.035Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M160.188 480.675C160.188 480.679 160.191 480.682 160.195 480.682C161.452 480.682 162.681 480.754 163.91 480.897C165.026 481.011 169.792 481.512 175.861 482.4C179.224 482.885 182.971 483.511 186.733 484.252C186.765 484.258 186.795 484.26 186.827 484.262C186.893 484.266 186.958 484.296 187.022 484.309C196.192 486.126 205.299 488.682 208.623 492.02C212.401 495.8 215.836 498.835 218.312 502.3C220.803 505.764 222.348 509.644 222.348 515.084C222.348 520.524 220.803 524.404 218.312 527.869C215.836 531.319 212.401 534.368 208.623 538.148C205.277 541.494 196.118 544.055 186.939 545.887C186.92 545.891 186.906 545.893 186.886 545.893C186.867 545.893 186.844 545.895 186.825 545.898C185.646 546.125 184.468 546.338 183.303 546.551C182.817 546.637 182.33 546.723 181.843 546.809C179.782 547.167 177.764 547.482 175.875 547.768C168.946 548.793 163.714 549.294 163.652 549.3C163.651 549.3 163.651 549.3 163.649 549.3C162.519 549.415 161.361 549.472 160.188 549.472C159.888 549.472 159.587 549.472 159.287 549.472C156.581 549.4 153.948 549.028 151.429 548.355C151.314 548.327 151.2 548.298 151.085 548.269C137.116 544.447 126.682 532.035 125.852 517.06C125.809 516.401 125.795 515.757 125.795 515.084C125.795 505.578 129.645 496.974 135.871 490.746C141.238 485.363 148.395 481.756 156.367 480.882C157.624 480.739 158.895 480.668 160.181 480.668C160.185 480.668 160.188 480.671 160.188 480.675Z",fill:"#FEAEA5"}),React__default.default.createElement("path",{d:"M191.119 509.673C193.495 509.673 195.413 512.092 195.413 515.084C195.413 518.077 193.495 520.482 191.119 520.482C190.877 520.482 190.861 520.186 191.077 520.077C192.647 519.282 193.753 517.343 193.753 515.084C193.753 512.826 192.647 510.876 191.077 510.079C190.866 509.971 190.883 509.673 191.119 509.673Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M274.264 433.275C274.6 433.189 274.954 433.278 275.199 433.524C296.217 454.568 295.682 514.893 295.68 515.097C295.68 515.103 295.68 515.092 295.68 515.098C295.682 515.302 296.217 575.643 275.184 596.673C274.939 596.917 274.586 597.007 274.251 596.921L267.076 595.097C255.454 592.134 246.437 582.986 243.646 571.318L239.925 555.699L238.994 551.819C238.638 550.318 238.133 548.86 237.499 547.48C237.314 547.078 237.398 546.602 237.715 546.294C245.845 538.394 250.903 527.342 250.903 515.098C250.903 502.851 245.844 491.798 237.711 483.897C237.396 483.591 237.311 483.119 237.493 482.719C238.122 481.341 238.638 479.89 238.994 478.376L239.81 474.983L243.646 458.877C246.437 447.21 255.454 438.061 267.076 435.112L274.264 433.275Z",fill:"#6E7174"}),React__default.default.createElement("path",{d:"M239.436 476.54C239.609 475.821 240.466 475.529 241.015 476.024C246.147 480.64 257.535 493.254 258.403 515.098C259.367 539.068 245.359 551.601 241.088 554.862C240.535 555.285 239.753 554.982 239.59 554.305L238.994 551.82C238.638 550.319 238.133 548.86 237.499 547.48C237.314 547.079 237.398 546.603 237.715 546.295C245.845 538.394 250.903 527.343 250.903 515.098C250.903 502.852 245.844 491.799 237.711 483.898C237.396 483.592 237.311 483.119 237.493 482.72C238.122 481.342 238.638 479.891 238.994 478.377L239.436 476.54Z",fill:"#555A5E"}),React__default.default.createElement("path",{d:"M162.007 550.079C167.945 550.079 174.609 548.865 179.507 547.741C180.642 547.481 180.435 545.695 179.275 545.595C171.872 544.959 160.808 542.941 155.401 536.678C149.594 529.951 156.114 524.486 156.114 515.6C156.114 507.554 149.704 500.044 155.401 493.265C160.661 487.005 170.034 484.976 177.145 484.392C178.342 484.293 178.605 482.241 177.431 481.993C172.848 481.025 167.193 480.126 162.007 480.126C137.322 480.126 125.686 489.718 125.686 515.6C125.686 539.171 137.2 550.079 162.007 550.079Z",fill:"#525252"})),React__default.default.createElement("rect",{x:"296",y:"577.273",width:"390",height:"25",rx:"3",transform:"rotate(-90 296 577.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"158",y:"433.273",width:"245",height:"25",rx:"3",transform:"rotate(-90 158 433.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"204",y:"433.273",width:"110",height:"25",rx:"3",transform:"rotate(-90 204 433.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"204",y:"303.274",width:"115",height:"25",rx:"3",transform:"rotate(-90 204 303.274)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"250",y:"433.273",width:"110",height:"25",rx:"3",transform:"rotate(-90 250 433.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"250",y:"303.274",width:"115",height:"25",rx:"3",transform:"rotate(-90 250 303.274)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"111.637",y:"433.637",width:"245",height:"25",rx:"3",transform:"rotate(-90 111.637 433.637)",fill:"#C1C1C1"}),React__default.default.createElement("g",{fillOpacity:2===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"200",y:"188",width:"33",height:"118",fill:h}),React__default.default.createElement("rect",{x:"108",y:"444",width:"171",height:"136",fill:h}),React__default.default.createElement("rect",{x:"108",y:"187",width:"33",height:"247",fill:h}),React__default.default.createElement("rect",{x:"293",y:"186",width:"31",height:"394",fill:h})),React__default.default.createElement("g",{fillOpacity:3===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"154",y:"185",width:"33",height:"249",fill:h}),React__default.default.createElement("rect",{x:"247",y:"322",width:"31",height:"113",rx:"5",fill:h})),React__default.default.createElement("g",{fillOpacity:f>=4?1:0,strokeOpacity:f>=4?1:0,style:{transition:"fill-opacity 0.2s linear, stroke-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"78.5",y:"171.5",width:"271",height:"426",rx:"2.5",stroke:h,strokeWidth:"5"}),React__default.default.createElement("circle",{cx:"214.5",cy:"383.5",r:"23.5",fill:h}),React__default.default.createElement("path",{d:"M203 385.263L208.793 392L227 376",stroke:"white",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"}))),React__default.default.createElement("g",{id:"phone",clipPath:"url(#clip0_29_1778)",style:{transform:"translate(".concat(f<1?"40px":"0",", 0)"),transition:"transform 0.3s linear"}},React__default.default.createElement("rect",{x:"154",y:"693",width:"120",height:"5",rx:"2.5",fill:"#333343"}),React__default.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M372.869 156.244H373.495V156.241C376.342 156.241 378.647 158.551 378.647 161.396V234.788C378.647 237.637 376.339 239.944 373.495 239.944H372.869V677.09C372.869 698.895 355.203 716.571 333.411 716.571H94.2366C72.444 716.571 54.7781 698.895 54.7781 677.09V278.699H54.1523C51.3051 278.699 49 276.39 49 273.544V228.052C49 225.203 51.3082 222.897 54.1523 222.897H54.7781V212.047H54.1523C51.3051 212.047 49 209.737 49 206.892V161.399C49 158.551 51.3082 156.244 54.1523 156.244H54.7781V90.4813C54.7781 68.6761 72.444 51 94.2366 51H333.411C355.203 51 372.869 68.6761 372.869 90.4813V156.244ZM98.3077 60.7649H329.34C347.039 60.7649 361.387 75.1214 361.387 92.8311V674.734C361.387 692.444 347.039 706.8 329.34 706.8H98.3077C80.6082 706.8 66.26 692.444 66.26 674.734V92.8311C66.26 75.1214 80.6082 60.7649 98.3077 60.7649Z",fill:"#333343"}),React__default.default.createElement("rect",{x:"154",y:"71",width:"120",height:"20",rx:"10",fill:"#333343"})),React__default.default.createElement("defs",null,React__default.default.createElement("clipPath",{id:"clip0_29_1778"},React__default.default.createElement("rect",{width:"428",height:"747",fill:"white"}))))}var templateObject_1$w,templateObject_2$n,templateObject_3$h,templateObject_4$c,templateObject_5$8,templateObject_6$7,templateObject_7$5,templateObject_8$3,templateObject_9$1,templateObject_10$1,templateObject_11$1,templateObject_12$1,templateObject_13$1,templateObject_14$1,templateObject_15$1,templateObject_16,templateObject_17,templateObject_18,templateObject_1$v,templateObject_2$m,templateObject_1$u,templateObject_2$l,templateObject_3$g,templateObject_4$b,templateObject_5$7,templateObject_6$6,templateObject_7$4,templateObject_8$2,templateObject_1$t,legacyInstructionImageUrl$1="".concat(DEFAULT_CDN_URL,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"),IdCaptureLoadingOverlayDefault=function(e){var t,a,n,r,i=e.onDismissed,o=e.onUserCancel,l=e.instructions,s=e.rotateImage,d=void 0!==s&&s,c=e.assets,u=void 0===c?{}:c,m=e.classNames,f=void 0===m?{}:m,p=e.colors,g=void 0===p?{}:p,h=e.verbiage,v=void 0===h?{}:h,b=React.useContext(IdCaptureModelsContext),_=b.ready,y=b.modelDownloadProgress,C=React.useContext(CameraStateContext),x=C.cameraReady,R=C.cameraAccessDenied,E=C.iphoneContinuityCameraAvailable,I=C.setIphoneContinuityCameraAllowed,T=React.useState(!1),w=T[0],M=T[1];u.instructionImageUrl||(u.instructionImageUrl=legacyInstructionImageUrl$1);var S=useTranslations(v,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",downloadingText:"Downloading...",modelsWarmingUpText:"Loading guided capture experience...",modelsReadyText:"Guided capture experience ready",cameraInitializingText:"Camera initializing...",cameraInitializedText:"Camera ready",continueText:"Let's Go!"});React.useEffect((function(){if(_&&x)return function(){return null};var e=setTimeout((function(){M(!1)}),500);return function(){clearTimeout(e)}}),[x,_]);var D=React.useRef(null);if(w)return React__default.default.createElement(React__default.default.Fragment,null);if(R)return React__default.default.createElement(CameraAccessDeniedOverlay,{assets:u.cameraAccessDenied,classNames:f.cameraAccessDenied,colors:g.cameraAccessDenied,verbiage:v.cameraAccessDenied});var k={};if(d){var N=null!==(a=null===(t=D.current)||void 0===t?void 0:t.naturalWidth)&&void 0!==a?a:0,O=null!==(r=null===(n=D.current)||void 0===n?void 0:n.naturalHeight)&&void 0!==r?r:0;k={transform:"rotate(-90deg) scale(".concat(N>O?O/N:1,")")}}return React__default.default.createElement(OverlayContainer,{className:f.container},React__default.default.createElement(OverlayInner$1,{className:f.inner},React__default.default.createElement(OverlayHeader$1,null,React__default.default.createElement(StyledGuidanceMessage$2,{className:f.heading},S.headingText)),o&&React__default.default.createElement(ExitCaptureButton,{onClick:o,className:f.cancelBtn}),React__default.default.createElement(StyledOverlayImageContainer$1,{className:f.imageContainer,style:{pointerEvents:"none"}},(null==u?void 0:u.instructionImageUrl)&&u.instructionImageUrl!==legacyInstructionImageUrl$1?React__default.default.createElement(CustomLoadingGraphic$1,{ref:D,alt:S.headingText,src:u.instructionImageUrl,className:f.image,style:k}):React__default.default.createElement(IdCaptureLoadingGraphic,{className:f.image})),l,React__default.default.createElement(ContinuityCameraCheckboxContainer$1,{className:f.continuityCameraCheckboxContainer},E&&React__default.default.createElement(ContinuityCameraCheckboxInner,{className:f.continuityCameraCheckboxInner},React__default.default.createElement(ContinuityCameraCheckbox$1,{className:f.continuityCameraCheckbox,id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,onChange:function(e){I(e.target.checked)}}),React__default.default.createElement("label",{htmlFor:"use-continuity-camera",className:f.continuityCameraCheckboxLabel},S.useContinuityCameraText))),React__default.default.createElement(StyledButtonsRow$a,{className:f.buttonsRow},React__default.default.createElement(ProgressContainer$1,{className:f.progressContainer},React__default.default.createElement(ProgressBarBackground$1,{className:f.progressBackground}),React__default.default.createElement(ProgressBar$1,{$progress:y,className:f.progressBar},React__default.default.createElement(ProgressIndicator$1,{className:f.progressIndicator}))),React__default.default.createElement(LoadingListContainer$1,{className:f.loadingListContainer},React__default.default.createElement(LoadingList$1,{className:f.loadingList},React__default.default.createElement(LoadingListItem$1,{className:"".concat(f.loadingListItem," ").concat(x?"done":"running")},x?S.cameraInitializedText:S.cameraInitializingText),React__default.default.createElement(LoadingListItem$1,{className:"".concat(f.loadingListItem," ").concat(_?"done":"running")},_?S.modelsReadyText:y>=100?S.modelsWarmingUpText:"".concat(S.downloadingText," (").concat(y,"%)")))),React__default.default.createElement(ContinueButtonContainer$1,{className:f.continueBtnContainer},_&&x&&React__default.default.createElement(ContinueButton$1,{finished:!0,className:f.continueBtn,variant:"positive",colors:g.continueBtn,onClick:function(){M(!0),null==i||i()}},S.continueText)))))},OverlayInner$1=styled__default.default.div(templateObject_1$w||(templateObject_1$w=tslib.__makeTemplateObject(["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"],["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.backgroundColor)&&void 0!==r?r:"#ecedf3"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.textColor)&&void 0!==r?r:"black"})),OverlayHeader$1=styled__default.default.div(templateObject_2$n||(templateObject_2$n=tslib.__makeTemplateObject(["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"],["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"])),(function(e){var t;return null!==(t=e.theme.textAlign)&&void 0!==t?t:"center"}),(function(e){return e.theme.padding?"box-sizing: border-box; padding: ".concat(e.theme.padding,";"):""})),StyledGuidanceMessage$2=styled__default.default(GuidanceMessage)(templateObject_3$h||(templateObject_3$h=tslib.__makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"],["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"]))),StyledOverlayImageContainer$1=styled__default.default(OverlayImageContainer)(templateObject_4$c||(templateObject_4$c=tslib.__makeTemplateObject(["\n padding: 0 0 100px;\n\n & > svg {\n height: 100%;\n }\n"],["\n padding: 0 0 100px;\n\n & > svg {\n height: 100%;\n }\n"]))),ContinuityCameraCheckboxContainer$1=styled__default.default.div(templateObject_5$8||(templateObject_5$8=tslib.__makeTemplateObject(["\n position: fixed;\n bottom: 120px;\n width: 100dvw;\n display: flex;\n"],["\n position: fixed;\n bottom: 120px;\n width: 100dvw;\n display: flex;\n"]))),ContinuityCameraCheckboxInner=styled__default.default(GuidanceMessage)(templateObject_6$7||(templateObject_6$7=tslib.__makeTemplateObject(["\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"],["\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"]))),ContinuityCameraCheckbox$1=styled__default.default.input(templateObject_7$5||(templateObject_7$5=tslib.__makeTemplateObject(["\n margin-right: 8px;\n"],["\n margin-right: 8px;\n"]))),StyledButtonsRow$a=styled__default.default(ButtonsRow)(templateObject_8$3||(templateObject_8$3=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarTextColor)&&void 0!==r?r:"white"}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.idCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""})),LoadingListContainer$1=styled__default.default.div(templateObject_9$1||(templateObject_9$1=tslib.__makeTemplateObject(["\n display: flex;\n position: relative;\n z-index: 2;\n"],["\n display: flex;\n position: relative;\n z-index: 2;\n"]))),LoadingList$1=styled__default.default.ul(templateObject_10$1||(templateObject_10$1=tslib.__makeTemplateObject(["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"],["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"]))),LoadingListItem$1=styled__default.default.li(templateObject_11$1||(templateObject_11$1=tslib.__makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"],["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"]))),ProgressContainer$1=styled__default.default.div(templateObject_12$1||(templateObject_12$1=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),ProgressBarBackground$1=styled__default.default.div(templateObject_13$1||(templateObject_13$1=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundColor)&&void 0!==r?r:"var(--idm-color-positive-600)"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundOpacity)&&void 0!==r?r:.75})),ProgressBar$1=styled__default.default.span(templateObject_14$1||(templateObject_14$1=tslib.__makeTemplateObject(["\n display: block;\n width: ","%;\n height: 100%;\n"],["\n display: block;\n width: ","%;\n height: 100%;\n"])),(function(e){return e.$progress})),ProgressIndicator$1=styled__default.default.span(templateObject_15$1||(templateObject_15$1=tslib.__makeTemplateObject(["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"],["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarIndicatorColor)&&void 0!==r?r:"var(--idm-color-positive-600)"})),CustomLoadingGraphic$1=styled__default.default.img(templateObject_16||(templateObject_16=tslib.__makeTemplateObject([""],[""]))),ContinueButtonContainer$1=styled__default.default.div(templateObject_17||(templateObject_17=tslib.__makeTemplateObject(["\n display: flex;\n"],["\n display: flex;\n"]))),ContinueButton$1=styled__default.default(LoaderButton)(templateObject_18||(templateObject_18=tslib.__makeTemplateObject(["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"],["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.idCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.continueBtnBorder)?"border: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.idCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.continueBtnBorder,";"):""})),ContinuityCameraCheckboxContainer=styled__default.default.div(templateObject_1$v||(templateObject_1$v=tslib.__makeTemplateObject(["\n margin-top: 15px;\n margin-bottom: 15px;\n"],["\n margin-top: 15px;\n margin-bottom: 15px;\n"]))),ContinuityCameraCheckbox=styled__default.default.input(templateObject_2$m||(templateObject_2$m=tslib.__makeTemplateObject(["\n margin-right: 8px;\n"],["\n margin-right: 8px;\n"]))),IdCaptureLoadingOverlayLegacy=function(e){var t,a,n,r,i=e.onDismissed,o=e.onUserCancel,l=e.instructions,s=e.rotateImage,d=void 0!==s&&s,c=e.assets,u=void 0===c?{}:c,m=e.classNames,f=void 0===m?{}:m,p=e.colors,g=void 0===p?{}:p,h=e.verbiage,v=void 0===h?{}:h,b=React.useContext(IdCaptureModelsContext),_=b.ready,y=b.modelDownloadProgress,C=React.useContext(CameraStateContext),x=C.cameraReady,R=C.cameraAccessDenied,E=C.iphoneContinuityCameraAvailable,I=C.setIphoneContinuityCameraAllowed,T=React.useState(!1),w=T[0],M=T[1];u.instructionImageUrl||(u.instructionImageUrl="".concat(DEFAULT_CDN_URL,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"));var S=useTranslations(v,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",downloadingText:"Downloading...",modelsWarmingUpText:"Models warming up...",cameraInitializingText:"Camera initializing...",continueText:"Continue"});React.useEffect((function(){if(_&&x)return function(){return null};var e=setTimeout((function(){M(!1)}),500);return function(){clearTimeout(e)}}),[x,_]);var D=React.useRef(null);if(w)return React__default.default.createElement(React__default.default.Fragment,null);if(R)return React__default.default.createElement(CameraAccessDeniedOverlay,{assets:u.cameraAccessDenied,classNames:f.cameraAccessDenied,colors:g.cameraAccessDenied,verbiage:v.cameraAccessDenied});var k={};if(d){var N=null!==(a=null===(t=D.current)||void 0===t?void 0:t.naturalWidth)&&void 0!==a?a:0,O=null!==(r=null===(n=D.current)||void 0===n?void 0:n.naturalHeight)&&void 0!==r?r:0;k={transform:"rotate(-90deg) scale(".concat(N>O?O/N:1,")")}}return React__default.default.createElement(OverlayContainer,{className:f.container},React__default.default.createElement(OverlayInner$2,{className:f.inner},React__default.default.createElement("h3",{className:f.heading},S.headingText),o&&React__default.default.createElement(ExitCaptureButton,{onClick:o,className:f.cancelBtn}),React__default.default.createElement(OverlayImageContainer,{className:f.imageContainer,style:{pointerEvents:"none"}},React__default.default.createElement("img",{ref:D,alt:S.headingText,src:u.instructionImageUrl,className:f.image,style:k})),l,React__default.default.createElement(ContinuityCameraCheckboxContainer,{className:f.continuityCameraCheckboxContainer},E&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ContinuityCameraCheckbox,{className:f.continuityCameraCheckbox,id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,onChange:function(e){I(e.target.checked)}}),React__default.default.createElement("label",{htmlFor:"use-continuity-camera",className:f.continuityCameraCheckboxLabel},S.useContinuityCameraText))),React__default.default.createElement(LoaderButton,{className:f.continueBtn,variant:"positive",disabled:!x||!_,finished:_&&x,colors:g.continueBtn,onClick:function(){M(!0),null==i||i()}},x&&_?S.continueText:_?S.cameraInitializingText:y>=100?S.modelsWarmingUpText:"".concat(S.downloadingText," (").concat(y,"%)"))))},components$1={default:IdCaptureLoadingOverlayDefault,legacy:IdCaptureLoadingOverlayLegacy},IdCaptureLoadingOverlay=function(e){var t,a=e.mode,n=void 0===a?"default":a,r=tslib.__rest(e,["mode"]),i=null!==(t=components$1[n])&&void 0!==t?t:components$1.default;return React__default.default.createElement(i,tslib.__assign({},r))},CapturedDocumentImg=function(e){var t=e.alt,a=e.className,n=e.image,r=React.useState(n.imageData),i=r[0],o=r[1],l=React.useState(!1),s=l[0],d=l[1],c=n.boundingBox,u=React.useRef(null);return React__default.default.createElement("img",{ref:u,alt:t,className:a,src:i,onLoad:function(){c&&!s&&(d(!0),setTimeout((function(){o(cropToBoundingBox(u.current,c).toDataURL("image/jpeg",.95))}),100))}})},OverlayInstruction=styled__default.default.p(templateObject_1$u||(templateObject_1$u=tslib.__makeTemplateObject(["\n font-size: 18px;\n margin: 30px 0;\n"],["\n font-size: 18px;\n margin: 30px 0;\n"]))),IdCaptureSuccess=function(e){var t=e.capturedDocuments,a=e.onSubmitClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s,c=React.useContext(SubmissionContext).submissionStatus,u=t.idCardFront,m=t.idCardBack,f=t.passport,p=useTranslations(d,{headingText:"ID Capture Successful",idCardFrontText:"ID Card Front",idCardBackText:"ID Card Back",passportText:"Passport",instructionText:"Verify the entire ID was captured clearly with no glare.",retryText:"Retry",submittingText:"Submitting...",submitText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(ImagesContainer,{className:i.imageContainer},React__default.default.createElement(ImageRow,{className:i.imageRow},React__default.default.createElement(Heading$9,{className:i.heading},p.headingText),u&&React__default.default.createElement(ImageCol$1,{className:i.imageCol},React__default.default.createElement(ImageHeading,{className:i.imageHeading},p.idCardFrontText),React__default.default.createElement(CapturedImageWrapper,{className:i.imageWrapper},React__default.default.createElement(StyledImage,{image:u,className:i.image,alt:p.idCardFrontText}))),m&&React__default.default.createElement(ImageCol$1,{className:i.imageCol},React__default.default.createElement(ImageHeading,{className:i.imageHeading},p.idCardBackText),React__default.default.createElement(CapturedImageWrapper,{className:i.imageWrapper},React__default.default.createElement(StyledImage,{image:m,className:i.image,alt:p.idCardBackText}))),f&&React__default.default.createElement(ImageCol$1,{className:i.imageCol},React__default.default.createElement(ImageHeading,{className:i.imageHeading},p.passportText),React__default.default.createElement(CapturedImageWrapper,{className:i.imageWrapper},React__default.default.createElement(StyledImage,{image:f,className:i.image,alt:p.passportText}))))),React__default.default.createElement(OverlayInstruction,{className:i.instruction},p.instructionText),React__default.default.createElement(ButtonsRow,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{className:i.retryBtn,variant:"warning",onClick:n,colors:l.retryBtn,finished:!0},p.retryText),React__default.default.createElement(LoaderButton,{className:i.submitBtn,variant:"positive",onClick:a,disabled:c===SubmissionStatus.SUBMITTING,colors:l.doneBtn,finished:!0},c===SubmissionStatus.SUBMITTING?p.submittingText:p.submitText))))},Heading$9=styled__default.default.h1(templateObject_2$l||(templateObject_2$l=tslib.__makeTemplateObject(["\n margin-bottom: 12px;\n"],["\n margin-bottom: 12px;\n"]))),ImagesContainer=styled__default.default(OverlayImageContainer)(templateObject_3$g||(templateObject_3$g=tslib.__makeTemplateObject(["\n overflow-y: auto;\n"],["\n overflow-y: auto;\n"]))),ImageRow=styled__default.default(OverlayImageRow)(templateObject_4$b||(templateObject_4$b=tslib.__makeTemplateObject(["\n flex-direction: column;\n"],["\n flex-direction: column;\n"]))),ImageCol$1=styled__default.default.div(templateObject_5$7||(templateObject_5$7=tslib.__makeTemplateObject(["\n max-height: none !important;\n"],["\n max-height: none !important;\n"]))),ImageHeading=styled__default.default.h3(templateObject_6$6||(templateObject_6$6=tslib.__makeTemplateObject(["\n text-align: left;\n margin-top: 24px;\n margin-bottom: 8px;\n font-size: 16px;\n font-weight: normal;\n"],["\n text-align: left;\n margin-top: 24px;\n margin-bottom: 8px;\n font-size: 16px;\n font-weight: normal;\n"]))),CapturedImageWrapper=styled__default.default.div(templateObject_7$4||(templateObject_7$4=tslib.__makeTemplateObject(["\n border: 1px solid\n ",";\n border-radius: 6px;\n padding: 4px;\n background: white;\n display: flex;\n"],["\n border: 1px solid\n ",";\n border-radius: 6px;\n padding: 4px;\n background: white;\n display: flex;\n"])),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.idCapture)||void 0===t?void 0:t.success)||void 0===a?void 0:a.imageBorderColor)&&void 0!==n?n:"var(--idm-color-primary-400)"})),StyledImage=styled__default.default(CapturedDocumentImg)(templateObject_8$2||(templateObject_8$2=tslib.__makeTemplateObject(["\n width: 100%;\n border-radius: 4px;\n"],["\n width: 100%;\n border-radius: 4px;\n"]))),CameraVideoTag=function(e){var t,a=e.className,n=React.useContext(CameraStateContext),r=n.videoRef,i=n.setVideoLoaded,o=n.cameraRef;React.useEffect((function(){i(!1)}),[i]),React.useEffect((function(){var e;r.current&&(null===(e=o.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=o.current.stream)}),[o,r]);var l=React.useCallback((function(){i(!0)}),[i]);return React__default.default.createElement(FullscreenVideoTag,{className:a,autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:l,$isRearFacing:null===(t=o.current)||void 0===t?void 0:t.isRearFacing})},FullscreenVideoTag=styled__default.default.video(templateObject_1$t||(templateObject_1$t=tslib.__makeTemplateObject(["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"],["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"])),(function(e){return e.$isRearFacing?"":"scaleX(-1)"}));function useShowSuccessScreen(e,t,a){var n=this,r=React.useState(!1),i=r[0],o=r[1];return React.useEffect((function(){t&&e&&("function"==typeof e?tslib.__awaiter(n,void 0,void 0,(function(){return tslib.__generator(this,(function(t){switch(t.label){case 0:return[4,e()];case 1:return t.sent()?null==a||a():o(!0),[2]}}))})):null==a||a())}),[t,a,e]),!e||i}var templateObject_1$s,CameraFeedWrapper=styled__default.default.div(templateObject_1$s||(templateObject_1$s=tslib.__makeTemplateObject(["\n ","\n"],["\n ","\n"])),(function(e){return"snapToGuides"===e.$mode?"display: flex;\n position: absolute;\n left: ".concat(e.$x,"px;\n top: ").concat(e.$y,"px;\n width: ").concat(e.$w,"px;\n height: ").concat(e.$h,"px;"):""}));function setCanvasDimensions(e,t,a){var n,r=1;"undefined"!=typeof window&&(r=window.devicePixelRatio),e.width=t*r,e.height=a*r,e.style.width=t+"px",e.style.height=a+"px",null===(n=e.getContext("2d"))||void 0===n||n.scale(r,r)}function resetCanvasDimensions(e){e.width=0,e.height=0,e.style.width="0",e.style.height="0"}var templateObject_1$r,templateObject_2$k,templateObject_3$f,templateObject_4$a,templateObject_5$6,templateObject_6$5,templateObject_7$3,templateObject_8$1,templateObject_1$q,templateObject_2$j,templateObject_1$p,templateObject_2$i,GuideOrientationContext=React.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}}),StyledPageContainer=styled__default.default(PageContainer)(templateObject_1$r||(templateObject_1$r=tslib.__makeTemplateObject(["\n z-index: 1000;\n"],["\n z-index: 1000;\n"]))),GuidesContainer=styled__default.default.div(templateObject_2$k||(templateObject_2$k=tslib.__makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"],["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"]))),GuideCenterRow=styled__default.default.div(templateObject_3$f||(templateObject_3$f=tslib.__makeTemplateObject(["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n"],["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n"]))),GuideRegion=styled__default.default.div(templateObject_4$a||(templateObject_4$a=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n position: relative;\n z-index: 1000;\n background: ",";\n color: ",";\n text-align: center;\n ","\n ","\n"],["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n position: relative;\n z-index: 1000;\n background: ",";\n color: ",";\n text-align: center;\n ","\n ","\n"])),(function(e){var t,a,n,r,i;return null!==(i=null!==(t=e.$maskColor)&&void 0!==t?t:null===(r=null===(n=null===(a=e.theme)||void 0===a?void 0:a.idCapture)||void 0===n?void 0:n.guideOverlay)||void 0===r?void 0:r.backgroundColor)&&void 0!==i?i:"rgba(0, 0, 0, 0.5)"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.guideOverlay)||void 0===n?void 0:n.textColor)&&void 0!==r?r:"white"}),(function(e){return e.$minWidth?"min-width: ".concat(e.$minWidth,"px;"):""}),(function(e){return e.$minHeight?"min-width: ".concat(e.$minHeight,"px;"):""})),GuideCenterRegion=styled__default.default.div(templateObject_5$6||(templateObject_5$6=tslib.__makeTemplateObject(["\n ","\n ","\n box-sizing: border-box;\n"],["\n ","\n ","\n box-sizing: border-box;\n"])),(function(e){return e.$minWidth?"min-width: ".concat(e.$minWidth,"px;"):""}),(function(e){return e.$isMirrored?"transform: scaleX(-1);":""})),GuideCenterBorder=styled__default.default.div(templateObject_6$5||(templateObject_6$5=tslib.__makeTemplateObject(["\n box-sizing: border-box;\n position: relative;\n border: ",";\n"],["\n box-sizing: border-box;\n position: relative;\n border: ",";\n"])),(function(e){var t,a;return"".concat(null!==(t=e.$borderWidth)&&void 0!==t?t:4,"px solid ").concat(null!==(a=e.$borderColor)&&void 0!==a?a:"white")})),GuideText=styled__default.default.span(templateObject_7$3||(templateObject_7$3=tslib.__makeTemplateObject(["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"],["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"]))),GuideImage=styled__default.default.img(templateObject_8$1||(templateObject_8$1=tslib.__makeTemplateObject(["\n position: relative;\n z-index: 1;\n display: block;\n padding: ","px;\n box-sizing: border-box;\n ","\n ","\n opacity: ",";\n transition: opacity 0.5s;\n"],["\n position: relative;\n z-index: 1;\n display: block;\n padding: ","px;\n box-sizing: border-box;\n ","\n ","\n opacity: ",";\n transition: opacity 0.5s;\n"])),(function(e){return e.$padding}),(function(e){return e.$width?"width: ".concat(e.$width,"px;\n max-width: ").concat(e.$width,"px;"):"max-width: none;"}),(function(e){return e.$height?"height: ".concat(e.$height,"px;\n max-height: ").concat(e.$height,"px;"):"max-height: none;"}),(function(e){return e.$visible?1:0})),IdCaptureGuideOverlay=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f=e.classNames,p=void 0===f?{}:f,g=e.width,h=void 0===g?0:g,v=e.height,b=void 0===v?0:v,_=e.padding,y=e.imagePadding,C=e.imageVisible,x=void 0===C||C,R=e.borderWidth,E=e.borderColor,I=e.maskColor,T=e.isMirrored,w=void 0!==T&&T,M=e.instruction,S=void 0===M?"":M,D=e.portraitGuidesImageUrl,k=e.landscapeGuidesImageUrl,N=e.onClick,O=React.useContext(GuideOrientationContext),j=O.orientation,A=O.wrapperRef,L=O.wrapperWidth,B=O.wrapperHeight,F=O.imageAspectRatio,P=O.wrapperAspectRatio,$=O.onImageLoaded,z=O.setDimensions,U=useIdCaptureState()[1];var G=styled.useTheme();void 0===R&&(R=null!==(n=null===(a=null===(t=G.idCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),0==h&&(h=L),0==b&&(b=B),React.useEffect((function(){z({width:h,height:b})}),[b,z,h]);var W=(null!=_?_:isMobile())?null!==(o=null===(i=null===(r=G.idCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.mobilePadding)&&void 0!==o?o:0:null!==(d=null===(s=null===(l=G.idCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.desktopPadding)&&void 0!==d?d:50,V=2*W+2*R,H="portrait"===j?D:k,q=null!==(m=null!=y?y:null===(u=null===(c=G.idCapture)||void 0===c?void 0:c.guideBox)||void 0===u?void 0:u.imagePadding)&&void 0!==m?m:0,Y=void 0,Z=void 0;return F>=P?Y=L-V:Z=B-V,React__default.default.createElement(StyledPageContainer,{ref:A,onClick:N,className:p.container},React__default.default.createElement(GuidesContainer,{className:p.inner},React__default.default.createElement(GuideRegion,{$maskColor:I,$minHeight:W,className:regionClsx$1(p,"Top")},""!==S&&React__default.default.createElement(GuideText,{className:p.guideText},S)),React__default.default.createElement(GuideCenterRow,{className:p.centerRow},React__default.default.createElement(GuideRegion,{$maskColor:I,$minWidth:W,className:regionClsx$1(p,"Left")}),React__default.default.createElement(GuideCenterRegion,{$minWidth:Y,$isMirrored:w,className:p.centerRegion},React__default.default.createElement(GuideCenterBorder,{$borderWidth:R,$borderColor:E,className:p.centerRegionInner},React__default.default.createElement(GuideImage,{src:H,alt:"",onLoad:function(e){$(e);var t=e.target;U({type:"guideImageLoaded",payload:{width:t.naturalWidth,height:t.naturalHeight}})},className:p.image,$width:Y,$height:Z,$padding:q,$visible:x}))),React__default.default.createElement(GuideRegion,{$maskColor:I,$minWidth:W,className:regionClsx$1(p,"Right")})),React__default.default.createElement(GuideRegion,{$maskColor:I,$minHeight:W,className:regionClsx$1(p,"Bottom")},""!==S&&React__default.default.createElement(GuideText,{style:{opacity:0}},S))))},regionClsx$1=function(e,t){return[e.dimmingRegion,e["dimmingRegion".concat(t)]].filter((function(e){return e})).join(" ")},FlippingImage=styled__default.default(GuideImage)(templateObject_1$q||(templateObject_1$q=tslib.__makeTemplateObject(["\n backface-visibility: hidden;\n transform-style: preserve-3d;\n position: relative;\n top: 0;\n left: 0;\n transition: transform ","s;\n transform: ",";\n"],["\n backface-visibility: hidden;\n transform-style: preserve-3d;\n position: relative;\n top: 0;\n left: 0;\n transition: transform ","s;\n transform: ",";\n"])),(function(e){return e.$transitionTime}),(function(e){return e.$transforms})),FlippingImageBack=styled__default.default(FlippingImage)(templateObject_2$j||(templateObject_2$j=tslib.__makeTemplateObject(["\n position: absolute;\n"],["\n position: absolute;\n"]))),FlipIdPrompt=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p=e.padding,g=e.imagePadding,h=e.borderWidth,v=e.borderColor,b=e.maskColor,_=e.assets,y=void 0===_?{}:_,C=e.classNames,x=void 0===C?{}:C,R=e.verbiage,E=void 0===R?{}:R,I=useResizeObserver__default.default(),T=I.ref,w=I.width,M=void 0===w?1:w,S=I.height,D=void 0===S?1:S,k=React.useContext(CameraStateContext).cameraRef,N=styled.useTheme();y.frontPortraitGuidesImageUrl||(y.frontPortraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),y.frontLandscapeGuidesImageUrl||(y.frontLandscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),y.backPortraitGuidesImageUrl||(y.backPortraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),y.backLandscapeGuidesImageUrl||(y.backLandscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var O=useVerbiage(E.instructionText,"Please flip your ID card..."),j=(null!=p?p:isMobile())?null!==(n=null===(a=null===(t=N.idCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.mobilePadding)&&void 0!==n?n:0:null!==(o=null===(i=null===(r=N.idCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.desktopPadding)&&void 0!==o?o:50;void 0===h&&(h=null!==(d=null===(s=null===(l=N.idCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.borderWidth)&&void 0!==d?d:4);var A=!(null===(c=k.current)||void 0===c?void 0:c.isRearFacing),L=React.useContext(GuideOrientationContext),B=L.orientation,F=L.wrapperRef,P=L.wrapperWidth,$=L.wrapperHeight,z=L.imageAspectRatio,U=L.wrapperAspectRatio,G=L.onImageLoaded,W=L.setDimensions;React.useEffect((function(){W({width:M,height:D})}),[D,W,M]);var V=2*j+2*h,H=null!==(f=null!=g?g:null===(m=null===(u=N.idCapture)||void 0===u?void 0:u.guideBox)||void 0===m?void 0:m.imagePadding)&&void 0!==f?f:0,q=void 0,Y=void 0;z>=U?q=P-V:Y=$-V;var Z=React.useState(1),Q=Z[0],X=Z[1],K=React.useState(0),J=K[0],ee=K[1],te=["rotateY(".concat(J,"deg)")];A&&te.push("scaleX(-1)");var ae=["rotateY(".concat(180-J,"deg)")];return A&&ae.push("scaleX(-1)"),React.useEffect((function(){var e=function(){X(1),ee(180),setTimeout((function(){X(0),ee(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),React__default.default.createElement(PageContainer,{ref:T,className:x.container},React__default.default.createElement(GuidesContainer,{ref:F,className:x.inner},React__default.default.createElement(GuideRegion,{$minHeight:j,$maskColor:b,className:regionClsx(x,"Top")},""!==O&&React__default.default.createElement(GuideText,{className:x.guideText},O)),React__default.default.createElement(GuideCenterRow,{className:x.centerRow},React__default.default.createElement(GuideRegion,{$minWidth:j,$maskColor:b,className:regionClsx(x,"Left")}),React__default.default.createElement(GuideCenterRegion,null,React__default.default.createElement(GuideCenterBorder,{$borderWidth:h,$borderColor:v,className:x.centerRegion},React__default.default.createElement(FlippingImage,{src:"portrait"===B?y.frontPortraitGuidesImageUrl:y.frontLandscapeGuidesImageUrl,alt:"",className:x.image,$width:q,$height:Y,$padding:H,$transitionTime:Q,$transforms:te.join(" "),$visible:!0,onLoad:G}),React__default.default.createElement(FlippingImageBack,{src:"portrait"===B?y.backPortraitGuidesImageUrl:y.backLandscapeGuidesImageUrl,alt:"",className:x.image,$width:q,$height:Y,$padding:H,$transitionTime:Q,$transforms:ae.join(" "),$visible:!0}))),React__default.default.createElement(GuideRegion,{$minWidth:j,$maskColor:b,className:regionClsx(x,"Right")})),React__default.default.createElement(GuideRegion,{$minHeight:j,$maskColor:b,className:regionClsx(x,"Bottom")},""!==O&&React__default.default.createElement(GuideText,{style:{opacity:0}},O))))},regionClsx=function(e,t){return[e.dimmingRegion,e["dimmingRegion".concat(t)]].filter((function(e){return e})).join(" ")},IdCaptureFitGuide=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f=e.aspectRatio,p=e.maskColor,g=e.borderRadius,h=void 0===g?33:g,v=e.borderColor,b=e.borderWidth,_=e.padding,y=e.imageUrl,C=e.imageVisible,x=e.frontImageUrl,R=e.backImageUrl,E=e.isMirrored,I=e.instruction,T=e.requestingFlip,w=void 0!==T&&T,M=e.classNames,S=void 0===M?{}:M,D=useIdCaptureState(),k=D[0],N=k.redrawing,O=k.guideImageWidth,j=k.guideImageHeight,A=D[1],L=React.useRef(null),B=useResizeObserver__default.default(),F=B.ref,P=B.width,$=void 0===P?1:P,z=B.height,U=void 0===z?1:z,G=styled.useTheme();return void 0===b&&(b=null!==(n=null===(a=null===(t=G.idCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),void 0===_&&(_=isMobile()?null!==(o=null===(i=null===(r=G.idCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.mobilePadding)&&void 0!==o?o:0:null!==(d=null===(s=null===(l=G.idCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.desktopPadding)&&void 0!==d?d:0),void 0===f&&0!==O&&(f=O/j),void 0===p&&(p=null!==(m=null===(u=null===(c=G.idCapture)||void 0===c?void 0:c.guideOverlay)||void 0===u?void 0:u.backgroundColor)&&void 0!==m?m:"#708090"),React.useEffect((function(){var e=L.current;if(e){if(N)return resetCanvasDimensions(e),void setTimeout((function(){A({type:"redrawInProgress"})}),10);var t=$-2*_-2*b,a=U-2*_-2*b,n=[_+b,_+b,t,a],r=n[0],i=n[1],o=n[2],l=n[3];if(void 0!==f){var s=a*f;s<t?r+=(t-(o=s))/2:i+=(a-(l=t/f))/2}setCanvasDimensions(e,$,U);var d=e.getContext("2d");if(d)d.fillStyle=p,d.clearRect(0,0,$,U),d.fillRect(0,0,$,U),d.beginPath(),d.roundRect(r,i,o,l,h),d.lineWidth=b,d.strokeStyle=null!=v?v:"white",(null==v?void 0:v.startsWith("var("))&&(d.strokeStyle=getComputedStyle(document.documentElement).getPropertyValue(v.slice(4,-1))),d.stroke(),d.fillStyle="rgba(0,0,0,1)",d.globalCompositeOperation="destination-out",d.fill(),d.globalCompositeOperation="source-over",A({type:"redrawCompleted",payload:{guideRectX:r,guideRectY:i,guideRectWidth:o,guideRectHeight:l,guideRectOffsetTop:e.offsetTop}})}}),[f,v,h,b,A,p,_,N,U,$]),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(CanvasWrapper$1,{ref:F,$maskColor:p,className:S.canvasWrapper},React__default.default.createElement(Canvas$1,{ref:L,className:S.canvas})),w?React__default.default.createElement(FlipIdPrompt,{maskColor:"transparent",borderWidth:0,classNames:S,assets:{frontLandscapeGuidesImageUrl:x,backLandscapeGuidesImageUrl:R}}):React__default.default.createElement(IdCaptureGuideOverlay,{landscapeGuidesImageUrl:y,maskColor:"transparent",borderWidth:0,isMirrored:E,instruction:I,classNames:S,imageVisible:C}))},CanvasWrapper$1=styled__default.default.div(templateObject_1$p||(templateObject_1$p=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n z-index: -1;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n z-index: -1;\n"])),(function(e){return e.$maskColor})),Canvas$1=styled__default.default.canvas(templateObject_2$i||(templateObject_2$i=tslib.__makeTemplateObject(["\n display: block;\n"],["\n display: block;\n"])));function IdCaptureGuides(e){var t,a,n=e.guideType,r=void 0===n?"fit":n,i=e.portraitGuidesOnMobile,o=void 0!==i&&i,l=e.requestingFlip,s=void 0!==l&&l,d=e.flipIdPromptAssets,c=void 0===d?{}:d,u=e.classNames,m=void 0===u?{}:u,f=e.assets,p=void 0===f?{}:f,g=e.colors,h=void 0===g?{}:g,v=e.verbiage,b=void 0===v?{}:v,_=useIdCaptureState()[0],y=React.useContext(CameraStateContext).cameraRef,C=useTranslations(b,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!",guidanceSatisfiedText:"Document detected, hold still...",guidanceTooBlurryText:"Document out of focus – try improving the lighting",guidanceNotCenteredText:"Document is not centered",guidanceNotDetectedText:"Document not detected"}),x=window.innerWidth<window.innerHeight,R=o&&x?null==c?void 0:c.frontPortraitGuidesImageUrl:null==c?void 0:c.frontLandscapeGuidesImageUrl,E=o&&x?null==c?void 0:c.backPortraitGuidesImageUrl:null==c?void 0:c.backLandscapeGuidesImageUrl;return React__default.default.createElement(React__default.default.Fragment,null,"overlay"===r&&React__default.default.createElement(IdCaptureGuideOverlay,{classNames:m,width:_.pageWidth,height:_.pageHeight,instruction:_.captureFailed?C.captureFailedText:_.capturing?null==C?void 0:C.capturingText:C.instructionText,portraitGuidesImageUrl:p.portraitGuidesImageUrl,landscapeGuidesImageUrl:p.landscapeGuidesImageUrl,isMirrored:!(null===(t=y.current)||void 0===t?void 0:t.isRearFacing),borderColor:_.isGoodFrame?h.guideBoxSatisfiedColor:h.guideBoxUnsatisfiedColor,imageVisible:s||!_.documentDetectionThresholdMet||!_.documentInBounds||_.documentTooClose}),"fit"===r&&React__default.default.createElement(IdCaptureFitGuide,{classNames:m,requestingFlip:s,instruction:_.captureFailed?C.captureFailedText:_.capturing?null==C?void 0:C.capturingText:C.instructionText,imageUrl:o&&x?null==p?void 0:p.portraitGuidesImageUrl:null==p?void 0:p.landscapeGuidesImageUrl,frontImageUrl:R,backImageUrl:E,isMirrored:!(null===(a=y.current)||void 0===a?void 0:a.isRearFacing),borderColor:_.isGoodFrame?h.guideBoxSatisfiedColor:h.guideBoxUnsatisfiedColor,imageVisible:s||!_.documentDetectionThresholdMet||!_.documentInBounds||_.documentTooClose}))}var templateObject_1$o,templateObject_1$n,templateObject_2$h,templateObject_3$e,templateObject_4$9,templateObject_1$m,templateObject_2$g,templateObject_1$l,templateObject_2$f,templateObject_3$d,templateObject_4$8,templateObject_5$5,templateObject_6$4,templateObject_7$2,templateObject_1$k,templateObject_2$e,templateObject_3$c,templateObject_4$7,templateObject_5$4,templateObject_6$3,templateObject_1$j,templateObject_2$d,templateObject_1$i,templateObject_2$c,templateObject_3$b,templateObject_4$6,templateObject_5$3,templateObject_1$h,templateObject_1$g,templateObject_1$f,templateObject_2$b,Spinner=styled__default.default.div(templateObject_1$o||(templateObject_1$o=tslib.__makeTemplateObject(["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"],["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$thickness;return null!=t?t:6}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"})),IdCaptureImagePreview=function(e){var t=e.classNames,a=void 0===t?{}:t,n=e.text,r=e.imageUrl,i=React.useRef(null),o=React.useState(!1),l=o[0],s=o[1],d=React.useState(0),c=d[1];return React__default.default.createElement(ImagePreviewWrapper,{className:a.container,style:{aspectRatio:d[0],opacity:l?1:0}},n&&React__default.default.createElement(ImagePreviewText,{className:a.text},n),React__default.default.createElement(ImagePreviewImageWrapper,{className:a.imageContainer},React__default.default.createElement("img",{ref:i,src:r,alt:"",className:a.image,onLoad:function(){c(i.current.naturalWidth/i.current.naturalHeight),s(!0)},onError:function(){console.error("failed to load image from url",r)}})))},SelfieProgressPreview=function(e){var t=e.classNames,a=void 0===t?{}:t,n=e.text,r=e.imageUrl,i=React.useRef(null),o=React.useState(!1),l=o[0],s=o[1],d=React.useState(0),c=d[1];return React__default.default.createElement(ImagePreviewWrapper,{className:a.container,style:{aspectRatio:d[0],opacity:l?1:0}},React__default.default.createElement(ImagePreviewText,{className:a.text},React__default.default.createElement(StyledSpinner,{className:a.spinner,$size:24,$color:"white",$thickness:3}),n),React__default.default.createElement(ImagePreviewImageWrapper,{className:a.imageContainer},React__default.default.createElement("img",{ref:i,src:r,alt:"",className:a.image,onLoad:function(){c(i.current.naturalWidth/i.current.naturalHeight),s(!0)},onError:function(){console.error("failed to load image from url",r)}})))},StyledSpinner=styled__default.default(Spinner)(templateObject_1$n||(templateObject_1$n=tslib.__makeTemplateObject(["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"],["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"]))),ImagePreviewWrapper=styled__default.default.div(templateObject_2$h||(templateObject_2$h=tslib.__makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"],["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"]))),ImagePreviewText=styled__default.default.div(templateObject_3$e||(templateObject_3$e=tslib.__makeTemplateObject(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"],["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"]))),ImagePreviewImageWrapper=styled__default.default.div(templateObject_4$9||(templateObject_4$9=tslib.__makeTemplateObject(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"],["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"]))),documentCaptureInitialState={documents:[],currentDocumentIndex:0,initialDrawComplete:!1,redrawing:!1,capturing:!1,rectX:0,rectY:0,rectWidth:0,rectHeight:0,rectOffsetTop:0,uploadCapturedDocument:function(){return Promise.resolve()}},DocumentCaptureStateContext=React.createContext(documentCaptureInitialState),DocumentCaptureDispatchContext=React.createContext((function(){})),documentCaptureStateReducer=function(e,t){var a,n,r,i,o;switch(t.type){case"setDocuments":return tslib.__assign(tslib.__assign({},e),{documents:t.payload,currentDocumentIndex:0});case"setHooks":return tslib.__assign(tslib.__assign({},e),t.payload);case"redrawRequested":return tslib.__assign(tslib.__assign({},e),{redrawing:!0,rectX:0,rectY:0,rectWidth:0,rectHeight:0,rectOffsetTop:0});case"redrawInProgress":return tslib.__assign(tslib.__assign({},e),{redrawing:!1,rectX:0,rectY:0,rectWidth:0,rectHeight:0,rectOffsetTop:0});case"redrawCompleted":return tslib.__assign(tslib.__assign(tslib.__assign({},e),t.payload),{initialDrawComplete:!0});case"captureRequested":return tslib.__assign(tslib.__assign({},e),{capturing:!0});case"captureCompleted":return(l=tslib.__assign(tslib.__assign({},e),{capturing:!1})).documents[s=e.currentDocumentIndex].content=t.payload.content,l.documents[s].contentUrl=t.payload.contentUrl,null===(a=e.onDocumentCaptured)||void 0===a||a.call(e,l.documents[s]),l;case"retryCapture":return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].content=void 0,l.documents[s].contentUrl=void 0,l;case"uploadStarted":return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].uploadState="in_progress",l;case"uploadCompleted":return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].documentId=t.payload.documentId,l.documents[s].uploadState="succeeded",null===(r=(n=l.documents[s]).onUploaded)||void 0===r||r.call(n,l.documents[s]),null===(i=e.onDocumentUploaded)||void 0===i||i.call(e,l.documents[s]),e.documents.length-1>s?l.currentDocumentIndex+=1:null===(o=e.onAllDocumentsUploaded)||void 0===o||o.call(e,l.documents),l;case"uploadFailed":var l,s;return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].uploadState="failed",l;default:return e}},DocumentCaptureStateProvider=function(e){var t=e.documents,a=void 0===t?[]:t,n=e.aspectRatio,r=e.cameraFeedMode,i=e.instructions,o=e.onDocumentCaptured,l=e.onDocumentUploaded,s=e.onAllDocumentsUploaded,d=e.children,c=React.useReducer(documentCaptureStateReducer,documentCaptureInitialState),u=c[0],m=c[1],f=React.useContext(CameraStateContext),p=f.cameraRef,g=f.videoRef,h=React.useContext(SubmissionContext).uploadDocument,v=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),m({type:"uploadStarted"}),[4,h(e)];case 1:return t=a.sent(),setTimeout((function(){m({type:"uploadCompleted",payload:{documentId:t}})}),0),[3,3];case 2:return a.sent(),m({type:"uploadFailed"}),[3,3];case 3:return[2]}}))}))}),[h]);React.useEffect((function(){var e,t=(null==a?void 0:a.length)?a.map((function(e){return tslib.__assign(tslib.__assign({title:"Document Capture",aspectRatio:n,cameraFeedMode:"snapToGuides",instructions:i},e),{uploadState:"not_started"})})):[{title:"Document Capture",aspectRatio:n,cameraFeedMode:null!=r?r:"snapToGuides",instructions:i,uploadState:"not_started"}];m({type:"setDocuments",payload:t}),(null===(e=t[0])||void 0===e?void 0:e.content)&&v(t[0].content)}),[n,r,a,i,v]),React.useEffect((function(){m({type:"setHooks",payload:{onDocumentCaptured:o,onDocumentUploaded:l,onAllDocumentsUploaded:s}})}),[o,s,l]);var b=useDebounce.useDebouncedCallback((function(){m({type:"redrawRequested"})}),500);React.useLayoutEffect((function(){if("undefined"!=typeof window)return window.addEventListener("resize",b),function(){window.removeEventListener("resize",b)}}),[b]);var _=g.current;React.useEffect((function(){if(u.capturing&&p.current)if("undefined"!=typeof ImageCapture)new ImageCapture(p.current.stream.getTracks()[0]).takePhoto().then(t).catch((function(){}));else if(_){var e=document.createElement("canvas");drawToCanvas(e,_),e.toBlob(t)}function t(e){if(e){var t=URL.createObjectURL(e);m({type:"captureCompleted",payload:{content:e,contentUrl:t}})}}}),[p,u.capturing,_]);var y=React.useMemo((function(){return tslib.__assign(tslib.__assign({},u),{uploadCapturedDocument:v})}),[u,v]);return React__default.default.createElement(DocumentCaptureStateContext.Provider,{value:y},React__default.default.createElement(DocumentCaptureDispatchContext.Provider,{value:m},d))},useDocumentCaptureState=function(){var e=React.useContext(DocumentCaptureStateContext),t=React.useContext(DocumentCaptureDispatchContext);if(!e||!t)throw new Error("useDocumentCaptureState cannot be used without DocumentCaptureStateProvider");return[e,t]},DocumentCaptureGuideOverlay=function(e){var t,a,n,r,i,o,l,s,d,c=e.aspectRatio,u=e.borderRadius,m=void 0===u?25:u,f=e.borderColor,p=e.borderWidth,g=e.maskColor,h=e.padding,v=e.classNames,b=void 0===v?{}:v,_=useResizeObserver__default.default(),y=_.ref,C=_.width,x=void 0===C?1:C,R=_.height,E=void 0===R?1:R,I=useDocumentCaptureState(),T=I[0].redrawing,w=I[1],M=React.useRef(null),S=styled.useTheme();return void 0===p&&(p=null!==(n=null===(a=null===(t=S.documentCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),void 0===h&&(h=isMobile()?null!==(o=null===(i=null===(r=S.documentCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.mobilePadding)&&void 0!==o?o:0:null!==(d=null===(s=null===(l=S.documentCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.desktopPadding)&&void 0!==d?d:0),React.useEffect((function(){var e=M.current;if(e){if(T)return resetCanvasDimensions(e),void setTimeout((function(){w({type:"redrawInProgress"})}),10);var t=x-2*h-2*p,a=E-2*h-2*p,n=[h+p,h+p,t,a],r=n[0],i=n[1],o=n[2],l=n[3];if(void 0!==c){var s=a*c;s<t?r+=(t-(o=s))/2:i+=(a-(l=t/c))/2}setCanvasDimensions(e,x,E);var d=e.getContext("2d");if(d)d.fillStyle=g,d.clearRect(0,0,x,E),d.fillRect(0,0,x,E),d.beginPath(),d.roundRect(r,i,o,l,m),d.lineWidth=p,d.strokeStyle=null!=f?f:"white",d.stroke(),d.fillStyle="rgba(0,0,0,1)",d.globalCompositeOperation="destination-out",d.fill(),d.globalCompositeOperation="source-over",w({type:"redrawCompleted",payload:{rectX:r,rectY:i,rectWidth:o,rectHeight:l,rectOffsetTop:e.offsetTop}})}}),[c,f,m,p,w,g,h,T,E,x]),React__default.default.createElement(CanvasWrapper,{ref:y,className:b.container,$maskColor:g},React__default.default.createElement(Canvas,{ref:M}))},CanvasWrapper=styled__default.default.div(templateObject_1$m||(templateObject_1$m=tslib.__makeTemplateObject(["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n"],["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n"])),(function(e){return e.$maskColor})),Canvas=styled__default.default.canvas(templateObject_2$g||(templateObject_2$g=tslib.__makeTemplateObject(["\n display: block;\n"],["\n display: block;\n"]))),DocumentCaptureScreen=function(e){var t,a,n,r,i,o=e.onCaptureClicked,l=e.classNames,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=useDocumentCaptureState(),m=u[0],f=m.rectX,p=m.rectY,g=m.rectWidth,h=m.rectHeight,v=m.rectOffsetTop,b=m.capturing,_=m.uploadCapturedDocument,y=u[1],C=null!==(t=m.documents[m.currentDocumentIndex])&&void 0!==t?t:{},x=C.title,R=C.aspectRatio,E=C.cameraFeedMode,I=C.instructions,T=C.contentUrl,w=C.content,M=C.uploadState,S=React.useContext(CameraStateContext),D=S.cameraReady,k=S.cameraAccessDenied,N=S.retryCameraAccess,O=null!==(r=null===(n=null===(a=styled.useTheme().documentCapture)||void 0===a?void 0:a.guideBox)||void 0===n?void 0:n.maskColor)&&void 0!==r?r:"snapToGuides"===E?"#708090":"rgba(0, 0, 0, 0.5)",j=useTranslations(c,{headingText:x,loadingBtnText:"Camera initializing...",retryCameraAccessBtnText:"Retry",captureBtnText:"Capture",capturingBtnText:"Capturing...",retryCaptureBtnText:"Retry capture",uploadBtnText:"Upload",uploadingBtnText:"Uploading...",retryUploadBtnText:"Retry",successBtnText:"Upload succeeded!"});function A(){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return[4,_(w)];case 1:return e.sent(),[2]}}))}))}return React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(i=s.container)&&void 0!==i?i:"")},React__default.default.createElement(CameraFeedWrapper,{className:s.cameraFeedWrapper,$mode:null!=E?E:"snapToGuides",$x:f,$y:p+v,$w:g,$h:h},T?React__default.default.createElement(PreviewImage,{alt:"",src:T,className:s.previewImage}):React__default.default.createElement(CameraVideoTag,{className:s.cameraFeed})),React__default.default.createElement(CaptureContainer,{className:s.captureContainer},React__default.default.createElement(HeadingRow,{$maskColor:O,className:s.headingRow},React__default.default.createElement(Heading$8,{className:s.heading},j.headingText)),React__default.default.createElement(DocumentCaptureGuideOverlay,{aspectRatio:R,classNames:s,maskColor:O}),React__default.default.createElement(FooterRow,{$maskColor:O,className:s.footerRow},I&&React__default.default.createElement(Instructions,{className:s.instructions},I),React__default.default.createElement(StyledButtonsRow$9,{className:s.buttonsRow},k?React__default.default.createElement(LoaderButton,{className:s.retryCameraAccessBtn,variant:"negative",finished:!0,onClick:N},j.retryCameraAccessBtnText):T?React__default.default.createElement(React__default.default.Fragment,null,"not_started"===M?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(LoaderButton,{className:s.retryCaptureBtn,finished:!0,variant:"warning",onClick:function(){y({type:"retryCapture"})}},j.retryCaptureBtnText),React__default.default.createElement(LoaderButton,{className:s.uploadBtn,finished:!0,variant:"positive",onClick:A},j.uploadBtnText)):React__default.default.createElement(LoaderButton,{className:s.uploadProgressBtn,finished:"in_progress"!==M,variant:"failed"===M?"negative":"positive",onClick:A,disabled:["in_progress","succeeded"].includes(null!=M?M:"")},"succeeded"===M?j.successBtnText:"failed"===M?j.retryUploadBtnText:j.uploadingBtnText)):React__default.default.createElement(LoaderButton,{className:s.captureBtn,finished:D,variant:"primary",onClick:function(){y({type:"captureRequested"}),null==o||o()},disabled:!D||b},D?b?j.capturingBtnText:j.captureBtnText:j.loadingBtnText)))))},CaptureContainer=styled__default.default.div(templateObject_1$l||(templateObject_1$l=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--app-height);\n"],["\n display: flex;\n flex-direction: column;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--app-height);\n"]))),HeadingRow=styled__default.default.div(templateObject_2$f||(templateObject_2$f=tslib.__makeTemplateObject(["\n background: ",";\n text-align: center;\n color: white;\n"],["\n background: ",";\n text-align: center;\n color: white;\n"])),(function(e){return e.$maskColor})),Heading$8=styled__default.default.h1(templateObject_3$d||(templateObject_3$d=tslib.__makeTemplateObject(["\n font-size: 22px;\n"],["\n font-size: 22px;\n"]))),FooterRow=styled__default.default.div(templateObject_4$8||(templateObject_4$8=tslib.__makeTemplateObject(["\n background: ",";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"],["\n background: ",";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"])),(function(e){return e.$maskColor})),Instructions=styled__default.default.div(templateObject_5$5||(templateObject_5$5=tslib.__makeTemplateObject(["\n max-height: ",";\n overflow-y: auto;\n"],["\n max-height: ",";\n overflow-y: auto;\n"])),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.documentCapture)||void 0===t?void 0:t.instructions)||void 0===a?void 0:a.maxHeight)&&void 0!==n?n:"8rem"})),StyledButtonsRow$9=styled__default.default(ButtonsRow)(templateObject_6$4||(templateObject_6$4=tslib.__makeTemplateObject(["\n padding-top: 20px;\n"],["\n padding-top: 20px;\n"]))),PreviewImage=styled__default.default.img(templateObject_7$2||(templateObject_7$2=tslib.__makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"],["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"]))),DocumentCaptureWizard=function(e){var t=e.documents,a=e.classNames,n=e.verbiage;return React__default.default.createElement(DocumentCaptureStateProvider,{documents:void 0===t?[]:t,aspectRatio:e.aspectRatio,cameraFeedMode:e.cameraFeedMode,instructions:e.instructions,onDocumentCaptured:e.onDocumentCaptured,onDocumentUploaded:e.onDocumentUploaded,onAllDocumentsUploaded:e.onSuccess},React__default.default.createElement(DocumentCaptureScreen,{classNames:void 0===a?{}:a,verbiage:void 0===n?{}:n}))},IdCaptureFallback=function(e){var t=e.idCaptureRequirement,a=void 0===t?"idCardOrPassport":t,n=e.onCapture,r=e.onFinished,i=e.classNames,o=void 0===i?{}:i,l=e.colors,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=React.useRef(null),m=React.useState([]),f=m[0],p=m[1],g=allowedImageCountForOption(a),h=requiredImageCountForOption(a),v="idCard"===a?"ID card":"passport"===a?"passport":"idCardOrPassport"===a?"ID card or passport":"ID card and passport",b="idCard"===a||"idCardAndPassport"===a?"Please capture the front of your ID card.":"passport"===a?"Please capture the ID page of your passport.":"Please capture the front of your ID card, or the ID page of your passport.",_="idCardOrPassport"===a?"Please capture the back of your ID card, or click Done if submitting a passport.":"Please capture the back of your ID card.",y=useTranslations(c,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture ".concat(h>1?"photos":" a photo"," of your ").concat(v," manually."),firstInstructionText:b,secondInstructionText:_,thirdInstructionText:"Please capture the ID page of your passport.",captureBtnText:"Capture",captureMoreBtnText:"Capture ".concat(2===f.length?"ID page of passport":"back of ID card"),doneBtnText:"Done"});var C=0===f.length?y.firstInstructionText:1===f.length?y.secondInstructionText:y.thirdInstructionText;console.log({imagesLength:f.length,instructionText:C,idCaptureRequirement:a,requiredImageCount:h});var x=React.useState(),R=x[0],E=x[1];return R?React__default.default.createElement(DocumentCaptureWizard,{documents:[{title:R}],onDocumentCaptured:function(e){var t=e.contentUrl;p((function(e){return tslib.__spreadArray(tslib.__spreadArray([],e,!0),[t],!1)})),null==n||n(t),E(void 0)}}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(OverlayContainer,{className:o.container},React__default.default.createElement(StyledOverlayInner$1,{className:o.inner},React__default.default.createElement(Heading$7,{className:o.heading},y.headingText),React__default.default.createElement(Description$2,{className:o.description},y.descriptionText),f.length>0&&React__default.default.createElement(OverlayImageRow,{className:o.imageContainer},f.map((function(e,t){return React__default.default.createElement(ImageCol,{key:t,className:o.imageCol},React__default.default.createElement("img",{src:e,alt:"",className:o.image}))}))),f.length<h&&React__default.default.createElement(Instruction,{className:o.instruction},C),React__default.default.createElement("input",{ref:u,type:"file",accept:"image/*",capture:"environment",onChange:function(e){var t,a=null===(t=e.target.files)||void 0===t?void 0:t[0];if(a){var r=new FileReader;r.addEventListener("load",(function(e){var t,a=null===(t=e.target)||void 0===t?void 0:t.result;p((function(e){return tslib.__spreadArray(tslib.__spreadArray([],e,!0),[a],!1)})),null==n||n(a)})),r.readAsDataURL(a)}},hidden:!0}),React__default.default.createElement(StyledButtonsRow$8,{className:o.buttonsRow},f.length<g&&React__default.default.createElement(LoaderButton,{variant:f.length>0?"secondary":"positive",className:f.length>0?o.captureMoreBtn:o.captureBtn,colors:f.length>0?s.captureMoreBtn:s.captureBtn,finished:!0,onClick:function(){var e;isMobile()?null===(e=u.current)||void 0===e||e.click():E(C)}},f.length>0?y.captureMoreBtnText:y.captureBtnText),f.length>=h&&React__default.default.createElement(LoaderButton,{variant:"positive",className:o.doneBtn,colors:s.doneBtn,finished:!0,onClick:function(){null==r||r(f)}},y.doneBtnText)))))},StyledOverlayInner$1=styled__default.default(OverlayInner$2)(templateObject_1$k||(templateObject_1$k=tslib.__makeTemplateObject(["\n justify-content: center;\n"],["\n justify-content: center;\n"]))),Heading$7=styled__default.default.h3(templateObject_2$e||(templateObject_2$e=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Description$2=styled__default.default.p(templateObject_3$c||(templateObject_3$c=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Instruction=styled__default.default.p(templateObject_4$7||(templateObject_4$7=tslib.__makeTemplateObject(["\n font-weight: bold;\n"],["\n font-weight: bold;\n"]))),ImageCol=styled__default.default.div(templateObject_5$4||(templateObject_5$4=tslib.__makeTemplateObject(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"],["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"]))),StyledButtonsRow$8=styled__default.default(ButtonsRow)(templateObject_6$3||(templateObject_6$3=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),IdCaptureWizard=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v=e.onSuccess,b=e.onExitCapture,_=e.onUserCancel,y=e.loadingOverlayMode,C=void 0===y?"default":y,x=e.precapturedDocuments,R=e.captureRequirement,E=void 0===R?"idCardOrPassport":R,I=e.autoCaptureEnabled,T=void 0===I||I,w=e.autoCaptureGoodFramesRequired,M=void 0===w?3:w,S=e.autoCaptureBarcodeRequired,D=void 0===S?"mobile":S,k=e.barcodeScanningEnabled,N=void 0!==k&&k,O=e.idCardAutoCaptureScoreThreshold,j=void 0===O?.8:O,A=e.passportAutoCaptureScoreThreshold,L=void 0===A?.75:A,B=e.mrzDetectionScoreThreshold,F=void 0===B?.25:B,P=e.idCardFocusScoreThreshold,$=void 0===P?.3:P,z=e.passportFocusScoreThreshold,U=void 0===z?.3:z,G=e.skipSuccessScreen,W=void 0!==G&&G,V=e.instructions,H=e.releaseCameraAccessOnExit,q=void 0===H||H,Y=e.guideType,Z=void 0===Y?"fit":Y,Q=e.portraitGuidesOnMobile,X=void 0!==Q&&Q,K=e.rotateLoadingOverlayImageWhenPortrait,J=void 0===K||K,ee=e.assets,te=void 0===ee?{}:ee,ae=e.classNames,ne=void 0===ae?{}:ae,re=e.colors,ie=void 0===re?{}:re,oe=e.verbiage,le=void 0===oe?{}:oe,se=e.debugMode,de=void 0!==se&&se,ce=useIdCaptureState(),ue=ce[0],me=ce[1],fe=React.useContext(CameraStateContext).releaseCameraAccess,pe=React.useState(!1),ge=pe[0],he=pe[1],ve=React.useContext(SubmissionContext),be=ve.submissionStatus,_e=ve.setIdFrontImage,ye=ve.setIdBackImage,Ce=ve.setPassportImage,xe=ve.logIdFrontCaptureAttempt,Re=ve.logIdBackCaptureAttempt,Ee=React.useContext(IdCaptureModelsContext).modelError,Ie=React.useRef();React.useEffect((function(){me({type:"configureWizard",payload:{captureRequirement:E,precapturedDocuments:x}})}),[E,me,x]);var Te=Object.keys(ue.capturedDocuments).length;React.useEffect((function(){Ie.current=new Date}),[Te]);var we=React.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=Ie.current)&&void 0!==t?t:new Date).getTime(),"idCardBack"===ue.requestedDocumentType?Re(e):xe(e)}),[Re,xe,ue.requestedDocumentType]),Me=React.useCallback((function(e){me({type:"predictionMade",payload:e})}),[me]),Se=React.useCallback((function(e,t,a,n){we(n),me({type:"documentCaptured",payload:{imageData:e,width:t,height:a,boundingBox:n.boundingBox}})}),[me,we]),De=React.useCallback((function(){var e=ue.capturedDocuments,t=e.idCardFront,a=e.idCardBack,n=e.passport,r=t&&dataUrlToBase64Sync(t.imageData),i=a&&dataUrlToBase64Sync(a.imageData),o=n&&dataUrlToBase64Sync(n.imageData);r&&_e(r),i&&ye(i),o&&Ce(o),q&&fe(),setTimeout((function(){null==v||v({idFrontImage:r,idBackImage:i,passportImage:o})}),0)}),[v,fe,q,ye,_e,Ce,ue.capturedDocuments]),ke=useShowSuccessScreen(W,"complete"===ue.captureState,De),Ne=React.useCallback((function(){me({type:"resetWizard"})}),[me]),Oe=React.useState(0),je=Oe[0],Ae=Oe[1],Le=React.useCallback((function(){he(!1),Ae((function(e){return e+1})),me({type:"resetWizard"}),null==b||b()}),[me,b]);React.useEffect((function(){be!==SubmissionStatus.READY&&q&&fe()}),[fe,q,be]),te.idCardFront||(te.idCardFront={}),(l=te.idCardFront).portraitGuidesImageUrl||(l.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),(s=te.idCardFront).landscapeGuidesImageUrl||(s.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),te.idCardBack||(te.idCardBack={}),(d=te.idCardBack).portraitGuidesImageUrl||(d.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),(c=te.idCardBack).landscapeGuidesImageUrl||(c.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg")),te.passport||(te.passport={}),(u=te.passport).portraitGuidesImageUrl||(u.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-Passport-Front-SVG-Portrait-2.svg")),(m=te.passport).landscapeGuidesImageUrl||(m.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-Passport-Front-SVG-Landscape-2.svg")),te.flipIdPrompt||(te.flipIdPrompt={}),(f=te.flipIdPrompt).frontPortraitGuidesImageUrl||(f.frontPortraitGuidesImageUrl=te.idCardFront.portraitGuidesImageUrl),(p=te.flipIdPrompt).frontLandscapeGuidesImageUrl||(p.frontLandscapeGuidesImageUrl=te.idCardFront.landscapeGuidesImageUrl),(g=te.flipIdPrompt).backPortraitGuidesImageUrl||(g.backPortraitGuidesImageUrl=te.idCardBack.portraitGuidesImageUrl),(h=te.flipIdPrompt).backLandscapeGuidesImageUrl||(h.backLandscapeGuidesImageUrl=te.idCardBack.landscapeGuidesImageUrl);var Be={idCardFront:useTranslations(le.idCardFront,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured."}),idCardBack:useTranslations(le.idCardBack,{instructionText:"Scan the back of ID"}),passport:useTranslations(le.passport,{instructionText:"Scan the ID page of passport"})},Fe=styled.useTheme(),Pe=useIdCaptureState()[0],$e=Pe.guideRectX,ze=Pe.guideRectY,Ue=Pe.guideRectWidth,Ge=Pe.guideRectHeight,We=Pe.imageUrl,Ve=te[ue.requestedDocumentType],He=Be[ue.requestedDocumentType];return React.useEffect((function(){"requestingFlip"===ue.captureState&&setTimeout((function(){me({type:"flipRequestCompleted"})}),6e3)}),[me,ue.captureState]),Ee?React__default.default.createElement(IdCaptureFallback,{idCaptureRequirement:E,onFinished:De,onCapture:function(e){me({type:"documentCapturedManually",payload:{imageData:e}})},classNames:ne.fallback,colors:ie.fallback,verbiage:le.fallback}):React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=null==ne?void 0:ne.container)&&void 0!==t?t:"")},"complete"!==ue.captureState&&React__default.default.createElement(CameraFeedWrapper,{$x:$e,$y:ze,$w:Ue,$h:Ge,$mode:"fit"===Z?"snapToGuides":"fullscreen"},React__default.default.createElement(CameraVideoTag,{className:null==ne?void 0:ne.cameraFeed})),ge&&"requestingFlip"!==ue.captureState&&function(){var e=Te;switch(ue.requestedDocumentType){case"idCardFront":return React__default.default.createElement(IdCapture,{key:"capture".concat(e),requiredDocumentType:ue.requestedDocumentType,autoCaptureEnabled:T,autoCaptureScoreThreshold:j,autoCaptureGoodFramesRequired:M,autoCaptureBarcodeRequired:D,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:F,focusScoreThreshold:$,onPrediction:Me,onCapture:Se,assets:Ve,classNames:null==ne?void 0:ne.capture,colors:ie,verbiage:He,debugMode:de});case"idCardBack":return React__default.default.createElement(IdCapture,{key:"capture".concat(e),requiredDocumentType:ue.requestedDocumentType,autoCaptureEnabled:T,autoCaptureScoreThreshold:j,autoCaptureGoodFramesRequired:M,autoCaptureBarcodeRequired:D,barcodeScanningEnabled:N,mrzDetectionScoreThreshold:F,focusScoreThreshold:$,onPrediction:Me,onCapture:Se,assets:Ve,classNames:null==ne?void 0:ne.capture,colors:ie,verbiage:He,debugMode:de});case"passport":return React__default.default.createElement(IdCapture,{key:"capture".concat(e),requiredDocumentType:ue.requestedDocumentType,autoCaptureEnabled:T,autoCaptureScoreThreshold:L,mrzDetectionScoreThreshold:F,autoCaptureGoodFramesRequired:M,autoCaptureBarcodeRequired:D,barcodeScanningEnabled:!1,focusScoreThreshold:U,onPrediction:Me,onCapture:Se,assets:Ve,classNames:null==ne?void 0:ne.capture,colors:ie,verbiage:He,debugMode:de});default:return null}}(),React__default.default.createElement(IdCaptureGuides,{guideType:Z,portraitGuidesOnMobile:X,requestingFlip:"requestingFlip"===ue.captureState,flipIdPromptAssets:null==te?void 0:te.flipIdPrompt,classNames:ne,assets:Ve,colors:ie,verbiage:He}),!(null===(n=null===(a=Fe.idCapture)||void 0===a?void 0:a.capturePreview)||void 0===n?void 0:n.disabled)&&"requestingFlip"===ue.captureState&&We&&React__default.default.createElement(IdCaptureImagePreview,{classNames:null===(r=ne.capture)||void 0===r?void 0:r.imagePreview,text:null===(i=null==Be?void 0:Be.idCardFront)||void 0===i?void 0:i.processingIdCardText,imageUrl:We}),"complete"!==ue.captureState&&React__default.default.createElement("div",{id:"idmission-above-guides-content"}),React__default.default.createElement(ExitCaptureButton,{onClick:Le,className:null===(o=ne.capture)||void 0===o?void 0:o.exitCaptureBtn}),!ge&&React__default.default.createElement(IdCaptureLoadingOverlay,{key:je,mode:C,instructions:V,assets:te.loadingOverlay,classNames:ne.loadingOverlay,colors:ie.loadingOverlay,verbiage:le.loadingOverlay,onUserCancel:_,onDismissed:function(){he(!0)},rotateImage:J&&X&&window.innerWidth<window.innerHeight}),"complete"===ue.captureState&&ke&&React__default.default.createElement(IdCaptureSuccess,{capturedDocuments:ue.capturedDocuments,barcodeResult:ue.barcodeResult,classNames:ne.success,onSubmitClick:De,onRetryClick:Ne,colors:ie.success,verbiage:le.success}))},FaceCaptureGuideContainer=styled__default.default.div(templateObject_1$j||(templateObject_1$j=tslib.__makeTemplateObject(["\n position: absolute;\n z-index: 1000;\n width: 100%;\n height: 100%;\n display: flex;\n"],["\n position: absolute;\n z-index: 1000;\n width: 100%;\n height: 100%;\n display: flex;\n"]))),FaceCaptureGuideOval=styled__default.default.div(templateObject_2$d||(templateObject_2$d=tslib.__makeTemplateObject(["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 50%;\n margin: auto;\n"],["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 50%;\n margin: auto;\n"])),(function(e){return e.$borderWidth}),(function(e){var t,a,n,r;return null!==(r=null!==(t=e.$borderColor)&&void 0!==t?t:null===(n=null===(a=e.theme.selfieCapture)||void 0===a?void 0:a.guides)||void 0===n?void 0:n["".concat(e.$variant,"Color")])&&void 0!==r?r:"white"})),FaceCaptureGuideOverlay=function(e){var t=e.classNames,a=void 0===t?{}:t,n=e.variant,r=e.borderWidth;return React__default.default.createElement(FaceCaptureGuideContainer,{className:a.container},React__default.default.createElement(FaceCaptureGuideOval,{className:a.oval,$variant:void 0===n?"unsatisfied":n,$borderWidth:void 0===r?3:r,$borderColor:e.borderColor}))},useTimeout=function(e,t,a,n,r){void 0===r&&(r=!0);var i=React.useState(!1),o=i[0],l=i[1],s=React.useState(),d=s[0],c=s[1];return React.useEffect((function(){if(e&&r){c(new Date);var t=setTimeout((function(){l(!0)}),e);return function(){t&&clearTimeout(t)}}}),[e,r]),React.useEffect((function(){if(o&&!a){if(n){var e=setTimeout((function(){null==t||t()}),12e4);return function(){clearTimeout(e)}}null==t||t()}}),[t,n,o,a]),{timedOut:o,timeoutStartedAt:d}},SelfieCaptureFallback=function(e){var t=e.onFinished,a=e.onCapture,n=e.classNames,r=void 0===n?{}:n,i=e.colors,o=void 0===i?{}:i,l=e.verbiage,s=void 0===l?{}:l,d=React.useState(null),c=d[0],u=d[1],m=React.useRef(null),f=React.useState(!1),p=f[0],g=f[1],h=React.useState(!1),v=h[0],b=h[1],_=useTranslations(s,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture a selfie manually.",captureBtnText:"Capture",doneBtnText:"Done",doneBtnLoadingText:"Verifying..."});return v?React__default.default.createElement(DocumentCaptureWizard,{documents:[{title:_.descriptionText}],onDocumentCaptured:function(e){var t=e.contentUrl;u(t),null==a||a(t),b(!1)}}):React__default.default.createElement(OverlayContainer,{className:r.container},React__default.default.createElement(StyledOverlayInner,{className:r.inner},React__default.default.createElement(Heading$6,{className:r.heading},_.headingText),React__default.default.createElement(Description$1,{className:r.description},_.descriptionText),c&&React__default.default.createElement(ImageContainer$5,{className:r.imageContainer},React__default.default.createElement("img",{src:c,alt:"",className:r.image})),React__default.default.createElement("input",{ref:m,type:"file",accept:"image/*",capture:"user",onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(n){var r=new FileReader;r.addEventListener("load",(function(e){var t,n=null===(t=e.target)||void 0===t?void 0:t.result;u(n),null==a||a(n)})),r.readAsDataURL(n)}},hidden:!0}),React__default.default.createElement(StyledButtonsRow$7,{className:r.buttonsRow},!c&&React__default.default.createElement(LoaderButton,{variant:"positive",className:r.captureBtn,colors:o.captureBtn,finished:!0,onClick:function(){var e;isMobile()?null===(e=m.current)||void 0===e||e.click():b(!0)}},_.captureBtnText),c&&React__default.default.createElement(LoaderButton,{variant:"positive",key:p?"loading-btn":"ready-btn",className:r.doneBtn,colors:o.doneBtn,finished:!p,onClick:function(){g(!0),null==t||t(c)}},p?_.doneBtnLoadingText:_.doneBtnText))))},StyledOverlayInner=styled__default.default(OverlayInner$2)(templateObject_1$i||(templateObject_1$i=tslib.__makeTemplateObject(["\n justify-content: center;\n"],["\n justify-content: center;\n"]))),Heading$6=styled__default.default.h3(templateObject_2$c||(templateObject_2$c=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Description$1=styled__default.default.p(templateObject_3$b||(templateObject_3$b=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),ImageContainer$5=styled__default.default(OverlayImageContainer)(templateObject_4$6||(templateObject_4$6=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),StyledButtonsRow$7=styled__default.default(ButtonsRow)(templateObject_5$3||(templateObject_5$3=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),initialState$3={videoWidth:0,videoHeight:0,capturing:!1,captured:!1,captureFailed:!1,frame:null,faces:[],faceNotCentered:!1,faceLookingAway:!1,faceTooClose:!1,faceTooFar:!1,faceReady:!1,faceReadyAt:null,goodFramesCount:0,goodFramesThreshold:1,goodFramesThresholdMet:!1},reducer$3=function(e,t){switch(t.type){case"configure":return tslib.__assign(tslib.__assign({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return tslib.__assign(tslib.__assign({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return tslib.__assign(tslib.__assign({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return tslib.__assign(tslib.__assign({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var a=t.payload.faces,n=a[0],r=!0,i=!1,o=!1,l=!1,s=e.faceReadyAt,d=e.goodFramesCount;if(n){var c=e.videoHeight/2,u=(n.box.xMin+n.box.xMax)/2,m=(n.box.yMin+n.box.yMax)/2,f=.125*e.videoWidth,p=.125*e.videoHeight,g=.2*n.box.width,h=.2*n.box.height,v=n.keypoints[2];v&&(r=Math.abs(e.videoWidth/2-u)>f||Math.abs(c+50-m)>p,i=Math.abs(u-v.x)>g||Math.abs(m-v.y)>h);var b=e.videoWidth<e.videoHeight;o=n.box.width>e.videoWidth/(b?2:4.5),l=n.box.width<e.videoWidth/(b?6:7)}var _=!(r||i||o||l);return _?e.faceReady||(s=new Date):(s=null,d=0),tslib.__assign(tslib.__assign({},e),{faces:a,faceNotCentered:r,faceLookingAway:i,faceTooClose:o,faceTooFar:l,faceReady:_,faceReadyAt:s,goodFramesCount:d})}},SelfieCapture=function(e){var t,a=e.onGuidanceSatisfied,n=e.onGuidanceNotSatisfied,r=e.onSelfieCaptured,i=e.onTimeout,o=e.onExit,l=e.timeoutDurationMs,s=void 0===l?15e3:l,d=e.guidanceMessage,c=e.guidanceSatisfied,u=e.classNames,m=void 0===u?{}:u,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,h=void 0===g?{}:g,v=e.debugMode,b=void 0!==v&&v,_=useResizeObserver__default.default(),y=_.ref,C=_.width,x=void 0===C?1:C,R=_.height,E=void 0===R?1:R,I=React.useReducer(reducer$3,initialState$3),T=I[0],w=I[1],M=React.useRef(null),S=React.useContext(CameraStateContext),D=S.cameraRef,k=S.cameraReady,N=S.videoRef,O=React.useContext(HighPerformanceSelfieGuidanceModelsContext),j=O.onPredictionMade,A=O.error;React.useEffect((function(){k&&N.current&&0!==N.current.videoWidth&&w({type:"configure",payload:{videoWidth:N.current.videoWidth,videoHeight:N.current.videoHeight}})}),[k,N]),React.useEffect((function(){j((function(e){w({type:"facesDetected",payload:{faces:e}})}))}),[j]);var L=React.useState(!1),B=L[0],F=L[1];React.useEffect((function(){var e;return T.faceReady?(null==a||a(),e=setTimeout((function(){F(!0)}),1e3)):null==n||n(),function(){e&&clearTimeout(e)}}),[n,a,T.faceReady]),React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){if(B&&N.current&&M.current&&T.faces.length>0){if(drawToCanvas(M.current,N.current),!(e=M.current.getContext("2d")))return[2];t=e.getImageData(0,0,N.current.videoWidth,N.current.videoHeight),null==r||r(t,T.faces[0]),clearCanvas(M.current)}return[2]}))}))}),[B,r,T.faces,N]);var P=useTimeout(s,i),$=P.timedOut,z=P.timeoutStartedAt,U=useDebugScalingDetails({enabled:b,pageWidth:x,pageHeight:E,videoWidth:T.videoWidth,videoHeight:T.videoHeight});p.guidesUnsatisfiedColor||(p.guidesUnsatisfiedColor="white"),p.guidesSatisfiedColor||(p.guidesSatisfiedColor="green");var G=useTranslations(h,{guidanceHoldStillText:"Hold still for a few seconds...",guidanceLookStraightText:"Look straight into the camera...",guidanceMoveBackText:"Move back...",guidanceMoveForwardText:"Move forward...",guidanceMoveToCenterText:"Move to the center..."}),W=T.faceReady;return"boolean"==typeof c&&(W=c),d||(d=W?G.guidanceHoldStillText:T.faceLookingAway?G.guidanceLookStraightText:T.faceTooClose?G.guidanceMoveBackText:T.faceTooFar?G.guidanceMoveForwardText:T.faceNotCentered?G.guidanceMoveToCenterText:""),A?React__default.default.createElement(SelfieCaptureFallback,{classNames:m.fallback}):React__default.default.createElement(PageContainer,{ref:y,className:"flex ".concat(null!==(t=m.container)&&void 0!==t?t:"")},React__default.default.createElement(InvisibleCanvas,{ref:M}),React__default.default.createElement(FaceCaptureGuideOverlay,{classNames:m.guides,variant:W?"satisfied":"unsatisfied"}),""!==d&&React__default.default.createElement(GuidanceMessageContainer,{className:m.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{$variant:W?"positive":"negative",className:m.guidanceMessage},d)),b&&T.faces.length>0&&React__default.default.createElement(ObjectDetectionDebugOverlayDiv,null,T.faces.map((function(e,t){return React__default.default.createElement(SelfieCaptureFaceDebugBox,{key:t,face:e,scaling:U,color:W?"green":"red"})}))),b&&React__default.default.createElement(DebugStatsPane,null,D.current?React__default.default.createElement(React__default.default.Fragment,null,"✅ Camera: ",D.current.label," (",D.current.width,"x",D.current.height,")"):"❌ Camera not ready",React__default.default.createElement("br",null),T.faceNotCentered?"❌":"✅"," Face Centered",React__default.default.createElement("br",null),T.faceTooClose||T.faceTooFar?"❌":"✅"," Face"," ",T.faceTooClose?"Too Close":T.faceTooFar?"Too Far":"Distance Correct",React__default.default.createElement("br",null),T.faceLookingAway?"❌":"✅"," Face Looking Forward",React__default.default.createElement("br",null),T.goodFramesThresholdMet?"✅":"❌"," ",T.goodFramesCount," ","Good Frames",React__default.default.createElement("br",null),$?"❌":"✅"," Time Remaining:"," ",Math.max(0,s-((new Date).getTime()-(null!=z?z:new Date).getTime())),"ms"),React__default.default.createElement(ExitCaptureButton,{onClick:o,className:m.exitCaptureBtn}))},initialState$2={frame:null,face:null,requestState:"CAPTURING",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},reducer$2=function(e,t){var a,n;switch(t.type){case"livenessReady":return["CAPTURING","FAILED","ERROR"].includes(e.requestState)?tslib.__assign(tslib.__assign({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return tslib.__assign(tslib.__assign({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var r=t.payload.response,i=r.status,o=i.statusMessage,l=i.errorData,s=r.resultData;if("000"!==i.statusCode)return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(l))});var d="Live Face Detected"===s.verificationResult,c="true"===s.eyeCovering,u="true"===s.faceMask,m="true"===s.headCovering,f="true"===s.cellPhone,p=d&&!c&&!u&&!m,g=p?"PASSED":"FAILED",h=e.timesLivenessCheckFailed;return p?h=0:h+=1,tslib.__assign(tslib.__assign({},e),{frame:null!==(a=t.payload.frame)&&void 0!==a?a:null,face:null!==(n=t.payload.face)&&void 0!==n?n:null,imageUrl:t.payload.imageUrl,requestState:g,faceLive:d,eyeCoveringDetected:c,maskDetected:u,headCoveringDetected:m,phoneDetected:f,timesLivenessCheckFailed:h});case"livenessCheckFailed":return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},FaceLivenessCapture=function(e){var t,a,n,r=e.onCapture,i=e.onSuccess,o=e.onTimeout,l=e.onExit,s=e.timeoutDurationMs,d=void 0===s?15e3:s,c=e.classNames,u=void 0===c?{}:c,m=e.colors,f=void 0===m?{}:m,p=e.verbiage,g=void 0===p?{}:p,h=e.debugMode,v=React.useContext(SubmissionContext),b=v.checkLiveness,_=v.submissionError,y=React.useContext(HighPerformanceSelfieGuidanceModelsContext).error,C=React.useReducer(reducer$2,initialState$2),x=C[0],R=C[1],E=React.useState(null),I=E[0],T=E[1],w=React.useRef(null),M=React.useRef(null),S=styled.useTheme(),D=React.useCallback((function(e,t){null==r||r(),R({type:"livenessReady",payload:{frame:e,face:t}})}),[r]),k=x.frame,N=x.face,O="CAPTURED"===x.requestState,j="PASSED"===x.requestState;React.useEffect((function(){k&&N&&O&&!_&&(R({type:"livenessChecking"}),tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),e=cropToShoulders(w.current,M.current,k,N),T(e),a=b,[4,dataUrlToBase64(e)];case 1:return[4,a.apply(void 0,[r.sent()])];case 2:return t=r.sent(),R({type:"livenessChecked",payload:{frame:k,face:N,imageUrl:e,response:t}}),[3,4];case 3:return n=r.sent(),R({type:"livenessCheckFailed",payload:{error:n}}),[3,4];case 4:return[2]}}))})))}),[b,N,k,O,_]);var A=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:R({type:"livenessChecking"}),r.label=1;case 1:return r.trys.push([1,4,,5]),a=b,[4,dataUrlToBase64(e)];case 2:return[4,a.apply(void 0,[r.sent()])];case 3:return t=r.sent(),R({type:"livenessChecked",payload:{imageUrl:e,response:t}}),[3,5];case 4:return n=r.sent(),R({type:"livenessCheckFailed",payload:{error:n}}),[3,5];case 5:return[2]}}))}))}),[b]);React.useEffect((function(){j&&x.imageUrl&&(null==i||i(x.imageUrl))}),[i,x.imageUrl,j]),React.useEffect((function(){x.timesLivenessCheckFailed>=(y?1:2)&&(null==o||o())}),[y,o,x.timesLivenessCheckFailed]),useTimeout(d,o,"PASSED"===x.requestState||!!y,"IN_PROGRESS"===x.requestState);var L=useTranslations(g,{guidanceRemoveEyeCoveringsText:"Please remove your eye coverings (sunglasses, eye patch, etc.)...",guidanceRemoveHeadCoveringsText:"Please remove your head coverings (hat, scarf, etc.)...",guidanceRemoveMaskText:"Please remove your mask...",progressPreviewText:"Processing..."}),B=x.eyeCoveringDetected?L.guidanceRemoveEyeCoveringsText:x.headCoveringDetected?L.guidanceRemoveHeadCoveringsText:x.maskDetected?L.guidanceRemoveMaskText:void 0;return y?React__default.default.createElement(SelfieCaptureFallback,{onFinished:A}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(InvisibleCanvas,{ref:w}),React__default.default.createElement(InvisibleCanvas,{ref:M}),React__default.default.createElement(SelfieCapture,{onSelfieCaptured:D,onExit:l,timeoutDurationMs:d,guidanceMessage:B,guidanceSatisfied:!B&&void 0,classNames:u,colors:f,verbiage:L,debugMode:h}),!(null===(a=null===(t=S.selfieCapture)||void 0===t?void 0:t.capturePreview)||void 0===a?void 0:a.disabled)&&I&&React__default.default.createElement(SelfieProgressPreview,{classNames:u.imagePreview,imageUrl:I,text:null!==(n=L.progressPreviewText)&&void 0!==n?n:""}))},FaceLivenessSuccess=function(e){var t=e.imageUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=useTranslations(void 0===s?{}:s,{headingText:"Face liveness has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(Heading$5,{className:i.heading},d.headingText),React__default.default.createElement(OverlayImageContainer,{className:i.imageContainer},React__default.default.createElement("img",{alt:d.headingText,src:t,className:i.image})),React__default.default.createElement(ButtonsRow,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",onClick:n,colors:l.retryBtn,className:i.retryBtn,finished:!0},d.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",onClick:a,colors:l.doneBtn,className:i.doneBtn,finished:!0},d.doneBtnText))))},Heading$5=styled__default.default.h3(templateObject_1$h||(templateObject_1$h=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),FaceLivenessFailure=function(e){var t=e.canRetry,a=void 0===t||t,n=e.onRetryClick,r=e.onExitClick,i=e.assets,o=void 0===i?{}:i,l=e.classNames,s=void 0===l?{}:l,d=e.colors,c=void 0===d?{}:d,u=e.verbiage,m=void 0===u?{}:u;o.imageUrl||(o.imageUrl="".concat(DEFAULT_CDN_URL,"/manual_capture.png"));var f=useTranslations(m,{headingText:"Live face not detected, please try again",retryBtnText:"Retry",exitBtnText:"Exit"});return React__default.default.createElement(OverlayContainer,{className:s.container},React__default.default.createElement(OverlayInner$2,{className:s.inner},React__default.default.createElement("h3",{className:s.heading},f.headingText),React__default.default.createElement(ImageContainer$4,{className:s.imageContainer},React__default.default.createElement("img",{alt:f.headingText,src:o.imageUrl,className:s.image})),React__default.default.createElement(ButtonsRow,{className:s.buttonsRow},a&&React__default.default.createElement(LoaderButton,{variant:"warning",className:s.retryBtn,onClick:n,colors:c.retryBtn,finished:!0},f.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"secondary",className:s.exitBtn,onClick:r,colors:c.exitBtn,finished:!0},f.exitBtnText))))},ImageContainer$4=styled__default.default(OverlayImageContainer)(templateObject_1$g||(templateObject_1$g=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n margin: 0 24px;\n"],["\n max-height: calc(100vh - 185px);\n margin: 0 24px;\n"]))),SelfieCaptureLoadingOverlayLegacy=function(e){var t=e.onDismissed,a=e.onUserCancel,n=e.assets,r=void 0===n?{}:n,i=e.classNames,o=void 0===i?{}:i,l=e.colors,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=React.useContext(CameraStateContext),m=u.cameraReady,f=u.cameraAccessDenied,p=React.useContext(HighPerformanceSelfieGuidanceModelsContext),g=p.ready,h=p.modelDownloadProgress;r.instructionImageUrl||(r.instructionImageUrl="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"));var v=useTranslations(c,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Continue",cameraInitializingText:"Camera initializing...",downloadingText:"Downloading...",modelsWarmingUpText:"Models warming up..."}),b=React.useState(!1),_=b[1];return b[0]?React__default.default.createElement(React__default.default.Fragment,null):f?React__default.default.createElement(CameraAccessDeniedOverlay,{assets:r.cameraAccessDenied,classNames:o.cameraAccessDenied,colors:s.cameraAccessDenied,verbiage:c.cameraAccessDenied}):React__default.default.createElement(OverlayContainer,{className:o.container},React__default.default.createElement(OverlayInner$2,{className:o.inner},React__default.default.createElement("h3",{className:o.heading},v.headingText),a&&React__default.default.createElement(ExitCaptureButton,{onClick:a,className:o.cancelBtn}),React__default.default.createElement(StyledGuidanceMessage$1,null,v.removeEyeCoveringsText,React__default.default.createElement("br",null),v.avoidExcessiveBacklightingText),React__default.default.createElement(OverlayImageContainer,{className:o.imageContainer},React__default.default.createElement("img",{className:o.image,alt:v.headingText,src:r.instructionImageUrl})),React__default.default.createElement(StyledButtonsRow$6,{className:o.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"positive",disabled:!m||!g,finished:m&&g,className:o.continueBtn,colors:s.continueBtn,onClick:function(){_(!0),null==t||t()}},m&&g?v.continueText:g?v.cameraInitializingText:h>=100?"".concat(v.modelsWarmingUpText):"".concat(v.downloadingText," (").concat(h,"%)")))))},StyledGuidanceMessage$1=styled__default.default(GuidanceMessage)(templateObject_1$f||(templateObject_1$f=tslib.__makeTemplateObject(["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"],["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"]))),StyledButtonsRow$6=styled__default.default(ButtonsRow)(templateObject_2$b||(templateObject_2$b=tslib.__makeTemplateObject(["\n flex-direction: column;\n padding-top: 25px;\n"],["\n flex-direction: column;\n padding-top: 25px;\n"])));function SelfieCaptureLoadingGraphic(e){var t,a,n,r=e.width,i=void 0===r?840:r,o=e.height,l=void 0===o?740:o,s=e.className,d=React.useState(1),c=d[0],u=d[1];React.useEffect((function(){var e=setInterval((function(){u((function(e){return(e+1)%10}))}),750);return function(){clearInterval(e)}}),[]);var m=null!==(n=null===(a=null===(t=styled.useTheme().selfieCapture)||void 0===t?void 0:t.loadingOverlay)||void 0===a?void 0:a.loadingGraphicAccentColor)&&void 0!==n?n:"var(--idm-color-positive-600)";return React__default.default.createElement("svg",{width:i,height:l,className:s,viewBox:"0 0 840 740",fill:"none",preserveAspectRatio:"xMidYMax slice",xmlns:"http://www.w3.org/2000/svg"},React__default.default.createElement("g",{clipPath:"url(#clip0_428_1188)"},React__default.default.createElement("mask",{id:"mask0_428_1188",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"840",height:"740"},React__default.default.createElement("rect",{width:"840",height:"740",fill:"#D9D9D9"})),React__default.default.createElement("g",{mask:"url(#mask0_428_1188)"},React__default.default.createElement("path",{d:"M503.781 449.497C491.561 503.154 458.442 541.609 419.561 541.609C380.68 541.609 347.492 503.015 335.272 449.358L344.645 412.916L347.492 402.019H491.561L502.253 443.667L503.225 447.415L503.781 449.497Z",fill:"#D2D4DA"}),React__default.default.createElement("path",{d:"M574.88 244.97C647.073 163.885 598.921 362.155 558.945 338.928C488.709 298.211 574.88 244.97 574.88 244.97Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M816.983 742.838C779.698 781.432 736.86 814.612 689.786 841.127C617.161 882.012 534.399 906.862 446.153 911.027C437.335 911.513 428.448 911.721 419.491 911.721C374.986 911.721 331.731 906.446 290.281 896.519C232.514 882.706 178.358 859.8 129.271 829.397C89.9033 805.033 53.9382 775.948 22 742.838L31.512 705.355C45.8842 649.061 90.2505 605.33 146.837 591.795L153.085 590.337L222.447 573.747L241.401 569.235C249.386 567.292 257.023 564.585 264.244 561.114C270.285 558.199 276.047 554.797 281.463 550.91C287.295 546.745 292.78 542.025 297.71 536.819C310.971 522.867 320.761 505.653 325.76 486.286L333.119 457.688L335.064 449.983L335.202 449.358L344.645 412.916L347.422 402.019H491.491L502.253 443.667L503.225 447.415L503.78 449.497V449.983L505.863 457.757L513.223 486.286C520.097 512.802 535.996 535.5 557.589 550.91C569.393 559.448 582.932 565.765 597.581 569.235L615.078 573.4L692.146 591.795C748.732 605.33 793.099 649.061 807.471 705.355L816.983 742.838Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M503.781 449.497C491.561 503.154 458.442 541.609 419.561 541.609C380.68 541.609 347.492 503.015 335.272 449.358L344.645 412.916L347.492 402.019H491.561L502.253 443.667L503.225 447.415L503.781 449.497Z",fill:"#DC968D"}),React__default.default.createElement("path",{d:"M264.123 244.97C191.93 163.885 240.082 362.155 280.058 338.928C350.294 298.211 264.123 244.97 264.123 244.97Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M586.473 187.324C586.473 193.432 586.126 199.402 585.432 205.371C584.876 210.785 582.446 233.9 578.141 263.331C575.781 279.713 572.726 297.969 569.115 316.294C569.115 316.502 569.115 316.78 568.976 316.988C560.159 361.621 547.731 406.045 531.484 422.219C513.154 440.544 498.435 457.203 481.632 469.211C464.83 481.289 446.014 488.786 419.631 488.786C393.247 488.786 374.431 481.289 357.629 469.211C340.896 457.203 326.107 440.544 307.778 422.219C291.531 405.976 279.103 361.482 270.216 316.918C270.216 316.918 270.216 316.71 270.216 316.641C269.105 310.879 268.063 305.118 267.022 299.426C266.605 297.066 266.189 294.706 265.772 292.346C264.036 282.351 262.509 272.563 261.12 263.401C256.121 229.596 253.691 204.122 253.691 204.122C253.136 198.638 252.858 193.016 252.858 187.324C252.858 185.866 252.858 184.408 252.858 182.951C253.205 169.832 255.01 157.06 258.274 144.843C258.412 144.287 258.551 143.732 258.69 143.177C277.228 75.4294 337.425 24.8271 410.049 20.8011C413.243 20.5928 416.368 20.5234 419.631 20.5234C465.733 20.5234 507.461 39.1956 537.663 69.3904C563.769 95.4205 581.266 130.127 585.501 168.79C586.195 174.899 586.542 181.077 586.542 187.324H586.473Z",fill:"#FEAEA5"}),React__default.default.createElement("path",{d:"M445.867 337.327C445.867 348.849 434.133 358.151 419.622 358.151C405.111 358.151 393.447 348.849 393.447 337.327C393.447 335.939 393.586 334.55 394.002 333.301C396.293 342.88 406.916 350.099 419.622 350.099C432.328 350.099 443.02 342.88 445.312 333.301C445.728 334.62 445.867 335.939 445.867 337.327Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M817.053 743.187C716.586 847.238 575.642 912 419.561 912C263.481 912 122.467 847.238 22.0698 743.118L31.5818 705.704C45.954 649.34 90.3203 605.61 146.906 592.074L222.655 574.027L241.471 569.515C249.942 567.502 258.135 564.517 265.772 560.699C304.237 601.653 358.879 627.267 419.561 627.267C480.244 627.267 534.886 601.653 573.351 560.699C580.988 564.448 589.111 567.502 597.651 569.515L614.106 573.471L692.216 592.074C748.802 605.61 793.168 649.34 807.471 705.704L817.053 743.187Z",fill:"#6E7174"}),React__default.default.createElement("path",{d:"M614.106 573.471C597.165 594.018 534.886 659.058 419.561 663.639C286.671 668.984 226.266 579.441 222.655 574.027L241.471 569.515C249.942 567.502 258.134 564.517 265.772 560.699C304.236 601.653 358.879 627.267 419.561 627.267C480.244 627.267 534.886 601.653 573.35 560.699C580.988 564.448 589.111 567.502 597.651 569.515L614.106 573.471Z",fill:"#555A5E"}),React__default.default.createElement("path",{d:"M249.898 196.144C249.898 249.777 270.317 315.623 270.317 315.623C270.317 315.623 266.862 205.572 314.892 164.108C347.514 135.946 374.019 167.565 417.115 167.565C456.137 167.565 492.558 136.481 525.436 164.108C578.852 208.994 568.738 315.623 568.738 315.623C568.738 315.623 589.157 250.557 589.157 196.144C589.157 76.4319 542.638 20 417.115 20C302.8 20 249.898 75.8365 249.898 196.144Z",fill:"#525252"})),c>=8?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("path",{d:"M565.5 295C565.5 350.583 549.016 400.803 522.488 437.067C495.958 473.332 459.517 495.5 419.5 495.5C379.483 495.5 343.042 473.332 316.512 437.067C289.984 400.803 273.5 350.583 273.5 295C273.5 239.417 289.984 189.197 316.512 152.933C343.042 116.668 379.483 94.5 419.5 94.5C459.517 94.5 495.958 116.668 522.488 152.933C549.016 189.197 565.5 239.417 565.5 295Z",stroke:m,strokeWidth:"5"}),React__default.default.createElement("circle",{cx:"518.5",cy:"438.5",r:"25.5",fill:m}),React__default.default.createElement("path",{d:"M504 440.5L512 448L531 427",stroke:"white",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"})):React__default.default.createElement(React__default.default.Fragment,null,c>2&&React__default.default.createElement(React__default.default.Fragment,null,c>3&&React__default.default.createElement(React__default.default.Fragment,null,c>4&&React__default.default.createElement(React__default.default.Fragment,null,c>5&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("path",{d:"M298.5 182.5L419 164.5L540 182",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("circle",{cx:"419",cy:"165",r:"7",fill:"white"})),React__default.default.createElement("path",{d:"M565.5 295C565.5 350.583 549.016 400.803 522.488 437.067C495.958 473.332 459.517 495.5 419.5 495.5C379.483 495.5 343.042 473.332 316.512 437.067C289.984 400.803 273.5 350.583 273.5 295C273.5 239.417 289.984 189.197 316.512 152.933C343.042 116.668 379.483 94.5 419.5 94.5C459.517 94.5 495.958 116.668 522.488 152.933C549.016 189.197 565.5 239.417 565.5 295Z",stroke:"white",strokeOpacity:c>7?.8:c>5?.3:.1,strokeWidth:"5"}),React__default.default.createElement("path",{d:"M299.939 262.805L419 478.5L538.5 261.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("path",{d:"M298.5 182.5L418.871 230.054L540 182",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("path",{d:"M298.5 182.5L299.939 262.805",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("path",{d:"M540.001 182L538.501 261.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("circle",{cx:"299.914",cy:"182",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"540",cy:"182",r:"7",fill:"white"})),React__default.default.createElement("path",{d:"M418.828 230L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M300 263.001L419 342.501",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M538.5 261.5L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M301.5 409L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M536.5 410L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M300 263L419 230",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M538.5 261.5L419 230",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("circle",{cx:"419",cy:"229.971",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"419",cy:"342.4",r:"7",fill:"white"})),React__default.default.createElement("path",{d:"M538.5 261.5L536.5 410",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>3&&c<7?.3:1}),React__default.default.createElement("path",{d:"M419 478.5L536.5 410",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>3&&c<7?.3:1}),React__default.default.createElement("circle",{cx:"537",cy:"263",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"537",cy:"409",r:"7",fill:"white"})),c>1&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("path",{d:"M301.501 409L300.001 263",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>2&&c<7?.3:1}),React__default.default.createElement("path",{d:"M301.501 409L419.001 478.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>2&&c<7?.3:1}),React__default.default.createElement("circle",{cx:"419",cy:"477.576",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"301.914",cy:"263",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"301.444",cy:"409",r:"7",fill:"white"})))),React__default.default.createElement("defs",null,React__default.default.createElement("clipPath",{id:"clip0_428_1188"},React__default.default.createElement("rect",{width:"840",height:"740",fill:"white"}))))}var templateObject_1$e,templateObject_2$a,templateObject_3$a,templateObject_4$5,templateObject_5$2,templateObject_6$2,templateObject_7$1,templateObject_8,templateObject_9,templateObject_10,templateObject_11,templateObject_12,templateObject_13,templateObject_14,templateObject_15,legacyInstructionImageUrl="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"),SelfieCaptureLoadingOverlayDefault=function(e){var t=e.onDismissed,a=e.onUserCancel,n=e.assets,r=void 0===n?{}:n,i=e.classNames,o=void 0===i?{}:i,l=e.colors,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=React.useContext(CameraStateContext),m=u.cameraReady,f=u.cameraAccessDenied,p=React.useContext(HighPerformanceSelfieGuidanceModelsContext),g=p.ready,h=p.modelDownloadProgress,v=useTranslations(c,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Let's Go!",cameraInitializingText:"Accessing camera...",cameraInitializedText:"Camera ready",downloadingText:"Downloading...",modelsWarmingUpText:"Loading guided capture experience...",modelsReadyText:"Guided capture experience ready"}),b=React.useState(0),_=b[1],y=[v.headingText,v.removeEyeCoveringsText,v.avoidExcessiveBacklightingText][b[0]];React.useEffect((function(){setInterval((function(){_((function(e){return(e+1)%3}))}),3e3)}),[]);var C=React.useState(!1),x=C[1];return C[0]?React__default.default.createElement(React__default.default.Fragment,null):f?React__default.default.createElement(CameraAccessDeniedOverlay,{assets:r.cameraAccessDenied,classNames:o.cameraAccessDenied,colors:s.cameraAccessDenied,verbiage:c.cameraAccessDenied}):React__default.default.createElement(OverlayContainer,{className:o.container},React__default.default.createElement(OverlayInner,{className:o.inner},a&&React__default.default.createElement(ExitCaptureButton,{onClick:a,className:o.cancelBtn}),React__default.default.createElement(OverlayHeader,{className:o.headingContainer},React__default.default.createElement(StyledGuidanceMessage,{className:o.heading},y)),React__default.default.createElement(StyledOverlayImageContainer,{className:o.imageContainer},(null==r?void 0:r.instructionImageUrl)&&r.instructionImageUrl!==legacyInstructionImageUrl?React__default.default.createElement(CustomLoadingGraphic,{className:o.image,alt:v.headingText,src:r.instructionImageUrl}):React__default.default.createElement(SelfieCaptureLoadingGraphic,{className:o.image})),React__default.default.createElement(StyledButtonsRow$5,{className:o.buttonsRow},React__default.default.createElement(ProgressContainer,{className:o.progressContainer},React__default.default.createElement(ProgressBarBackground,{className:o.progressBackground}),React__default.default.createElement(ProgressBar,{$progress:h,className:o.progressBar},React__default.default.createElement(ProgressIndicator,{className:o.progressIndicator}))),React__default.default.createElement(LoadingListContainer,{className:o.loadingListContainer},React__default.default.createElement(LoadingList,{className:o.loadingList},React__default.default.createElement(LoadingListItem,{className:"".concat(o.loadingListItem," ").concat(m?"done":"running")},m?v.cameraInitializedText:v.cameraInitializingText),React__default.default.createElement(LoadingListItem,{className:"".concat(o.loadingListItem," ").concat(g?"done":"running")},g?v.modelsReadyText:h>=100?v.modelsWarmingUpText:"".concat(v.downloadingText," (").concat(h,"%)")))),React__default.default.createElement(ContinueButtonContainer,{className:o.continueBtnContainer},g&&m&&React__default.default.createElement(ContinueButton,{finished:!0,className:o.continueBtn,variant:"positive",colors:s.continueBtn,onClick:function(){x(!0),null==t||t()}},v.continueText)))))},OverlayInner=styled__default.default.div(templateObject_1$e||(templateObject_1$e=tslib.__makeTemplateObject(["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"],["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.backgroundColor)&&void 0!==r?r:"#ecedf3"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.textColor)&&void 0!==r?r:"black"})),OverlayHeader=styled__default.default.div(templateObject_2$a||(templateObject_2$a=tslib.__makeTemplateObject(["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"],["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"])),(function(e){var t;return null!==(t=e.theme.textAlign)&&void 0!==t?t:"center"}),(function(e){return e.theme.padding?"box-sizing: border-box; padding: ".concat(e.theme.padding,";"):""})),StyledGuidanceMessage=styled__default.default(GuidanceMessage)(templateObject_3$a||(templateObject_3$a=tslib.__makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"],["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"]))),StyledButtonsRow$5=styled__default.default(ButtonsRow)(templateObject_4$5||(templateObject_4$5=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarTextColor)&&void 0!==r?r:"white"}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.selfieCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""})),StyledOverlayImageContainer=styled__default.default(OverlayImageContainer)(templateObject_5$2||(templateObject_5$2=tslib.__makeTemplateObject(["\n padding: 0;\n\n & > svg {\n height: 100%;\n }\n"],["\n padding: 0;\n\n & > svg {\n height: 100%;\n }\n"]))),LoadingListContainer=styled__default.default.div(templateObject_6$2||(templateObject_6$2=tslib.__makeTemplateObject(["\n display: flex;\n position: relative;\n z-index: 2;\n"],["\n display: flex;\n position: relative;\n z-index: 2;\n"]))),LoadingList=styled__default.default.ul(templateObject_7$1||(templateObject_7$1=tslib.__makeTemplateObject(["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"],["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"]))),LoadingListItem=styled__default.default.li(templateObject_8||(templateObject_8=tslib.__makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"],["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"]))),ProgressContainer=styled__default.default.div(templateObject_9||(templateObject_9=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),ProgressBarBackground=styled__default.default.div(templateObject_10||(templateObject_10=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundColor)&&void 0!==r?r:"var(--idm-color-positive-600)"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundOpacity)&&void 0!==r?r:.75})),ProgressBar=styled__default.default.span(templateObject_11||(templateObject_11=tslib.__makeTemplateObject(["\n display: block;\n width: ","%;\n height: 100%;\n"],["\n display: block;\n width: ","%;\n height: 100%;\n"])),(function(e){return e.$progress})),ProgressIndicator=styled__default.default.span(templateObject_12||(templateObject_12=tslib.__makeTemplateObject(["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"],["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarIndicatorColor)&&void 0!==r?r:"var(--idm-color-positive-600)"})),CustomLoadingGraphic=styled__default.default.img(templateObject_13||(templateObject_13=tslib.__makeTemplateObject([""],[""]))),ContinueButtonContainer=styled__default.default.div(templateObject_14||(templateObject_14=tslib.__makeTemplateObject(["\n display: flex;\n"],["\n display: flex;\n"]))),ContinueButton=styled__default.default(LoaderButton)(templateObject_15||(templateObject_15=tslib.__makeTemplateObject(["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"],["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.selfieCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.continueBtnBorder)?"border: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.selfieCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.continueBtnBorder,";"):""})),components={default:SelfieCaptureLoadingOverlayDefault,legacy:SelfieCaptureLoadingOverlayLegacy},SelfieCaptureLoadingOverlay=function(e){var t,a=e.mode,n=void 0===a?"default":a,r=tslib.__rest(e,["mode"]),i=null!==(t=components[n])&&void 0!==t?t:components.default;return React__default.default.createElement(i,tslib.__assign({},r))},FaceLivenessWizard=function(e){var t,a,n,r=e.onComplete,i=e.onSuccess,o=e.onTimeout,l=e.onExitCapture,s=e.onExitAfterFailure,d=e.onUserCancel,c=e.loadingOverlayMode,u=void 0===c?"default":c,m=e.timeoutDurationMs,f=void 0===m?15e3:m,p=e.maxRetries,g=void 0===p?2:p,h=e.skipSuccessScreen,v=void 0!==h&&h,b=e.renderCameraFeed,_=void 0===b||b,y=e.releaseCameraAccessOnExit,C=void 0===y||y,x=e.assets,R=void 0===x?{}:x,E=e.classNames,I=void 0===E?{}:E,T=e.colors,w=void 0===T?{}:T,M=e.verbiage,S=void 0===M?{}:M,D=e.debugMode,k=void 0!==D&&D,N=React.useContext(SubmissionContext),O=N.submissionResponse,j=N.livenessCheckRequest,A=N.setSelfieImage,L=N.logSelfieCaptureAttempt,B=React.useContext(CameraStateContext).releaseCameraAccess,F=React.useState(""),P=F[0],$=F[1],z=React.useState(0),U=z[0],G=z[1],W=React.useState("LOADING"),V=W[0],H=W[1],q=React.useRef(),Y=React.useRef(),Z=React.useRef();React.useEffect((function(){Z.current=new Date}),[]),React.useEffect((function(){"CAPTURING"===V&&(q.current=new Date)}),[V]);var Q=React.useCallback((function(){Y.current=new Date}),[]),X=React.useCallback((function(){var e,t,a;L({autoCapture:"Y",captureTime:(null!==(e=Y.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=q.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(a=Z.current)&&void 0!==a?a:new Date).getTime()}),Z.current=new Date}),[L]),K=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return j&&O?(H("SUCCESS"),$(e),t=A,[4,dataUrlToBase64(e)]):[2];case 1:return t.apply(void 0,[a.sent()]),null==i||i(O,j),[2]}}))}))}),[i,A,j,O]),J=React.useCallback((function(){H("FAILED"),null==o||o(O,j)}),[o,j,O]),ee=React.useState(0),te=ee[0],ae=ee[1],ne=React.useCallback((function(){ae((function(e){return e+1})),H("LOADING"),null==l||l()}),[l]),re=React.useCallback((function(){X(),C&&B(),setTimeout((function(){null==r||r(O,j)}),0)}),[X,r,B,C,j,O]),ie=useShowSuccessScreen(v,"SUCCESS"===V,re);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(a=null===(t=I.capture)||void 0===t?void 0:t.container)&&void 0!==a?a:"")},_&&React__default.default.createElement(CameraVideoTag,{className:null===(n=I.capture)||void 0===n?void 0:n.cameraFeed}),"LOADING"!==V&&function(){switch(V){case"CAPTURING":return React__default.default.createElement(FaceLivenessCapture,{key:"capture".concat(te),onCapture:Q,onSuccess:K,onTimeout:J,onExit:ne,timeoutDurationMs:f,classNames:I.capture,colors:w,verbiage:S,debugMode:k});case"SUCCESS":return ie?React__default.default.createElement(FaceLivenessSuccess,{key:"success",imageUrl:P,classNames:I.success,colors:w.success,verbiage:S.success,onDoneClick:re,onRetryClick:function(){X(),H("CAPTURING")}}):null;case"FAILED":return React__default.default.createElement(FaceLivenessFailure,{key:"failure",assets:R.failure,classNames:I.failure,colors:w.failure,verbiage:S.failure,canRetry:g>-1&&U<g,onRetryClick:function(){X(),G((function(e){return e+1})),H("CAPTURING")},onExitClick:function(){C&&B(),setTimeout((function(){null==s||s(O,j)}),0)}});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:te,mode:u,assets:R.loadingOverlay,classNames:I.loadingOverlay,colors:w.loadingOverlay,verbiage:S.loadingOverlay,onUserCancel:d,onDismissed:function(){H("CAPTURING")}}))},GuideOrientationProvider=function(e){var t=e.children,a=React.useState({width:1,height:1}),n=a[1],r=React.useState(1),i=r[0],o=r[1],l=useResizeObserver__default.default(),s=l.ref,d=l.width,c=void 0===d?1:d,u=l.height,m=void 0===u?1:u,f=c/m,p=React.useCallback((function(e){var t=e.target;o(t.naturalWidth/t.naturalHeight)}),[]);return React__default.default.createElement(GuideOrientationContext.Provider,{value:{orientation:"landscape",wrapperWidth:c,wrapperHeight:m,wrapperAspectRatio:f,imageAspectRatio:i,setDimensions:n,wrapperRef:s,onImageLoaded:p}},t)},SubmissionSuccess=function(){var e=React.useContext(SubmissionContext),t=e.submissionRequest,a=e.submissionResponse,n=React.useState(!1),r=n[0],i=n[1],o=React.useState(!0),l=o[0],s=o[1],d=React.useMemo((function(){var e,a,n,r,i,o,s=JSON.parse(JSON.stringify(t));return l&&((null===(a=null===(e=null==s?void 0:s.customerData)||void 0===e?void 0:e.idData)||void 0===a?void 0:a.idImageFront)&&(s.customerData.idData.idImageFront=truncate(s.customerData.idData.idImageFront,200)),(null===(r=null===(n=null==s?void 0:s.customerData)||void 0===n?void 0:n.idData)||void 0===r?void 0:r.idImageBack)&&(s.customerData.idData.idImageBack=truncate(s.customerData.idData.idImageBack,200)),(null===(o=null===(i=null==s?void 0:s.customerData)||void 0===i?void 0:i.biometricData)||void 0===o?void 0:o.selfie)&&(s.customerData.biometricData.selfie=truncate(s.customerData.biometricData.selfie,200))),JSON.stringify(s,null,2)}),[t,l]);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("h3",null,"Submission completed!"),React__default.default.createElement("button",{onClick:function(){i(!r)}},r?"Hide":"Show"," request body"),r&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("button",{style:{marginLeft:8},onClick:function(){s(!l)}},l?"Display full images":"Truncate images"),React__default.default.createElement("h5",null,"Request Body"),React__default.default.createElement("pre",null,d)),React__default.default.createElement("h5",null,"Response Body"),React__default.default.createElement("pre",null,JSON.stringify(a,null,2)))};function truncate(e,t){var a=e.split("").splice(0,t).join("");return a.length<e.length&&(a+="..."),a}var templateObject_1$d,templateObject_2$9,templateObject_3$9,templateObject_4$4,AdditionalDocumentCapture=function(e){var t=e.document,a=e.onComplete,n=e.classNames,r=void 0===n?{}:n,i=e.verbiage,o=void 0===i?{}:i,l=React.useRef(null),s=React.useState(null),d=s[0],c=s[1],u=useTranslations(o,{headingText:"Additional document capture",captureBtnText:"Capture",nextBtnText:"Next"});return React__default.default.createElement(OverlayContainer,{className:r.container},React__default.default.createElement(Inner,{className:r.inner},React__default.default.createElement(Heading$4,{className:r.heading},u.headingText,": ",t.name),t.description&&React__default.default.createElement(Description,{className:r.description},t.description),React__default.default.createElement("input",{ref:l,type:"file",accept:"image/*,.pdf",onChange:function(e){var t,a=null===(t=e.target.files)||void 0===t?void 0:t[0];a&&c(a)},hidden:!0}),React__default.default.createElement(StyledButtonsRow$4,{className:r.buttonsRow},d?React__default.default.createElement(LoaderButton,{variant:"positive",className:r.nextBtn,disabled:!d,finished:!0,onClick:function(){if(d){var e=new FileReader;e.onloadend=function(){if(e.result){var n=e.result.toString();null==a||a({documentName:t.name,additionalDocument:{name:d.name,fileContent:dataUrlToBase64Sync(n),type:contentDispositionFromDataUrl(n),fileUploadType:"Y",isImageControlData:"Y",fieldId:""}})}},e.readAsDataURL(d)}}},u.nextBtnText):React__default.default.createElement(LoaderButton,{variant:"primary",className:r.captureBtn,finished:!0,onClick:function(){var e;null===(e=l.current)||void 0===e||e.click()}},u.captureBtnText))))},Inner=styled__default.default(OverlayInner$2)(templateObject_1$d||(templateObject_1$d=tslib.__makeTemplateObject(["\n justify-content: center;\n"],["\n justify-content: center;\n"]))),Heading$4=styled__default.default.h3(templateObject_2$9||(templateObject_2$9=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Description=styled__default.default.p(templateObject_3$9||(templateObject_3$9=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),StyledButtonsRow$4=styled__default.default(ButtonsRow)(templateObject_4$4||(templateObject_4$4=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),AdditionalDocumentCaptureWizard=function(e){var t=e.documents,a=e.onComplete,n=e.classNames,r=void 0===n?{}:n,i=e.verbiage,o=void 0===i?{}:i,l=React.useState([]),s=l[0],d=l[1],c=s.length,u=t[c],m=c>=t.length;return React.useEffect((function(){(null==u?void 0:u.skip)&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return[4,null===(e=u.skip)||void 0===e?void 0:e.call(u)];case 1:return t.sent()&&d((function(e){return tslib.__spreadArray(tslib.__spreadArray([],e,!0),[null],!1)})),[2]}}))}))}),[u]),React.useEffect((function(){m&&(null==a||a(s.filter((function(e){return!!e}))))}),[m,a,s]),m?React__default.default.createElement(React__default.default.Fragment,null,"Thanks, your documents have been received."):React__default.default.createElement(AdditionalDocumentCapture,{key:c,document:u,classNames:r,verbiage:o,onComplete:function(e){d((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}})};function signatureDataToIdmissionFormat(e){var t,a=null!==(t=e.toDataURL())&&void 0!==t?t:null,n={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:a?dataUrlToBase64Sync(a):""};return e.toData().forEach((function(e){var t=[],a=[],r=[];e.forEach((function(e){t.push(e.x),a.push(e.y),r.push(new Date(e.time).toString())})),n.clickX_simple.push(t),n.clickY_simple.push(a),n.time_simple.push(r)})),n}var templateObject_1$c,templateObject_2$8,templateObject_3$8,templateObject_4$3,templateObject_1$b,templateObject_1$a,templateObject_1$9,templateObject_1$8,templateObject_1$7,templateObject_2$7,templateObject_3$7,templateObject_4$2,templateObject_5$1,templateObject_6$1,templateObject_7,SignaturePaperBacking=styled__default.default.div(templateObject_1$c||(templateObject_1$c=tslib.__makeTemplateObject(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ","\n ","\n ","\n"],["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ","\n ","\n ","\n"])),(function(e){var t,a;return(null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.background)?"background: ".concat(null===(a=e.theme.signatureCapture)||void 0===a?void 0:a.background,";"):""}),(function(e){var t,a;return(null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.backgroundSize)?"background-size: ".concat(null===(a=e.theme.signatureCapture)||void 0===a?void 0:a.backgroundSize,";"):""}),(function(e){var t,a;return(null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.backgroundPosition)?"background-position: ".concat(null===(a=e.theme.signatureCapture)||void 0===a?void 0:a.backgroundPosition,";"):""})),SignatureCanvasContainer=styled__default.default.div(templateObject_2$8||(templateObject_2$8=tslib.__makeTemplateObject(["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"],["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"]))),SignaturePad=styled__default.default.div(templateObject_3$8||(templateObject_3$8=tslib.__makeTemplateObject(["\n position: relative;\n background: ",";\n border: ",";\n border-radius: ",";\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"],["\n position: relative;\n background: ",";\n border: ",";\n border-radius: ",";\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"])),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.canvas)||void 0===a?void 0:a.background)&&void 0!==n?n:"rgba(255, 255, 255, 0.5)"}),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.canvas)||void 0===a?void 0:a.border)&&void 0!==n?n:"1px solid #dedede"}),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.canvas)||void 0===a?void 0:a.borderRadius)&&void 0!==n?n:"16px"})),SignatureButtonsContainer=styled__default.default(ButtonsRow)(templateObject_4$3||(templateObject_4$3=tslib.__makeTemplateObject(["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"],["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"]))),SignatureCapture=function(e){var t,a=e.onAccept,n=e.classNames,r=void 0===n?{}:n,i=e.verbiage,o=void 0===i?{}:i,l=useResizeObserver__default.default(),s=l.ref,d=l.width,c=l.height,u=React.useRef(null),m=useTranslations(o,{headingText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"});return React__default.default.createElement(PageContainer,{className:r.container},React__default.default.createElement(SignaturePaperBacking,{className:r.inner},React__default.default.createElement(GuidanceMessageContainer,{className:r.guidanceMessageContainer,$top:"5vh"},React__default.default.createElement(GuidanceMessage,{className:r.guidanceMessage},m.headingText)),React__default.default.createElement(SignatureCanvasContainer,{className:r.canvasContainer},React__default.default.createElement(SignaturePad,{ref:s,className:r.canvasInner},React__default.default.createElement(SignatureCanvas__default.default,{ref:u,canvasProps:{width:d,height:c,className:r.canvas}})),React__default.default.createElement(SignatureButtonsContainer,{className:r.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"secondary",className:r.clearBtn,onClick:null===(t=u.current)||void 0===t?void 0:t.clear,finished:!0},m.clearBtnText),React__default.default.createElement(AcceptBtn$1,{variant:"positive",className:r.acceptBtn,onClick:function(){if(u.current){var e=signatureDataToIdmissionFormat(u.current);null==a||a(e,u.current.toDataURL())}},finished:!0},m.acceptBtnText)))))},AcceptBtn$1=styled__default.default(LoaderButton)(templateObject_1$b||(templateObject_1$b=tslib.__makeTemplateObject(["\n margin-left: auto;\n"],["\n margin-left: auto;\n"]))),useVideoRecorder=function(e){var t=React.useRef(null),a=React.useRef([]),n=React.useState(null),r=n[0],i=n[1],o=React.useState(!1),l=o[0],s=o[1],d=null==e?void 0:e.stream,c=React.useCallback((function(){d&&(a.current=[],s(!0),t.current=new MediaRecorder(d,{videoBitsPerSecond:27e4,audioBitsPerSecond:32e3}),t.current.ondataavailable=function(e){a.current.push(e.data)},t.current.onstop=function(){var t=new Blob(a.current,{type:"video/mp4"});a.current=[],i(URL.createObjectURL(t)),s(!1),null==e||e.release()},t.current.start())}),[e,d]),u=React.useCallback((function(){var e;null===(e=t.current)||void 0===e||e.stop()}),[]);return{isRecording:l,startRecording:c,stopRecording:u,videoUrl:r}},VideoSignatureCapture=function(e){var t,a,n,r,i=e.onVideoCaptured,o=e.onFaceNotDetected,l=e.onExit,s=e.classNames,d=void 0===s?{}:s,c=e.colors,u=void 0===c?{}:c,m=e.verbiage,f=void 0===m?{}:m,p=e.debugMode,g=void 0!==p&&p,h=React.useContext(CameraStateContext),v=h.cameraRef,b=h.videoRef,_=useResizeObserver__default.default(),y=_.ref,C=_.width,x=_.height,R=React.useRef(null),E=React.useRef(null),I=React.useRef([]),T=React.useContext(HighPerformanceSelfieGuidanceModelsContext).onPredictionMade,w=useVideoRecorder(v.current),M=w.isRecording,S=w.startRecording,D=w.stopRecording,k=w.videoUrl,N=React.useState(null),O=N[0],j=N[1],A=React.useState(null),L=A[0],B=A[1],F=React.useState(null),P=F[0],$=F[1];u.guidanceMessageBackgroundColor||(u.guidanceMessageBackgroundColor="#ccc"),u.guidanceMessageTextColor||(u.guidanceMessageTextColor="black");var z=useTranslations(f,{guidanceMessageText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"}),U=React.useRef(null);React.useEffect((function(){setTimeout((function(){if(!M&&!k&&U.current){S();var e=U.current.captureStream(25);E.current=new MediaRecorder(e,{videoBitsPerSecond:27e4}),E.current.start(),E.current.ondataavailable=function(e){var t;I.current.push(e.data),"recording"===(null===(t=E.current)||void 0===t?void 0:t.state)&&E.current.stop()},E.current.onstop=function(){var e=new Blob(I.current,{type:"video/mp4"});$(e)}}}),100)}),[M,S,k]),React.useEffect((function(){P&&O&&L&&(null==i||i(P,O,L))}),[i,O,L,P]);var G=React.useRef(0);React.useEffect((function(){var e;if(R.current&&b.current&&U.current&&v.current&&M){var t=[v.current.width,v.current.height],a=t[0],n=t[1],r="undefined"!=typeof window&&window.innerWidth<window.innerHeight;r&&a>n&&(a=(e=[n,a])[0],n=e[1]),U.current.width=a,U.current.height=n;var i=U.current.getContext("2d");if(i)return G.current=requestAnimationFrame((function e(){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(o){return R.current&&b.current&&U.current?(t=[a*(r?.02:.15),n*(r?.15:.25),a*(r?.96:.7),n*(r?.7:.5)],i.drawImage(b.current,0,0,a,n),i.beginPath(),i.fillStyle="rgba(255,255,255,0.5)",i.roundRect.apply(i,tslib.__spreadArray(tslib.__spreadArray([],t,!1),[16],!1)),i.fill(),i.drawImage.apply(i,tslib.__spreadArray([R.current.getCanvas()],t,!1)),G.current=requestAnimationFrame(e),[2]):(cancelAnimationFrame(G.current),[2])}))}))})),function(){cancelAnimationFrame(G.current)}}}),[v,M,o,b]);var W=React.useState(0),V=W[0],H=W[1];return React.useEffect((function(){T((function(e){H((function(t){return 0===e.length?t+1:0}))}))}),[T]),React.useEffect((function(){V>=2&&(null==o||o())}),[V,o]),React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=d.container)&&void 0!==t?t:"")},z.guidanceMessageText&&React__default.default.createElement(GuidanceMessageContainer,{$top:"5vh",className:d.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{className:d.guidanceMessage,$background:u.guidanceMessageBackgroundColor,$textColor:u.guidanceMessageTextColor},z.guidanceMessageText)),React__default.default.createElement(SignatureCanvasContainer,{className:d.canvasContainer},React__default.default.createElement(SignaturePad,{ref:y,className:d.canvasInner},React__default.default.createElement(SignatureCanvas__default.default,{ref:R,canvasProps:{width:C,height:x,className:d.canvas}})),React__default.default.createElement(SignatureButtonsContainer,{className:d.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"secondary",className:d.clearBtn,onClick:null===(a=R.current)||void 0===a?void 0:a.clear,finished:!0},z.clearBtnText),React__default.default.createElement(AcceptBtn,{variant:"positive",className:d.acceptBtn,style:{marginLeft:"auto"},onClick:function(){var e;if(R.current){var t=signatureDataToIdmissionFormat(R.current);j(t),B(R.current.toDataURL()),D(),null===(e=E.current)||void 0===e||e.stop()}},finished:!0},z.acceptBtnText))),g&&React__default.default.createElement(DebugStatsPane,null,"Video: ",null===(n=v.current)||void 0===n?void 0:n.width,"x",null===(r=v.current)||void 0===r?void 0:r.height),React__default.default.createElement(ExitCaptureButton,{onClick:l,className:d.exitCaptureBtn}),React__default.default.createElement(InvisibleCanvas,{ref:U}))},AcceptBtn=styled__default.default(LoaderButton)(templateObject_1$a||(templateObject_1$a=tslib.__makeTemplateObject(["\n margin-left: auto;\n"],["\n margin-left: auto;\n"]))),VideoSignatureSuccess=function(e){var t=e.videoUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=useTranslations(void 0===s?{}:s,{headingText:"Video signature has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement("h1",{className:i.heading},d.headingText),React__default.default.createElement(OverlayImageContainer,{className:i.videoContainer},React__default.default.createElement(StyledVideo$1,{className:i.video,src:t,poster:t+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0})),React__default.default.createElement(ButtonsRow,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:i.retryBtn,onClick:n,colors:l.retryBtn,finished:!0},d.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:i.doneBtn,onClick:a,colors:l.doneBtn,finished:!0},d.doneBtnText))))},StyledVideo$1=styled__default.default.video(templateObject_1$9||(templateObject_1$9=tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),VideoSignatureWizard=function(e){var t,a=e.onComplete,n=e.onVideoCaptured,r=e.onRetryClicked,i=e.onExitCapture,o=e.onUserCancel,l=e.onModelError,s=e.loadingOverlayMode,d=void 0===s?"default":s,c=e.modelLoadTimeoutMs,u=void 0===c?defaultSelfieCaptureModelLoadTimeoutMs:c,m=e.skipSuccessScreen,f=void 0!==m&&m,p=e.assets,g=void 0===p?{}:p,h=e.classNames,v=void 0===h?{}:h,b=e.colors,_=void 0===b?{}:b,y=e.verbiage,C=void 0===y?{}:y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submit,T=E.selfieImage,w=E.signatureVideoUrl,M=E.setSelfieImage,S=E.setSignatureData,D=E.setSignatureVideoUrl,k=E.logSelfieCaptureAttempt,N=React.useState("LOADING"),O=N[0],j=N[1],A=React.useRef(),L=React.useRef(),B=React.useRef();React.useEffect((function(){A.current=new Date}),[]),React.useEffect((function(){"CHECKING_LIVENESS"===O&&(L.current=new Date)}),[O]);var F=React.useCallback((function(){var e,t,a;k({autoCapture:"Y",captureTime:(null!==(e=B.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=L.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(a=A.current)&&void 0!==a?a:new Date).getTime()}),A.current=new Date}),[k]),P=React.useCallback((function(){j("CHECKING_LIVENESS")}),[]),$=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return j("CAPTURING_SIGNATURE"),F(),T?[3,2]:(t=M,[4,dataUrlToBase64(e)]);case 1:t.apply(void 0,[a.sent()]),a.label=2;case 2:return[2]}}))}))}),[F,T,M]),z=React.useCallback((function(e,t,a){S(t),D(URL.createObjectURL(e)),j("SUCCESS"),null==n||n(e,t,a)}),[n,S,D]),U=React.useCallback((function(){j("CHECKING_LIVENESS")}),[]),G=React.useState(0),W=G[0],V=G[1],H=React.useCallback((function(){V((function(e){return e+1})),j("LOADING"),null==i||i()}),[i]),q=React.useCallback((function(){null==r||r(),H()}),[H,r]),Y=useShowSuccessScreen(f,"SUCCESS"===O,a),Z=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return[4,I()];case 1:return e.sent(),null==a||a(),[2]}}))}))}),[a,I]);return React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{throttleMs:"CAPTURING_SIGNATURE"===O?250:0,onModelError:l,modelLoadTimeoutMs:u},React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=null==v?void 0:v.container)&&void 0!==t?t:"")},React__default.default.createElement(CameraVideoTag,{className:v.cameraFeed}),"LOADING"!==O&&function(){switch(O){case"CHECKING_LIVENESS":return React__default.default.createElement(FaceLivenessCapture,{onSuccess:$,onExit:H,classNames:v.faceLiveness,colors:_.faceLiveness,verbiage:C.faceLiveness,debugMode:R});case"CAPTURING_SIGNATURE":return React__default.default.createElement(VideoSignatureCapture,{onVideoCaptured:z,onFaceNotDetected:U,onExit:H,classNames:v,colors:_,verbiage:C,debugMode:R});case"SUCCESS":if(!Y)return;return React__default.default.createElement(VideoSignatureSuccess,{videoUrl:null!=w?w:"",onDoneClick:Z,onRetryClick:q,classNames:v.success,colors:_.success,verbiage:C.success});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:W,mode:d,assets:g.loadingOverlay,classNames:v.loadingOverlay,colors:_.loadingOverlay,verbiage:C.loadingOverlay,onDismissed:P,onUserCancel:o}))},IdVideoCaptureFlipIdPrompt=function(e){var t,a=e.className,n=e.imageWidth,r=e.imageHeight,i=e.borderWidth,o=void 0===i?4:i,l=e.assets,s=void 0===l?{}:l,d=React.useContext(CameraStateContext).cameraRef;s.frontImageUrl||(s.frontImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),s.backImageUrl||(s.backImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var c=!(null===(t=d.current)||void 0===t?void 0:t.isRearFacing),u=React.useState(1),m=u[0],f=u[1],p=React.useState(0),g=p[0],h=p[1],v=["rotateY(".concat(g,"deg)")];c&&v.push("scaleX(-1)");var b=["rotateY(".concat(180-g,"deg)")];return c&&b.push("scaleX(-1)"),React.useEffect((function(){var e;function t(){f(1),h(180),e=setTimeout((function(){f(0),h(0)}),1500)}var a=setInterval(t,2500);return e=setTimeout(t,250),function(){clearInterval(a),clearTimeout(e)}}),[]),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(FlipImage,{src:s.frontImageUrl,alt:"",className:a,$transforms:v.join(" "),$transitionTime:m,$borderWidth:o,$imageWidth:n,$imageHeight:r}),React__default.default.createElement(FlipImage,{src:s.backImageUrl,alt:"",className:a,$transforms:b.join(" "),$transitionTime:m,$borderWidth:o,$imageWidth:n,$imageHeight:r,$isBack:!0}))},FlipImage=styled__default.default.img(templateObject_1$8||(templateObject_1$8=tslib.__makeTemplateObject(["\n backface-visibility: hidden;\n transition: transform ","s;\n transform: ",";\n transform-style: preserve-3d;\n position: ",";\n display: block;\n top: ","px;\n width: ","px;\n height: ","px;\n"],["\n backface-visibility: hidden;\n transition: transform ","s;\n transform: ",";\n transform-style: preserve-3d;\n position: ",";\n display: block;\n top: ","px;\n width: ","px;\n height: ","px;\n"])),(function(e){return e.$transitionTime}),(function(e){return e.$transforms}),(function(e){return e.$isBack?"absolute":"relative"}),(function(e){return-e.$borderWidth/2}),(function(e){return e.$imageWidth}),(function(e){return e.$imageHeight+e.$borderWidth})),IdVideoCaptureGuides=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b=e.requestedAction,_=void 0===b?"SHOW_ID_FRONT":b,y=e.satisfied,C=void 0!==y&&y,x=e.faceGuideBorderWidth,R=e.faceGuideBorderColor,E=e.idCardGuideBorderWidth,I=e.idCardGuideBorderColor,T=e.assets,w=void 0===T?{}:T,M=e.classNames,S=void 0===M?{}:M,D=e.verbiage,k=void 0===D?{}:D,N=React.useContext(CameraStateContext).cameraRef,O=React.useRef(null),j=React.useState(0),A=j[0],L=j[1],B=React.useState(0),F=B[0],P=B[1];w.frontImageUrl||(w.frontImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),w.backImageUrl||(w.backImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var $=useTranslations(k,{idFrontInstructionText:"Display the front of your ID card...",idBackInstructionText:"Display the back of your ID card...",flipIdInstructionText:"Please flip your ID card..."}),z="SHOW_ID_FRONT"===_?$.idFrontInstructionText:"FLIP_ID"===_?$.flipIdInstructionText:$.idBackInstructionText,U="undefined"!=typeof window&&window.innerWidth>window.innerHeight?"30%":"75%",G=styled.useTheme();return void 0===x&&(x=null!==(n=null===(a=null===(t=G.idVideoCapture)||void 0===t?void 0:t.faceGuides)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),void 0===R&&(R=null!==(s=C?null===(i=null===(r=G.idVideoCapture)||void 0===r?void 0:r.faceGuides)||void 0===i?void 0:i.satisfiedColor:null===(l=null===(o=G.idVideoCapture)||void 0===o?void 0:o.faceGuides)||void 0===l?void 0:l.unsatisfiedColor)&&void 0!==s?s:"white"),void 0===E&&(E=null!==(u=null===(c=null===(d=G.idVideoCapture)||void 0===d?void 0:d.idCardGuides)||void 0===c?void 0:c.borderWidth)&&void 0!==u?u:4),void 0===I&&(I=null!==(h=C?null===(f=null===(m=G.idVideoCapture)||void 0===m?void 0:m.idCardGuides)||void 0===f?void 0:f.satisfiedColor:null===(g=null===(p=G.idVideoCapture)||void 0===p?void 0:p.idCardGuides)||void 0===g?void 0:g.unsatisfiedColor)&&void 0!==h?h:"white"),React__default.default.createElement(Container,{className:S.container},React__default.default.createElement(FaceGuide,{className:S.faceGuide,$borderWidth:x,$borderColor:R}),React__default.default.createElement(IdCardGuideContainer,{$width:U,className:S.idCardGuideContainer},React__default.default.createElement(IdCardGuideInstructionsContainer,{className:S.idCardGuideInstructionsContainer},React__default.default.createElement(IdCardGuideInstructions,{className:S.idCardGuideInstructions},z)),React__default.default.createElement(IdCardGuideImageContainer,{$borderWidth:E,$borderColor:I,className:S.idCardGuideImageContainer},"FLIP_ID"===_?React__default.default.createElement(IdVideoCaptureFlipIdPrompt,{assets:w,imageWidth:A,imageHeight:F,borderWidth:E,className:S.flipIdPromptImage}):React__default.default.createElement(IdCardGuideImage,{ref:O,src:"SHOW_ID_BACK"===_?w.backImageUrl:w.frontImageUrl,alt:"",className:S.idCardGuideImage,$isMirrored:!(null===(v=N.current)||void 0===v?void 0:v.isRearFacing),onLoad:function(){var e,t,a,n;A||L(null!==(t=null===(e=O.current)||void 0===e?void 0:e.width)&&void 0!==t?t:0),F||P(null!==(n=null===(a=O.current)||void 0===a?void 0:a.height)&&void 0!==n?n:0)}}))))},Container=styled__default.default.div(templateObject_1$7||(templateObject_1$7=tslib.__makeTemplateObject(["\n position: fixed;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n display: flex;\n flex-direction: column;\n font-family: ",";\n"],["\n position: fixed;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n display: flex;\n flex-direction: column;\n font-family: ",";\n"])),(function(e){var t;return null===(t=e.theme)||void 0===t?void 0:t.fontFamily})),FaceGuide=styled__default.default.div(templateObject_2$7||(templateObject_2$7=tslib.__makeTemplateObject(["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 100%;\n min-height: 33dvh;\n margin: 4% auto auto;\n"],["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 100%;\n min-height: 33dvh;\n margin: 4% auto auto;\n"])),(function(e){var t;return null!==(t=e.$borderWidth)&&void 0!==t?t:0}),(function(e){var t;return null!==(t=e.$borderColor)&&void 0!==t?t:"white"})),IdCardGuideContainer=styled__default.default.div(templateObject_3$7||(templateObject_3$7=tslib.__makeTemplateObject(["\n width: ",";\n display: flex;\n flex-flow: column nowrap;\n margin: 2% auto;\n"],["\n width: ",";\n display: flex;\n flex-flow: column nowrap;\n margin: 2% auto;\n"])),(function(e){return e.$width})),IdCardGuideInstructionsContainer=styled__default.default.div(templateObject_4$2||(templateObject_4$2=tslib.__makeTemplateObject(["\n width: 100%;\n flex-grow: 1;\n text-align: center;\n color: white;\n display: flex;\n flex-direction: column;\n justify-content: end;\n"],["\n width: 100%;\n flex-grow: 1;\n text-align: center;\n color: white;\n display: flex;\n flex-direction: column;\n justify-content: end;\n"]))),IdCardGuideInstructions=styled__default.default.span(templateObject_5$1||(templateObject_5$1=tslib.__makeTemplateObject(["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"],["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"]))),IdCardGuideImageContainer=styled__default.default.div(templateObject_6$1||(templateObject_6$1=tslib.__makeTemplateObject(["\n position: relative;\n border: ","px solid\n ",";\n"],["\n position: relative;\n border: ","px solid\n ",";\n"])),(function(e){return e.$borderWidth}),(function(e){return e.$borderColor})),IdCardGuideImage=styled__default.default.img(templateObject_7||(templateObject_7=tslib.__makeTemplateObject(["\n width: 100%;\n max-height: 100%;\n ","\n"],["\n width: 100%;\n max-height: 100%;\n ","\n"])),(function(e){return e.$isMirrored?"transform: scaleX(-1);":""})),ReadTextPrompt=function(e){var t=e.text,a=e.onComplete,n=e.startedAt,r=e.durationMs,i=void 0===r?15e3:r,o=e.classNames,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s;t=useVerbiage(t,"");var c=useTranslations(d,{headingText:"Please read the following text aloud",doneBtnText:"Done"}),u=msToTime(Math.max(0,i-((new Date).getTime()-(null!=n?n:new Date).getTime())));return React__default.default.createElement(ReadTextPromptContainer,{className:l.container},React__default.default.createElement(ReadTextPromptHeading,{className:l.heading},c.headingText),React__default.default.createElement(ReadTextPromptText,{className:l.prompt},t),React__default.default.createElement(ReadTextPromptButtonsRow,{className:l.buttonsRow},React__default.default.createElement(ReadTextPromptTimeRemaining,{className:l.timeRemaining},u),React__default.default.createElement(DoneButton,{variant:"positive",className:l.doneBtn,onClick:a,finished:!0},c.doneBtnText)))};function msToTime(e){var t=(e=(e-e%1e3)/1e3)%60;return(e=(e-t)/60)%60+":"+("00"+(t+=1)).slice(-2)}var templateObject_1$6,templateObject_2$6,templateObject_3$6,templateObject_4$1,templateObject_5,templateObject_6,templateObject_1$5,templateObject_2$5,templateObject_3$5,templateObject_4,templateObject_1$4,templateObject_2$4,templateObject_3$4,templateObject_1$3,templateObject_2$3,templateObject_3$3,templateObject_1$2,templateObject_2$2,templateObject_3$2,templateObject_1$1,templateObject_2$1,templateObject_3$1,templateObject_1,templateObject_2,templateObject_3,ReadTextPromptContainer=styled__default.default.div(templateObject_1$6||(templateObject_1$6=tslib.__makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n"],["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n"]))),ReadTextPromptHeading=styled__default.default.div(templateObject_2$6||(templateObject_2$6=tslib.__makeTemplateObject(["\n padding: 20px;\n font-weight: bold;\n margin: auto auto 32px;\n\n ",";\n ",";\n ",";\n"],["\n padding: 20px;\n font-weight: bold;\n margin: auto auto 32px;\n\n ",";\n ",";\n ",";\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.heading)||void 0===n?void 0:n.backgroundColor)?"background: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.heading)||void 0===o?void 0:o.backgroundColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.heading)||void 0===n?void 0:n.textColor)?"color: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.heading)||void 0===o?void 0:o.textColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.heading)||void 0===n?void 0:n.borderRadius)?"border-radius: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.heading)||void 0===o?void 0:o.borderRadius,";"):""})),ReadTextPromptText=styled__default.default.div(templateObject_3$6||(templateObject_3$6=tslib.__makeTemplateObject(["\n margin: 0 auto;\n text-align: center;\n padding: 50px;\n font-size: 24px;\n max-width: ",";\n\n ",";\n ",";\n ",";\n"],["\n margin: 0 auto;\n text-align: center;\n padding: 50px;\n font-size: 24px;\n max-width: ",";\n\n ",";\n ",";\n ",";\n"])),"undefined"!=typeof window&&window.innerWidth>window.innerHeight?"40%":"90%",(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.prompt)||void 0===n?void 0:n.backgroundColor)?"background: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.prompt)||void 0===o?void 0:o.backgroundColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.prompt)||void 0===n?void 0:n.textColor)?"color: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.prompt)||void 0===o?void 0:o.textColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.prompt)||void 0===n?void 0:n.borderRadius)?"border-radius: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.prompt)||void 0===o?void 0:o.borderRadius,";"):""})),ReadTextPromptButtonsRow=styled__default.default(ButtonsRow)(templateObject_4$1||(templateObject_4$1=tslib.__makeTemplateObject(["\n margin: 32px auto auto;\n gap: 20px;\n"],["\n margin: 32px auto auto;\n gap: 20px;\n"]))),ReadTextPromptTimeRemaining=styled__default.default.div(templateObject_5||(templateObject_5=tslib.__makeTemplateObject(["\n padding: 20px;\n\n ",";\n ",";\n ",";\n"],["\n padding: 20px;\n\n ",";\n ",";\n ",";\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.timeRemaining)||void 0===n?void 0:n.backgroundColor)?"background: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.timeRemaining)||void 0===o?void 0:o.backgroundColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.timeRemaining)||void 0===n?void 0:n.textColor)?"color: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.timeRemaining)||void 0===o?void 0:o.textColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.timeRemaining)||void 0===n?void 0:n.borderRadius)?"border-radius: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.timeRemaining)||void 0===o?void 0:o.borderRadius,";"):""})),DoneButton=styled__default.default(LoaderButton)(templateObject_6||(templateObject_6=tslib.__makeTemplateObject(["\n margin: auto 0;\n"],["\n margin: auto 0;\n"]))),edgeBoundary=.05,IdVideoCapture=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b=e.onComplete,_=e.onIdFrontImageCaptured,y=e.onIdBackImageCaptured,C=e.onFaceNotDetected,x=e.idCaptureModelsEnabled,R=void 0===x||x,E=e.idCardFrontDelay,I=void 0===E?1e3:E,T=e.idCardFrontDetectionThreshold,w=void 0===T?.6:T,M=e.idCardFrontFocusThreshold,S=void 0===M?0:M,D=e.goodIdCardFrontFramesThreshold,k=void 0===D?1:D,N=e.idCardBackDetectionThreshold,O=void 0===N?.6:N,j=e.idCardBackFocusThreshold,A=void 0===j?0:j,L=e.goodIdCardBackFramesThreshold,B=void 0===L?1:L,F=e.skipShowIdCardBack,P=void 0!==F&&F,$=e.captureCountdownSeconds,z=void 0===$?3:$,U=e.readTextPrompt,G=e.readTextTimeoutDurationMs,W=void 0===G?15e3:G,V=e.assets,H=void 0===V?{}:V,q=e.classNames,Y=void 0===q?{}:q,Z=e.colors,Q=void 0===Z?{}:Z,X=e.verbiage,K=void 0===X?{}:X,J=e.debugMode,ee=void 0!==J&&J,te=useResizeObserver__default.default(),ae=te.ref,ne=te.width,re=void 0===ne?1:ne,ie=te.height,oe=void 0===ie?1:ie,le=React.useContext(CameraStateContext),se=le.cameraRef,de=le.videoRef,ce=le.videoLoaded,ue=le.setVideoLoaded,me=le.cameraReady,fe=le.takePhoto,pe=React.useState([]),ge=pe[0],he=pe[1],ve=React.useState([]),be=ve[0],_e=ve[1],ye=React.useContext(IdCaptureModelsContext),Ce=ye.ready,xe=ye.working,Re=ye.makePrediction,Ee=ye.onPredictionMade,Ie=ye.setThresholds,Te=ye.bestFrameDetectionScore,we=ye.bestFrameFocusScore,Me=ye.resetBestFrame,Se=ye.modelError,De=React.useContext(HighPerformanceSelfieGuidanceModelsContext).onPredictionMade,ke=useVideoRecorder(se.current),Ne=ke.isRecording,Oe=ke.startRecording,je=ke.stopRecording,Ae=ke.videoUrl;React.useEffect((function(){Ne||Ae||Oe(),Ae&&(ue(!1),null==b||b(Ae))}),[Ne,b,ue,Oe,Ae]);var Le=React.useRef(0),Be=React.useRef(!1);React.useEffect((function(){Be.current=ce&&me&&Ce}),[me,Ce,ce]);var Fe=React.useState("SHOW_ID_FRONT"),Pe=Fe[0],$e=Fe[1];React.useEffect((function(){if(("SHOW_ID_FRONT"===Pe||"SHOW_ID_BACK"===Pe)&&R&&Ce&&me&&ce)return Le.current=requestAnimationFrame((function e(){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(t){return Be.current&&!xe.current&&de.current&&Re(de.current),Le.current=requestAnimationFrame(e),[2]}))}))})),function(){cancelAnimationFrame(Le.current)}}),[me,R,Ce,xe,Re,Pe,ce,de]),React.useEffect((function(){Ie({document:"SHOW_ID_FRONT"===Pe?w:"SHOW_ID_BACK"===Pe?O:1,passport:1,focus:{mobile:"SHOW_ID_FRONT"===Pe?S:"SHOW_ID_BACK"===Pe?A:0}})}),[O,A,w,S,Pe,Ie]);var ze=React.useState(0),Ue=ze[0],Ge=ze[1],We=React.useState(0),Ve=We[0],He=We[1],qe=React.useState(0),Ye=qe[0],Ze=qe[1],Qe="SHOW_ID_FRONT"===Pe?k:B,Xe=Ye>=Qe;React.useEffect((function(){R&&Ee((function(e){he(e.detectedObjects),Ge(e.detectionScore),He(e.focusScore),Ze(e.detectionThresholdMet&&e.focusThresholdMet?function(e){return e+1}:0)}))}),[R,w,Ee]);var Ke=React.useState(null),Je=Ke[0],et=Ke[1];React.useEffect((function(){1===Ye&&et((new Date).getTime())}),[Ye]);var tt="SHOW_ID_FRONT"!==Pe||null!==Je&&(new Date).getTime()>Je+I,at=React.useCallback((function(){U?$e("READ_TEXT"):je()}),[U,je]),nt=null!==(a=null===(t=de.current)||void 0===t?void 0:t.videoWidth)&&void 0!==a?a:0,rt=null!==(r=null===(n=de.current)||void 0===n?void 0:n.videoHeight)&&void 0!==r?r:0,it=null===(i=null==be?void 0:be[0])||void 0===i?void 0:i.box,ot=!it||!nt||it.xMin>nt*edgeBoundary&&it.yMin>rt*edgeBoundary&&it.xMax<nt*(1-edgeBoundary)&&it.yMax<rt*(1-edgeBoundary),lt=React.useState(),st=lt[0],dt=lt[1],ct=React.useRef(!1),ut=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a;return tslib.__generator(this,(function(n){switch(n.label){case 0:return ct.current?[2]:(ct.current=!0,[4,fe()]);case 1:if(!(e=n.sent()))return ct.current=!1,[2];n.label=2;case 2:return n.trys.push([2,,10,11]),(a=e)?[4,new Promise((function(t){var a=new FileReader;a.onloadend=function(){return t(a.result)},a.readAsDataURL(e)}))]:[3,4];case 3:a=n.sent(),n.label=4;case 4:return t=a,"SHOW_ID_FRONT"!=Pe?[3,8]:(_&&t&&_(t),P?!0!==P?[3,5]:[2,at()]:[3,7]);case 5:return[4,P()];case 6:if(n.sent())return[2,at()];n.label=7;case 7:return $e("FLIP_ID"),setTimeout((function(){$e("SHOW_ID_BACK")}),6e3),[3,9];case 8:"SHOW_ID_BACK"==Pe&&(y&&t&&y(t),at()),n.label=9;case 9:return[3,11];case 10:return he([]),Ge(0),He(0),Ze(0),dt(void 0),Me(),ct.current=!1,[7];case 11:return[2]}}))}))}),[at,y,_,Pe,Me,P,fe]),mt=Xe&&ot&&tt;React.useEffect((function(){mt&&!st&&dt(new Date)}),[st,mt]),React.useEffect((function(){if(st){var e=(new Date).getTime()+1e3*z-st.getTime(),t=setTimeout(ut,e);return function(){clearTimeout(t)}}}),[z,ut,st]);var ft=React.useCallback((function(){je()}),[je]),pt=useTimeout(W,ft,"READ_TEXT"!==Pe,!1,"READ_TEXT"===Pe).timeoutStartedAt,gt=React.useState(0),ht=gt[0],vt=gt[1];React.useEffect((function(){De((function(e){_e(e),vt((function(t){return 0===e.length?t+1:0}))}))}),[De]),React.useEffect((function(){ht>=2&&(null==C||C())}),[ht,C]);var bt=styled.useTheme(),_t=useTranslations(K,{faceNotCenteredText:"Please move your face to the center...",searchingForIdCardText:"Searching for ID card...",captureBtnText:"Capture"}),yt=_t.captureBtnText,Ct=_t.faceNotCenteredText,xt=_t.searchingForIdCardText,Rt=useDebugScalingDetails({enabled:ee,pageWidth:re,pageHeight:oe,videoWidth:null!==(l=null===(o=de.current)||void 0===o?void 0:o.videoWidth)&&void 0!==l?l:0,videoHeight:null!==(d=null===(s=de.current)||void 0===s?void 0:s.videoHeight)&&void 0!==d?d:0}),Et=["SHOW_ID_FRONT","SHOW_ID_BACK"].includes(Pe),It=!!st&&Math.max(0,z-Math.floor(((new Date).getTime()-st.getTime())/1e3)),Tt=ot?R&&Et&&!Xe?xt:void 0:Ct;return React__default.default.createElement(PageContainer,{ref:ae,className:"flex ".concat(null!==(c=Y.container)&&void 0!==c?c:"")},"READ_TEXT"===Pe?React__default.default.createElement(ReadTextPrompt,{text:U,startedAt:pt||void 0,durationMs:W,classNames:Y.readTextPrompt,verbiage:K.readTextPrompt,onComplete:je}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(IdVideoCaptureGuides,{assets:H.guides,classNames:Y.guides,verbiage:K.guides,requestedAction:Pe,satisfied:mt,faceGuideBorderColor:mt?Q.guidesSatisfiedColor:Q.guidesUnsatisfiedColor,idCardGuideBorderColor:mt?Q.guidesSatisfiedColor:Q.guidesUnsatisfiedColor}),ee&&Et&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ObjectDetectionDebugOverlayDiv,{$flipX:!(null===(u=se.current)||void 0===u?void 0:u.isRearFacing)},ge.map((function(e,t){var a;return React__default.default.createElement(IdCaptureDetectedObjectDebugBox,{key:t,obj:e,scaling:Rt,color:"blue",flipX:!(null===(a=se.current)||void 0===a?void 0:a.isRearFacing)})}))),React__default.default.createElement(DebugBoundingBoxOverlay,null,be.map((function(e,t){return React__default.default.createElement(SelfieCaptureFaceDebugBox,{key:t,face:e,scaling:Rt})}))))),Tt&&React__default.default.createElement(GuidanceMessageContainer,{className:Y.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{className:Y.guidanceMessage,$background:null!==(p=null===(f=null===(m=bt.guidanceMessages)||void 0===m?void 0:m.negative)||void 0===f?void 0:f.backgroundColor)&&void 0!==p?p:"red",$textColor:null!==(v=null===(h=null===(g=bt.guidanceMessages)||void 0===g?void 0:g.negative)||void 0===h?void 0:h.textColor)&&void 0!==v?v:"white"},Tt)),ee&&React__default.default.createElement(DebugStatsPane,null,se.current?React__default.default.createElement(React__default.default.Fragment,null,"✅ Camera: ",se.current.label," (",se.current.width,"x",se.current.height,")"):"❌ Camera not ready",React__default.default.createElement("br",null),Ne?"✅ Recording":"❌ Not recording",React__default.default.createElement("br",null),Xe?"✅":"❌"," Good Frame Count:"," ",Ye,"/",Qe,React__default.default.createElement("br",null),"Detection Score: ",Ue,React__default.default.createElement("br",null),"Focus Score: ",Ve,React__default.default.createElement("br",null),"Best Frame Detection Score: ",Te,React__default.default.createElement("br",null),"Best Frame Focus Score: ",we),It&&Et&&React__default.default.createElement(CountdownContainer,{className:Y.countdownContainer},React__default.default.createElement(Countdown,{className:Y.countdown},It)),(!R||Se)&&Et&&React__default.default.createElement(CaptureButtonContainer,{className:Y.captureBtnContainer},React__default.default.createElement(CaptureButton,{finished:!0,onClick:function(){return dt(new Date)},disabled:!!st||ct.current,className:Y.captureBtn},yt)))},CountdownContainer=styled__default.default.div(templateObject_1$5||(templateObject_1$5=tslib.__makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100dvw;\n height: 100dvh;\n z-index: 99999;\n display: flex;\n"],["\n position: fixed;\n top: 0;\n left: 0;\n width: 100dvw;\n height: 100dvh;\n z-index: 99999;\n display: flex;\n"]))),Countdown=styled__default.default.div(templateObject_2$5||(templateObject_2$5=tslib.__makeTemplateObject(["\n color: white;\n font-size: 64px;\n font-weight: bold;\n margin: auto;\n"],["\n color: white;\n font-size: 64px;\n font-weight: bold;\n margin: auto;\n"]))),CaptureButtonContainer=styled__default.default.div(templateObject_3$5||(templateObject_3$5=tslib.__makeTemplateObject(["\n position: fixed;\n bottom: 0;\n width: 100dvw;\n display: flex;\n z-index: 100000;\n"],["\n position: fixed;\n bottom: 0;\n width: 100dvw;\n display: flex;\n z-index: 100000;\n"]))),CaptureButton=styled__default.default(LoaderButton)(templateObject_4||(templateObject_4=tslib.__makeTemplateObject(["\n margin: 0 auto 25px;\n"],["\n margin: 0 auto 25px;\n"]))),IdVideoCaptureSuccess=function(e){var t=e.videoUrl,a=e.idFrontImageUrl,n=e.idBackImageUrl,r=e.onDoneClick,i=e.onRetryClick,o=e.classNames,l=void 0===o?{}:o,s=e.colors,d=void 0===s?{}:s,c=e.verbiage,u=void 0===c?{}:c,m=React.useState("video"),f=m[0],p=m[1],g=useTranslations(u,{headingText:"Video ID has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:l.container},React__default.default.createElement(OverlayInner$2,{className:l.inner},React__default.default.createElement("h1",{className:l.heading},g.headingText),React__default.default.createElement(AssetSelectorOptions,{className:l.assetSelectorOptions},React__default.default.createElement(AssetSelectorOption,{className:l.assetSelectorOption},React__default.default.createElement("input",{type:"radio",id:"displayedAssetVideo",value:"video",checked:"video"===f,onChange:function(){return p("video")}}),React__default.default.createElement("label",{htmlFor:"displayedAssetVideo"},"Video")),React__default.default.createElement(AssetSelectorOption,{className:l.assetSelectorOption},React__default.default.createElement("input",{type:"radio",id:"displayedAssetIdFrontImage",value:"idFrontImage",checked:"idFrontImage"===f,onChange:function(){return p("idFrontImage")}}),React__default.default.createElement("label",{htmlFor:"displayedAssetIdFrontImage"},"ID Front Image")),n&&React__default.default.createElement(AssetSelectorOption,{className:l.assetSelectorOption},React__default.default.createElement("input",{type:"radio",id:"displayedAssetIdBackImage",value:"idBackImage",checked:"idBackImage"===f,onChange:function(){return p("idBackImage")}}),React__default.default.createElement("label",{htmlFor:"displayedAssetIdBackImage"},"ID Back Image"))),React__default.default.createElement(OverlayImageContainer,{className:l.videoContainer},"video"===f?React__default.default.createElement(StyledVideo,{src:t,className:l.video,poster:t+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0}):React__default.default.createElement("img","idFrontImage"===f?{src:a,alt:"ID Front Image"}:{src:n,alt:"ID Back Image"})),React__default.default.createElement(ButtonsRow,{className:l.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:l.retryBtn,onClick:i,colors:d.retryBtn,finished:!0},g.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:l.doneBtn,onClick:r,colors:d.doneBtn,finished:!0},g.doneBtnText))))},StyledVideo=styled__default.default.video(templateObject_1$4||(templateObject_1$4=tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),AssetSelectorOptions=styled__default.default.div(templateObject_2$4||(templateObject_2$4=tslib.__makeTemplateObject(["\n margin-bottom: 15px;\n display: flex;\n justify-content: center;\n"],["\n margin-bottom: 15px;\n display: flex;\n justify-content: center;\n"]))),AssetSelectorOption=styled__default.default.div(templateObject_3$4||(templateObject_3$4=tslib.__makeTemplateObject(["\n padding: 0 8px;\n"],["\n padding: 0 8px;\n"]))),VideoIdWizard=function(e){var t,a,n,r,i,o=e.onComplete,l=e.onExitCapture,s=e.onExitAfterFailure,d=e.onUserCancel,c=e.onIdCaptureModelError,u=e.idCaptureProps,m=void 0===u?{}:u,f=e.faceLivenessProps,p=void 0===f?{}:f,g=e.idCaptureModelsEnabled,h=void 0===g||g,v=e.idCardFrontDetectionThreshold,b=e.idCardBackDetectionThreshold,_=e.idCardFrontFocusThreshold,y=e.idCardBackFocusThreshold,C=e.goodIdCardFrontFramesThreshold,x=e.goodIdCardBackFramesThreshold,R=e.readTextPrompt,E=e.readTextTimeoutDurationMs,I=e.skipIdCapture,T=void 0!==I&&I,w=e.skipShowIdCardBack,M=void 0!==w&&w,S=e.skipSuccessScreen,D=void 0!==S&&S,k=e.idCaptureLoadingOverlayMode,N=void 0===k?"default":k,O=e.idCaptureGuideType,j=void 0===O?"fit":O,A=e.idCapturePortraitGuidesOnMobile,L=void 0!==A&&A,B=e.idCaptureRotateLoadingOverlayImageWhenPortrait,F=void 0===B||B,P=e.idCaptureModelLoadTimeoutMs,$=void 0===P?defaultIdCaptureModelLoadTimeoutMs:P,z=e.faceLivenessLoadingOverlayMode,U=void 0===z?"default":z,G=e.assets,W=void 0===G?{}:G,V=e.classNames,H=void 0===V?{}:V,q=e.colors,Y=void 0===q?{}:q,Z=e.verbiage,Q=void 0===Z?{}:Z,X=e.debugMode,K=void 0!==X&&X,J=React.useContext(SubmissionContext),ee=J.submissionStatus,te=J.idCaptureVideoUrl,ae=J.idCaptureVideoIdFrontImage,ne=J.idCaptureVideoIdBackImage,re=J.setIdCaptureVideoUrl,ie=J.setIdCaptureVideoIdFrontImage,oe=J.setIdCaptureVideoIdBackImage,le=React.useState("CAPTURING_ID"),se=le[0],de=le[1];React.useEffect((function(){T&&"CAPTURING_ID"===se&&de("CHECKING_LIVENESS")}),[se,T]);var ce=m.onSuccess,ue=React.useCallback((function(e){null==ce||ce(e),de("CHECKING_LIVENESS")}),[ce]),me=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){return de("CAPTURING_VIDEO"),[2]}))}))}),[]),fe=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(t){return re(e),de("SUCCESS"),D&&(null==o||o()),[2]}))}))}),[o,re,D]),pe=React.useCallback((function(){de("CHECKING_LIVENESS")}),[]),ge=React.useState(0),he=ge[0],ve=ge[1],be=null!=s?s:p.onExitAfterFailure,_e=React.useCallback((function(e,t){null==be||be(e,t),ve((function(e){return e+1})),de("CAPTURING_ID")}),[be]),ye=React.useCallback((function(){ve((function(e){return e+1})),de("CAPTURING_ID")}),[]),Ce=["LOADING","CAPTURING_ID"].includes(se);return React.useEffect((function(){ee===SubmissionStatus.SUBMITTING&&releaseCameraAccess()}),[ee]),ee===SubmissionStatus.SUBMITTING?React__default.default.createElement(PageContainer,{className:"flex"},React__default.default.createElement(Spinner,null)):React__default.default.createElement(IdCaptureModelsProvider,{documentDetectionModelUrl:null!==(a=null===(t=m.assets)||void 0===t?void 0:t.documentDetectionModelUrl)&&void 0!==a?a:"",focusModelUrl:null!==(r=null===(n=m.assets)||void 0===n?void 0:n.focusModelUrl)&&void 0!==r?r:"",logPredictions:K,onModelError:c,modelLoadTimeoutMs:$},React__default.default.createElement(CameraProvider,{key:Ce?"id-camera":"selfie-camera",preferContinuityCamera:Ce,preferFrontFacingCamera:!Ce,requestMicrophoneAccess:!Ce&&!!R,maxVideoWidth:Ce?1920:1280,maxFps:Ce?60:30,debugMode:K},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{onModelError:null==p?void 0:p.onModelError,modelLoadTimeoutMs:null==p?void 0:p.modelLoadTimeoutMs},React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(i=H.container)&&void 0!==i?i:"")},["CHECKING_LIVENESS","CAPTURING_VIDEO"].includes(se)&&React__default.default.createElement(CameraVideoTag,{className:H.cameraFeed}),function(){switch(se){case"CAPTURING_ID":return React__default.default.createElement(IdCaptureStateProvider,null,React__default.default.createElement(GuideOrientationProvider,null,React__default.default.createElement(IdCaptureWizard,tslib.__assign({key:"id-capture-".concat(he),loadingOverlayMode:N},m,{assets:W.idCapture,classNames:H.idCapture,colors:Y.idCapture,verbiage:Q.idCapture,onSuccess:ue,onExitCapture:l,onUserCancel:d,skipSuccessScreen:!0,releaseCameraAccessOnExit:!1,guideType:j,portraitGuidesOnMobile:L,rotateLoadingOverlayImageWhenPortrait:F,debugMode:K}))));case"CHECKING_LIVENESS":return React__default.default.createElement(FaceLivenessWizard,tslib.__assign({key:"face-liveness-".concat(he),loadingOverlayMode:U},p,{onComplete:me,onExitCapture:l,onExitAfterFailure:_e,onUserCancel:d,skipSuccessScreen:!0,renderCameraFeed:!1,releaseCameraAccessOnExit:!1,assets:W.faceLiveness,classNames:H.faceLiveness,colors:Y.faceLiveness,verbiage:Q.faceLiveness,debugMode:K}));case"CAPTURING_VIDEO":return React__default.default.createElement(IdVideoCapture,{key:"id-video-capture-".concat(he),onComplete:fe,onIdFrontImageCaptured:ie,onIdBackImageCaptured:oe,onFaceNotDetected:pe,idCaptureModelsEnabled:h,idCardFrontDetectionThreshold:v,idCardBackDetectionThreshold:b,idCardFrontFocusThreshold:_,idCardBackFocusThreshold:y,goodIdCardFrontFramesThreshold:C,goodIdCardBackFramesThreshold:x,skipShowIdCardBack:M,readTextPrompt:R,readTextTimeoutDurationMs:E,assets:W.idVideoCapture,classNames:H.idVideoCapture,colors:Y.idVideoCapture,verbiage:Q.idVideoCapture,debugMode:K});case"SUCCESS":return React__default.default.createElement(IdVideoCaptureSuccess,{videoUrl:null!=te?te:"",idFrontImageUrl:null!=ae?ae:"",idBackImageUrl:null!=ne?ne:void 0,onDoneClick:o,onRetryClick:ye,classNames:H.success,colors:Y.success,verbiage:Q.success});default:return React__default.default.createElement(React__default.default.Fragment,null)}}()))))},CompositeWizardComponent=function(e){var t,a,n,r,i,o=e.checks,l=e.idCaptureProps,s=void 0===l?{}:l,d=e.faceLivenessProps,c=void 0===d?{}:d,u=e.additionalDocumentCaptureProps,m=e.signatureCaptureProps,f=void 0===m?{}:m,p=e.videoSignatureCaptureProps,g=void 0===p?{}:p,h=e.videoIdCaptureProps,v=void 0===h?{}:h,b=e.captureSignature,_=void 0!==b&&b,y=e.captureSignatureVideo,C=void 0!==y&&y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submit,T=E.submissionStatus,w=E.setSignatureData,M=E.setAdditionalDocuments,S=React.useState(0),D=S[0],k=S[1],N=React.useMemo((function(){var e,t,a=tslib.__spreadArray([],o,!0);if(_&&C)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return _&&a.push("SignatureCapture"),C&&(a.push("VideoSignatureCapture"),a.includes("FaceLiveness")&&a.splice(a.indexOf("FaceLiveness"),1)),null!==(t=null===(e=null==u?void 0:u.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&a.push("AdditionalDocumentCapture"),a}),[null===(t=null==u?void 0:u.documents)||void 0===t?void 0:t.length,_,C,o]),O=N[D],j=D>=N.length;React.useEffect((function(){"SignatureCapture"===O&&"function"==typeof _?_().then((function(e){e||k((function(e){return e+1}))})):"VideoSignatureCapture"===O&&"function"==typeof C&&C().then((function(e){e||k((function(e){return e+1}))}))}),[_,C,O]),React.useEffect((function(){j&&I()}),[j,I]);var A=s.onSuccess,L=React.useCallback((function(e){null==A||A(e),k((function(e){return e+1}))}),[A]),B=v.onComplete,F=React.useCallback((function(){null==B||B(),k((function(e){return e+1}))}),[B]),P=c.onComplete,$=React.useCallback((function(e,t){null==P||P(e,t),k((function(e){return e+1}))}),[P]),z=React.useCallback((function(e){w(e),k((function(e){return e+1}))}),[w]),U=g.onComplete,G=React.useCallback((function(){null==U||U(),k((function(e){return e+1}))}),[U]),W=React.useState(0),V=W[0],H=W[1],q=g.onRetryClicked,Y=React.useCallback((function(){null==q||q(),H((function(e){return e+1}))}),[q]),Z=null==u?void 0:u.onComplete,Q=React.useCallback((function(e){M(e),null==Z||Z(e),k((function(e){return e+1}))}),[Z,M]),X=React.useMemo((function(){var e;return null!==(e=null==u?void 0:u.documents)&&void 0!==e?e:[]}),[null==u?void 0:u.documents]);if(j)switch(T){case SubmissionStatus.SUBMITTING:return React__default.default.createElement(PageContainer,{className:"flex"},React__default.default.createElement(Spinner,null));case SubmissionStatus.SUBMITTED:return React__default.default.createElement(SubmissionSuccess,null);case SubmissionStatus.FAILED:return React__default.default.createElement(React__default.default.Fragment,null,"Submission failed!");default:return React__default.default.createElement(React__default.default.Fragment,null,"Complete!!")}switch(N[D]){case"IdCapture":return React__default.default.createElement(IdCaptureModelsProvider,{documentDetectionModelUrl:null!==(n=null===(a=s.assets)||void 0===a?void 0:a.documentDetectionModelUrl)&&void 0!==n?n:"",focusModelUrl:null!==(i=null===(r=s.assets)||void 0===r?void 0:r.focusModelUrl)&&void 0!==i?i:"",logPredictions:R,onModelError:s.onModelError,modelLoadTimeoutMs:s.modelLoadTimeoutMs},React__default.default.createElement(CameraProvider,{key:"IdCaptureCamera",debugMode:R},React__default.default.createElement(IdCaptureStateProvider,null,React__default.default.createElement(GuideOrientationProvider,null,React__default.default.createElement(IdCaptureWizard,tslib.__assign({},s,{onSuccess:L}))))));case"VideoIdCapture":return React__default.default.createElement(VideoIdWizard,tslib.__assign({},v,{onComplete:F}));case"FaceLiveness":return React__default.default.createElement(CameraProvider,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1,debugMode:R},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{onModelError:c.onModelError,modelLoadTimeoutMs:c.modelLoadTimeoutMs},React__default.default.createElement(FaceLivenessWizard,tslib.__assign({},c,{onComplete:$}))));case"SignatureCapture":return React__default.default.createElement(SignatureCapture,tslib.__assign({},f,{onAccept:z}));case"VideoSignatureCapture":return React__default.default.createElement(CameraProvider,{key:"SignatureKycCamera-".concat(V),preferContinuityCamera:!1,preferFrontFacingCamera:!0,maxVideoWidth:1280,maxFps:30,debugMode:R},React__default.default.createElement(VideoSignatureWizard,tslib.__assign({},g,{onComplete:G,onRetryClicked:Y})));case"AdditionalDocumentCapture":return React__default.default.createElement(AdditionalDocumentCaptureWizard,tslib.__assign({},u,{documents:X,onComplete:Q}));default:return React__default.default.createElement(React__default.default.Fragment,null)}},noneTheme={},defaultTheme={fontFamily:"Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif",isFullscreen:!0,background:"white",textColor:"black",textAlign:"center",padding:"25px",colors:{primary:{50:"#eef8ff",100:"#d8eeff",200:"#b9e0ff",300:"#89cfff",400:"#52b4ff",500:"#2a91ff",600:"#0d6efd",700:"#0c5ae9",800:"#1149bc",900:"#144194",950:"#11295a"},secondary:{50:"#f6f6f6",100:"#e7e7e7",200:"#d1d1d1",300:"#b0b0b0",400:"#888888",500:"#666666",600:"#5d5d5d",700:"#4f4f4f",800:"#454545",900:"#3d3d3d",950:"#262626"},positive:{50:"#f1fcf9",100:"#cef9eb",200:"#9df2d8",300:"#65e3c2",400:"#4fd4ad",500:"#1cb090",600:"#16a085",700:"#147160",800:"#155a4f",900:"#164b42",950:"#062d28"},negative:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},warning:{50:"#fdf5ef",100:"#fbe7d9",200:"#f6cdb2",300:"#f0ab81",400:"#ea8557",500:"#e35e2c",600:"#d54621",700:"#b1341d",800:"#8d2b1f",900:"#72261c",950:"#3d100d"}},buttons:{style:"bootstrap",primary:{backgroundColor:"var(--idm-color-primary-600)",textColor:"white"},secondary:{backgroundColor:"var(--idm-color-secondary-500)",textColor:"white"},positive:{backgroundColor:"var(--idm-color-positive-600)",textColor:"white"},negative:{backgroundColor:"var(--idm-color-negative-400)",textColor:"white"},warning:{backgroundColor:"var(--idm-color-warning-400)",textColor:"white"},loading:{backgroundColor:"gray",textColor:"white"}},guidanceMessages:{default:{backgroundColor:"var(--idm-color-secondary-200)",textColor:"black"},positive:{backgroundColor:"var(--idm-color-positive-700)",textColor:"white"},negative:{backgroundColor:"var(--idm-color-negative-600)",textColor:"white"}},idCapture:{loadingOverlay:{backgroundColor:"#ecedf3",textColor:"black",loadingGraphicAccentColor:"var(--idm-color-positive-600)",loadingGraphicAccentOpacity:.2,progressBarBackgroundColor:"var(--idm-color-positive-600)",progressBarBackgroundOpacity:.75,progressBarIndicatorColor:"var(--idm-color-positive-600)",progressBarTextColor:"white",continueBtnBorder:"2px solid white"},guideOverlay:{backgroundColor:"#708090",textColor:"white"},guideBox:{unsatisfiedColor:"white",satisfiedColor:"var(--idm-color-positive-500)",borderWidth:4,desktopPadding:50,mobilePadding:0,imagePadding:25}},selfieCapture:{loadingOverlay:{backgroundColor:"#ecedf3",textColor:"black",loadingGraphicAccentColor:"var(--idm-color-positive-600)",progressBarBackgroundColor:"var(--idm-color-positive-600)",progressBarBackgroundOpacity:.75,progressBarIndicatorColor:"var(--idm-color-positive-600)",progressBarTextColor:"white",continueBtnBorder:"2px solid white"},guides:{unsatisfiedColor:"white",satisfiedColor:"var(--idm-color-positive-500)"}},signatureCapture:{background:"radial-gradient(#444cf7 0.5px, transparent 0.5px), radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px)",backgroundSize:"20px 20px",backgroundPosition:"0 0, 10px 10px"},idVideoCapture:{readTextPrompt:{heading:{backgroundColor:"rgba(255, 255, 255, 0.5)",textColor:"black",borderRadius:"8px"},prompt:{backgroundColor:"rgba(255, 255, 255, 0.5)",textColor:"black",borderRadius:"8px"},timeRemaining:{backgroundColor:"rgba(255, 255, 255, 0.5)",textColor:"black",borderRadius:"4px"}}}},themes={default:defaultTheme,none:noneTheme},resolveTheme=function(e){return"string"==typeof e?e in themes?themes[e]:themes.none:e},ThemeProvider=function(e){var t=e.children,a=resolveTheme(e.theme),n=a.colors;return React.useEffect((function(){for(var e in n){var t=n[e];for(var a in t){var r=t[a];document.documentElement.style.setProperty("--idm-color-".concat(e,"-").concat(a),r)}}}),[n]),React__default.default.createElement(styled.ThemeProvider,{theme:a},t)},IdValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.manualReviewRequired,l=e.idBackImageRequired,s=e.verifyIdWithExternalDatabases,d=e.bypassAgeValidation,c=e.bypassNameMatching,u=e.personalData,m=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,h=e.webhooksSendInputImages,v=e.webhooksSendProcessedImages,b=e.webhooksFireOnReview,_=e.precapturedDocuments,y=e.loadingOverlayMode,C=void 0===y?"default":y,x=e.idCaptureRequirement,R=void 0===x?"idCardOrPassport":x,E=e.idAutoCaptureEnabled,I=void 0===E||E,T=e.idCardAutoCaptureScoreThreshold,w=void 0===T?.8:T,M=e.passportAutoCaptureScoreThreshold,S=void 0===M?.75:M,D=e.idCardFocusScoreThreshold,k=void 0===D?.3:D,N=e.passportFocusScoreThreshold,O=void 0===N?.3:N,j=e.skipSuccessScreen,A=void 0!==j&&j,L=e.instructions,B=e.guideType,F=void 0===B?"fit":B,P=e.portraitGuidesOnMobile,$=void 0!==P&&P,z=e.rotateLoadingOverlayImageWhenPortrait,U=void 0===z||z,G=e.modelLoadTimeoutMs,W=void 0===G?defaultIdCaptureModelLoadTimeoutMs:G,V=e.onBeforeSubmit,H=e.onSubmit,q=e.onComplete,Y=e.onApproved,Z=e.onDenied,Q=e.onExitCapture,X=e.onUserCancel,K=e.onModelError,J=e.theme,ee=void 0===J?"default":J,te=e.assets,ae=void 0===te?{}:te,ne=e.classNames,re=void 0===ne?{}:ne,ie=e.colors,oe=void 0===ie?{}:ie,le=e.verbiage,se=void 0===le?{}:le,de=e.captureSignature,ce=void 0!==de&&de,ue=e.captureSignatureVideo,me=void 0!==ue&&ue,fe=e.captureAdditionalDocuments,pe=void 0===fe?[]:fe,ge=e.geolocationEnabled,he=void 0===ge||ge,ve=e.geolocationRequired,be=void 0!==ve&&ve,_e=e.debugMode,ye=void 0!==_e&&_e;useLanguage(void 0===t?"auto":t);var Ce=React.useMemo((function(){return{onExitCapture:Q,onUserCancel:X,onModelError:K,precapturedDocuments:_,captureRequirement:R,autoCaptureEnabled:I,idCardAutoCaptureScoreThreshold:w,passportAutoCaptureScoreThreshold:S,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:k,passportFocusScoreThreshold:O,barcodeScanningEnabled:!1,skipSuccessScreen:A,loadingOverlayMode:C,instructions:L,guideType:F,portraitGuidesOnMobile:$,rotateLoadingOverlayImageWhenPortrait:U,modelLoadTimeoutMs:W,assets:ae,classNames:re,colors:oe,verbiage:se,debugMode:ye}}),[Q,X,K,_,R,I,w,S,k,O,A,C,L,F,$,U,W,ae,re,oe,se,ye]),xe=React.useMemo((function(){return{documents:pe,classNames:re.additionalDocumentCapture,verbiage:se.additionalDocumentCapture}}),[pe,re.additionalDocumentCapture,se.additionalDocumentCapture]),Re=React.useMemo((function(){return{classNames:re.signatureCapture,verbiage:se.signatureCapture}}),[re.signatureCapture,se.signatureCapture]),Ee=React.useMemo((function(){return{onExitCapture:Q,onUserCancel:X,skipSuccessScreen:A,classNames:re.videoSignatureCapture,colors:oe.videoSignatureCapture,verbiage:se.videoSignatureCapture,debugMode:ye}}),[re.videoSignatureCapture,oe.videoSignatureCapture,ye,Q,X,A,se.videoSignatureCapture]),Ie=React.useCallback((function(e,t){null==q||q(e,t),"Approved"===e.resultData.verificationResult?null==Y||Y(e,t):null==Z||Z(e,t)}),[Y,q,Z]);return React__default.default.createElement(ThemeProvider,{theme:ee},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.VALIDATE,url:n,token:a,companyId:r,needImmediateResponse:i,manualReviewRequired:o,idBackImageRequired:l,verifyIdWithExternalDatabases:s,bypassAgeValidation:d,bypassNameMatching:c,personalData:u,cardData:m,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,webhooksSendInputImages:h,webhooksSendProcessedImages:v,webhooksFireOnReview:b,onBeforeSubmit:V,onSubmit:H,onResponseReceived:Ie,geolocationEnabled:he,geolocationRequired:be},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:Ce,additionalDocumentCaptureProps:xe,signatureCaptureProps:Re,videoSignatureCaptureProps:Ee,captureSignature:ce,captureSignatureVideo:me,debugMode:ye})))},FaceValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.webhooksEnabled,l=e.webhooksClientTraceId,s=e.webhooksStripSpecialCharacters,d=e.webhooksSendInputImages,c=e.webhooksSendProcessedImages,u=e.loadingOverlayMode,m=void 0===u?"default":u,f=e.timeoutDurationMs,p=void 0===f?15e3:f,g=e.modelLoadTimeoutMs,h=void 0===g?defaultSelfieCaptureModelLoadTimeoutMs:g,v=e.skipSuccessScreen,b=void 0!==v&&v,_=e.onBeforeSubmit,y=e.onComplete,C=e.onApproved,x=e.onDenied,R=e.onExitCapture,E=e.onExitAfterFailure,I=e.onUserCancel,T=e.onModelError,w=e.theme,M=void 0===w?"default":w,S=e.assets,D=e.classNames,k=e.colors,N=e.verbiage,O=e.geolocationEnabled,j=void 0===O||O,A=e.geolocationRequired,L=void 0!==A&&A,B=e.debugMode,F=void 0!==B&&B;useLanguage(void 0===t?"auto":t);var P=React.useMemo((function(){return{loadingOverlayMode:m,timeoutDurationMs:p,modelLoadTimeoutMs:h,skipSuccessScreen:b,onComplete:y,onSuccess:C,onTimeout:x,onExitCapture:R,onExitAfterFailure:E,onModelError:T,onUserCancel:I,assets:S,classNames:D,colors:k,verbiage:N,debugMode:F}}),[S,D,k,F,m,h,C,y,x,E,R,T,I,b,p,N]);return React__default.default.createElement(ThemeProvider,{theme:M},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.NONE,url:n,token:a,companyId:r,needImmediateResponse:i,webhooksEnabled:o,webhooksClientTraceId:l,webhooksStripSpecialCharacters:s,webhooksSendInputImages:d,webhooksSendProcessedImages:c,onBeforeLivenessCheck:_,geolocationEnabled:j,geolocationRequired:L},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:P,debugMode:F})))},IdAndFaceValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.manualReviewRequired,l=e.idBackImageRequired,s=e.verifyIdWithExternalDatabases,d=e.bypassAgeValidation,c=e.bypassNameMatching,u=e.personalData,m=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,h=e.webhooksSendInputImages,v=e.webhooksSendProcessedImages,b=e.webhooksFireOnReview,_=e.precapturedDocuments,y=e.idCaptureLoadingOverlayMode,C=void 0===y?"default":y,x=e.idCaptureRequirement,R=void 0===x?"idCardOrPassport":x,E=e.idAutoCaptureEnabled,I=void 0===E||E,T=e.idCardAutoCaptureScoreThreshold,w=void 0===T?.8:T,M=e.mrzDetectionScoreThreshold,S=void 0===M?.5:M,D=e.passportAutoCaptureScoreThreshold,k=void 0===D?.75:D,N=e.idCardFocusScoreThreshold,O=void 0===N?.3:N,j=e.passportFocusScoreThreshold,A=void 0===j?.3:j,L=e.faceLivenessLoadingOverlayMode,B=void 0===L?"default":L,F=e.faceLivenessTimeoutDurationMs,P=void 0===F?15e3:F,$=e.skipSuccessScreen,z=void 0!==$&&$,U=e.idCaptureInstructions,G=e.idCaptureGuideType,W=void 0===G?"fit":G,V=e.idCapturePortraitGuidesOnMobile,H=void 0!==V&&V,q=e.idCaptureRotateLoadingOverlayImageWhenPortrait,Y=void 0===q||q,Z=e.idCaptureModelLoadTimeoutMs,Q=void 0===Z?defaultIdCaptureModelLoadTimeoutMs:Z,X=e.selfieCaptureModelLoadTimeoutMs,K=void 0===X?defaultSelfieCaptureModelLoadTimeoutMs:X,J=e.onBeforeLivenessCheck,ee=e.onBeforeSubmit,te=e.onSubmit,ae=e.onComplete,ne=e.onApproved,re=e.onDenied,ie=e.onExitCapture,oe=e.onExitAfterFailure,le=e.onUserCancel,se=e.onIdCaptureModelError,de=e.onSelfieCaptureModelError,ce=e.captureSignature,ue=void 0!==ce&&ce,me=e.captureSignatureVideo,fe=void 0!==me&&me,pe=e.captureAdditionalDocuments,ge=void 0===pe?[]:pe,he=e.theme,ve=void 0===he?"default":he,be=e.assets,_e=void 0===be?{}:be,ye=e.classNames,Ce=void 0===ye?{}:ye,xe=e.colors,Re=void 0===xe?{}:xe,Ee=e.verbiage,Ie=void 0===Ee?{}:Ee,Te=e.geolocationEnabled,we=void 0===Te||Te,Me=e.geolocationRequired,Se=void 0!==Me&&Me,De=e.debugMode,ke=void 0!==De&&De;useLanguage(void 0===t?"auto":t);var Ne=React.useMemo((function(){return{onExitCapture:ie,onUserCancel:le,onModelError:se,assets:_e.idCapture,classNames:Ce.idCapture,colors:Re.idCapture,verbiage:Ie.idCapture,precapturedDocuments:_,captureRequirement:R,autoCaptureEnabled:I,idCardAutoCaptureScoreThreshold:w,passportAutoCaptureScoreThreshold:k,mrzDetectionScoreThreshold:S,idCardFocusScoreThreshold:O,passportFocusScoreThreshold:A,loadingOverlayMode:C,instructions:U,guideType:W,portraitGuidesOnMobile:H,rotateLoadingOverlayImageWhenPortrait:Y,modelLoadTimeoutMs:Q,skipSuccessScreen:z,debugMode:ke}}),[_e.idCapture,Ce.idCapture,Re.idCapture,ke,I,W,U,C,Q,H,R,Y,w,O,S,ie,se,le,k,A,_,z,Ie.idCapture]),Oe=React.useMemo((function(){return{loadingOverlayMode:B,timeoutDurationMs:P,modelLoadTimeoutMs:K,onTimeout:re,onExitCapture:ie,onExitAfterFailure:oe,onUserCancel:le,onModelError:de,skipSuccessScreen:z,assets:_e.faceLiveness,classNames:Ce.faceLiveness,colors:Re.faceLiveness,verbiage:Ie.faceLiveness,debugMode:ke}}),[_e.faceLiveness,Ce.faceLiveness,Re.faceLiveness,ke,B,P,re,oe,ie,de,le,K,z,Ie.faceLiveness]),je=React.useMemo((function(){return{documents:ge,classNames:Ce.additionalDocumentCapture,verbiage:Ie.additionalDocumentCapture}}),[ge,Ce.additionalDocumentCapture,Ie.additionalDocumentCapture]),Ae=React.useMemo((function(){return{classNames:Ce.signatureCapture,verbiage:Ie.signatureCapture}}),[Ce.signatureCapture,Ie.signatureCapture]),Le=React.useMemo((function(){return{onExitCapture:ie,onUserCancel:le,skipSuccessScreen:z,classNames:Ce.videoSignatureCapture,colors:Re.videoSignatureCapture,verbiage:Ie.videoSignatureCapture,debugMode:ke}}),[Ce.videoSignatureCapture,Re.videoSignatureCapture,ke,ie,le,z,Ie.videoSignatureCapture]),Be=React.useCallback((function(e,t){null==ae||ae(e,t),"Approved"===e.resultData.verificationResult?null==ne||ne(e,t):null==re||re(e,t)}),[ne,ae,re]),Fe=React.useMemo((function(){return(null==_?void 0:_.selfie)?["IdCapture"]:["IdCapture","FaceLiveness"]}),[null==_?void 0:_.selfie]);return React__default.default.createElement(ThemeProvider,{theme:ve},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.VALIDATE,url:n,token:a,companyId:r,needImmediateResponse:i,manualReviewRequired:o,idBackImageRequired:l,verifyIdWithExternalDatabases:s,bypassAgeValidation:d,bypassNameMatching:c,personalData:u,cardData:m,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,webhooksSendInputImages:h,webhooksSendProcessedImages:v,webhooksFireOnReview:b,precapturedDocuments:_,onBeforeSubmit:ee,onBeforeLivenessCheck:J,onSubmit:te,onResponseReceived:Be,geolocationEnabled:we,geolocationRequired:Se},React__default.default.createElement(CompositeWizardComponent,{checks:Fe,idCaptureProps:Ne,faceLivenessProps:Oe,signatureCaptureProps:Ae,videoSignatureCaptureProps:Le,additionalDocumentCaptureProps:je,captureSignature:ue,captureSignatureVideo:fe,debugMode:ke})))},CustomerIdAndBiometricsEnrollment=function(e){var t=e.enrollmentId,a=e.lang,n=e.submissionToken,r=e.submissionUrl,i=e.companyId,o=e.needImmediateResponse,l=e.manualReviewRequired,s=e.idBackImageRequired,d=e.idImageResolutionCheck,c=e.verifyIdWithExternalDatabases,u=e.bypassAgeValidation,m=e.bypassNameMatching,f=e.personalData,p=e.cardData,g=e.deduplicationEnabled,h=e.deduplicationSynchronous,v=e.webhooksEnabled,b=e.webhooksClientTraceId,_=e.webhooksStripSpecialCharacters,y=e.webhooksSendInputImages,C=e.webhooksSendProcessedImages,x=e.webhooksFireOnReview,R=e.idCaptureLoadingOverlayMode,E=void 0===R?"default":R,I=e.idCaptureRequirement,T=void 0===I?"idCardOrPassport":I,w=e.idAutoCaptureEnabled,M=void 0===w||w,S=e.idCardAutoCaptureScoreThreshold,D=void 0===S?.8:S,k=e.mrzDetectionScoreThreshold,N=void 0===k?.5:k,O=e.passportAutoCaptureScoreThreshold,j=void 0===O?.75:O,A=e.idCardFocusScoreThreshold,L=void 0===A?.3:A,B=e.passportFocusScoreThreshold,F=void 0===B?.3:B,P=e.faceLivenessTimeoutDurationMs,$=void 0===P?15e3:P,z=e.faceLivenessLoadingOverlayMode,U=void 0===z?"default":z,G=e.skipSuccessScreen,W=void 0!==G&&G,V=e.idCaptureInstructions,H=e.idCaptureGuideType,q=void 0===H?"fit":H,Y=e.idCapturePortraitGuidesOnMobile,Z=void 0!==Y&&Y,Q=e.idCaptureRotateLoadingOverlayImageWhenPortrait,X=void 0===Q||Q,K=e.idCaptureModelLoadTimeoutMs,J=void 0===K?defaultIdCaptureModelLoadTimeoutMs:K,ee=e.selfieCaptureModelLoadTimeoutMs,te=void 0===ee?defaultSelfieCaptureModelLoadTimeoutMs:ee,ae=e.onBeforeSubmit,ne=e.onSubmit,re=e.onComplete,ie=e.onEnrolled,oe=e.onDenied,le=e.onExitCapture,se=e.onExitAfterFailure,de=e.onUserCancel,ce=e.onIdCaptureModelError,ue=e.onSelfieCaptureModelError,me=e.captureSignature,fe=void 0!==me&&me,pe=e.captureSignatureVideo,ge=void 0!==pe&&pe,he=e.captureAdditionalDocuments,ve=void 0===he?[]:he,be=e.theme,_e=void 0===be?"default":be,ye=e.assets,Ce=void 0===ye?{}:ye,xe=e.classNames,Re=void 0===xe?{}:xe,Ee=e.colors,Ie=void 0===Ee?{}:Ee,Te=e.verbiage,we=void 0===Te?{}:Te,Me=e.geolocationEnabled,Se=void 0===Me||Me,De=e.geolocationRequired,ke=void 0!==De&&De,Ne=e.debugMode,Oe=void 0!==Ne&&Ne;useLanguage(void 0===a?"auto":a);var je=React.useMemo((function(){return{assets:Ce.idCapture,classNames:Re.idCapture,colors:Ie.idCapture,verbiage:we.idCapture,captureRequirement:T,autoCaptureEnabled:M,idCardAutoCaptureScoreThreshold:D,passportAutoCaptureScoreThreshold:j,mrzDetectionScoreThreshold:N,idCardFocusScoreThreshold:L,passportFocusScoreThreshold:F,loadingOverlayMode:E,instructions:V,guideType:q,portraitGuidesOnMobile:Z,rotateLoadingOverlayImageWhenPortrait:X,modelLoadTimeoutMs:J,onExitCapture:le,onUserCancel:de,onModelError:ce,skipSuccessScreen:W,debugMode:Oe}}),[Ce.idCapture,Re.idCapture,Ie.idCapture,Oe,M,q,V,E,J,Z,T,X,D,L,N,le,ce,de,j,F,W,we.idCapture]),Ae=React.useMemo((function(){return{onExitCapture:le,onExitAfterFailure:se,onUserCancel:de,onModelError:ue,loadingOverlayMode:U,timeoutDurationMs:$,modelLoadTimeoutMs:te,skipSuccessScreen:W,assets:Ce.faceLiveness,classNames:Re.faceLiveness,colors:Ie.faceLiveness,verbiage:we.faceLiveness,debugMode:Oe}}),[Ce.faceLiveness,Re.faceLiveness,Ie.faceLiveness,Oe,U,$,se,le,ue,de,te,W,we.faceLiveness]),Le=React.useMemo((function(){return{documents:ve,classNames:Re.additionalDocumentCapture,verbiage:we.additionalDocumentCapture}}),[ve,Re.additionalDocumentCapture,we.additionalDocumentCapture]),Be=React.useMemo((function(){return{classNames:Re.signatureCapture,verbiage:we.signatureCapture}}),[Re.signatureCapture,we.signatureCapture]),Fe=React.useMemo((function(){return{onExitCapture:le,onUserCancel:de,skipSuccessScreen:W,classNames:Re.videoSignatureCapture,colors:Ie.videoSignatureCapture,verbiage:we.videoSignatureCapture,debugMode:Oe}}),[Re.videoSignatureCapture,Ie.videoSignatureCapture,Oe,le,de,W,we.videoSignatureCapture]),Pe=React.useCallback((function(e,t){null==re||re(e,t),"Customer Onboarded"===e.resultData.verificationResult?null==ie||ie(e,t):null==oe||oe(e,t)}),[ie,re,oe]);return React__default.default.createElement(ThemeProvider,{theme:_e},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.ENROLL,url:r,token:n,companyId:i,enrollmentId:t,needImmediateResponse:o,manualReviewRequired:l,idBackImageRequired:s,idImageResolutionCheck:d,verifyIdWithExternalDatabases:c,bypassAgeValidation:u,bypassNameMatching:m,personalData:f,cardData:p,deduplicationEnabled:g,deduplicationSynchronous:h,webhooksEnabled:v,webhooksClientTraceId:b,webhooksStripSpecialCharacters:_,webhooksSendInputImages:y,webhooksSendProcessedImages:C,webhooksFireOnReview:x,onBeforeSubmit:ae,onSubmit:ne,onResponseReceived:Pe,geolocationEnabled:Se,geolocationRequired:ke},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:je,faceLivenessProps:Ae,additionalDocumentCaptureProps:Le,signatureCaptureProps:Be,videoSignatureCaptureProps:Fe,captureSignature:fe,captureSignatureVideo:ge,debugMode:Oe})))},ALLOWED_RETRIES$3=0,initialState$1={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,unverifiedTimes:0},reducer$1=function(e,t){switch(t.type){case"verificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?tslib.__assign(tslib.__assign({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return tslib.__assign(tslib.__assign({},e),{requestState:"VERIFYING",imageUrl:t.payload.imageUrl});case"verificationCompleted":var a=t.payload.response,n=a.status,r=n.statusMessage,i=n.errorData,o=a.resultData;if("000"!==n.statusCode)return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:new Error("".concat(r,": ").concat(i))});var l=e.requestState,s=e.unverifiedTimes;return"00"===o.verificationResultCode?l="VERIFIED":s<ALLOWED_RETRIES$3?(l="CAPTURING",s+=1):l="REJECTED",tslib.__assign(tslib.__assign({},e),{requestState:l,unverifiedTimes:s});case"verificationFailed":return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},CustomerVerificationCapture=function(e){var t,a,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,o=e.onExit,l=e.captureGuidanceTimeoutDurationMs,s=e.classNames,d=void 0===s?{}:s,c=e.colors,u=void 0===c?{}:c,m=e.verbiage,f=void 0===m?{}:m,p=e.debugMode,g=void 0!==p&&p,h=React.useReducer(reducer$1,initialState$1),v=h[0],b=h[1],_=v.frame,y=v.face,C=React.useContext(SubmissionContext),x=C.submit,R=C.submissionRequest,E=C.submissionResponse,I=C.submissionError,T=C.selfieImage,w=C.setSelfieImage,M=React.useState(null),S=M[0],D=M[1],k=React.useRef(null),N=React.useRef(null),O=React.useCallback((function(e,t){b({type:"verificationReady",payload:{frame:e,face:t}})}),[]),j="CAPTURED"===v.requestState;React.useEffect((function(){if(_&&y&&!I){var e=cropToShoulders(k.current,N.current,_,y);D(e),dataUrlToBase64(e).then((function(e){w(e)}))}}),[y,_,w,I]),React.useEffect((function(){j&&T&&!I&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),b({type:"verifying",payload:{imageUrl:T}}),[4,x()];case 1:if(!(e=a.sent()))throw new Error("submission failed!");return b({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=a.sent(),b({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[j,n,r,T,v.requestState,I,x]),React.useEffect((function(){R&&E&&("VERIFIED"===v.requestState?null==n||n(E,R):"REJECTED"===v.requestState&&(null==r||r(E,R)))}),[n,r,v.requestState,R,E]),useTimeout(l,i,["VERIFIED","REJECTED"].includes(v.requestState),"VERIFYING"===v.requestState);var A=useVerbiage(f.progressPreviewText,"Processing..."),L=styled.useTheme();return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(InvisibleCanvas,{ref:k}),React__default.default.createElement(InvisibleCanvas,{ref:N}),React__default.default.createElement(SelfieCapture,{onSelfieCaptured:O,onExit:o,timeoutDurationMs:l,classNames:d,colors:u,verbiage:f,debugMode:g}),!(null===(a=null===(t=L.selfieCapture)||void 0===t?void 0:t.capturePreview)||void 0===a?void 0:a.disabled)&&S&&React__default.default.createElement(SelfieProgressPreview,{imageUrl:S,text:A,classNames:d.imagePreview}))},CustomerVerificationSuccess=function(e){var t=e.imageUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s;t||(t="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"));var c=useTranslations(d,{headingText:"Customer has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(Heading$3,{className:i.heading},c.headingText),React__default.default.createElement(ImageContainer$3,{className:i.imageContainer},React__default.default.createElement("img",{alt:c.headingText,src:t,className:i.image})),React__default.default.createElement(StyledButtonsRow$3,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:i.retryBtn,onClick:n,colors:l.retryBtn,finished:!0},c.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:i.doneBtn,onClick:a,colors:l.doneBtn,finished:!0},c.doneBtnText))))},Heading$3=styled__default.default.h3(templateObject_1$3||(templateObject_1$3=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer$3=styled__default.default(ButtonsRow)(templateObject_2$3||(templateObject_2$3=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow$3=styled__default.default(ButtonsRow)(templateObject_3$3||(templateObject_3$3=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),CustomerVerificationFailure=function(e){var t=e.canRetry,a=void 0===t||t,n=e.onRetryClick,r=e.onExitClick,i=e.assets,o=void 0===i?{}:i,l=e.classNames,s=void 0===l?{}:l,d=e.colors,c=void 0===d?{}:d,u=e.verbiage,m=void 0===u?{}:u;o.imageUrl||(o.imageUrl="".concat(DEFAULT_CDN_URL,"/manual_capture.png"));var f=useTranslations(m,{headingText:"Customer not verified",retryBtnText:"Retry",exitBtnText:"Exit"});return React__default.default.createElement(OverlayContainer,{className:s.container},React__default.default.createElement(OverlayInner$2,{className:s.inner},React__default.default.createElement(Heading$2,{className:s.heading},f.headingText),React__default.default.createElement(ImageContainer$2,{className:s.imageContainer},React__default.default.createElement("img",{alt:f.headingText,src:o.imageUrl,className:s.image})),React__default.default.createElement(StyledButtonsRow$2,{className:s.buttonsRow},a&&React__default.default.createElement(LoaderButton,{variant:"warning",className:s.retryBtn,onClick:n,colors:c.retryBtn,finished:!0},f.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"secondary",className:s.exitBtn,onClick:r,colors:c.exitBtn,finished:!0},f.exitBtnText))))},Heading$2=styled__default.default.h3(templateObject_1$2||(templateObject_1$2=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer$2=styled__default.default(ButtonsRow)(templateObject_2$2||(templateObject_2$2=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow$2=styled__default.default(ButtonsRow)(templateObject_3$2||(templateObject_3$2=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),ALLOWED_RETRIES$2=2,CustomerVerificationWizard=function(e){var t,a=e.onComplete,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onExitCapture,o=e.onExitAfterFailure,l=e.onUserCancel,s=e.onCaptureGuidanceTimeout,d=e.captureGuidanceTimeoutDurationMs,c=e.skipSuccessScreen,u=void 0!==c&&c,m=e.loadingOverlayMode,f=void 0===m?"default":m,p=e.assets,g=void 0===p?{}:p,h=e.classNames,v=void 0===h?{}:h,b=e.colors,_=void 0===b?{}:b,y=e.verbiage,C=void 0===y?{}:y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submissionRequest,T=E.submissionResponse,w=E.selfieImage,M=React.useState("LOADING"),S=M[0],D=M[1],k=React.useContext(CameraStateContext).releaseCameraAccess,N=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("MATCHED"),null==n||n(e,t),[2]}))}))}),[n]),O=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("NOT_MATCHED"),null==r||r(e,t),[2]}))}))}),[r]),j=React.useCallback((function(){D("FAILED"),null==s||s()}),[s]),A=React.useState(0),L=A[0],B=A[1],F=React.useCallback((function(){B((function(e){return e+1})),D("LOADING"),null==i||i()}),[i]),P=React.useCallback((function(){k(),I&&T&&(null==a||a(T,I))}),[a,k,I,T]),$=useShowSuccessScreen(u,"MATCHED"===S,P);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=v.container)&&void 0!==t?t:"")},React__default.default.createElement(CameraVideoTag,{className:v.cameraFeed}),"LOADING"!==S&&function(){switch(S){case"CAPTURING":return React__default.default.createElement(CustomerVerificationCapture,{key:"capture".concat(L),onCustomerMatched:N,onCustomerNotMatched:O,onCaptureGuidanceTimeout:j,onExit:F,captureGuidanceTimeoutDurationMs:d,classNames:v,colors:_,verbiage:C,debugMode:R});case"MATCHED":if(!$)return;return React__default.default.createElement(CustomerVerificationSuccess,{imageUrl:"data:image/png;base64, ".concat(w),classNames:v.success,colors:_.success,verbiage:C.success,onDoneClick:P,onRetryClick:function(){D("CAPTURING"),B(0)}});case"NOT_MATCHED":case"FAILED":return React__default.default.createElement(CustomerVerificationFailure,{assets:g.failure,classNames:v.failure,colors:_.failure,verbiage:C.failure,canRetry:L<ALLOWED_RETRIES$2,onExitClick:function(){k(),null==o||o()},onRetryClick:function(){B((function(e){return e+1}))}});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:L,mode:f,assets:g.loadingOverlay,classNames:v.loadingOverlay,colors:_.loadingOverlay,verbiage:C.loadingOverlay,onUserCancel:l,onDismissed:function(){D("CAPTURING")}}))},CustomerVerification=function(e){var t=e.lang,a=e.enrollmentId,n=e.submissionToken,r=e.submissionUrl,i=e.companyId,o=e.needImmediateResponse,l=e.webhooksEnabled,s=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,c=e.webhooksSendInputImages,u=e.webhooksSendProcessedImages,m=e.loadingOverlayMode,f=void 0===m?"default":m,p=e.timeoutDurationMs,g=void 0===p?15e3:p,h=e.modelLoadTimeoutMs,v=void 0===h?defaultSelfieCaptureModelLoadTimeoutMs:h,b=e.skipSuccessScreen,_=void 0!==b&&b,y=e.theme,C=void 0===y?"default":y,x=e.assets,R=e.classNames,E=e.colors,I=e.verbiage,T=e.onBeforeSubmit,w=e.onSubmit,M=e.onComplete,S=e.onCustomerMatched,D=e.onCustomerNotMatched,k=e.onExitCapture,N=e.onExitAfterFailure,O=e.onUserCancel,j=e.onModelError,A=e.geolocationEnabled,L=void 0===A||A,B=e.geolocationRequired,F=void 0!==B&&B,P=e.debugMode,$=void 0!==P&&P;return useLanguage(void 0===t?"auto":t),React__default.default.createElement(ThemeProvider,{theme:C},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.VERIFY,url:r,token:n,companyId:i,enrollmentId:a,needImmediateResponse:o,webhooksEnabled:l,webhooksClientTraceId:s,webhooksStripSpecialCharacters:d,webhooksSendInputImages:c,webhooksSendProcessedImages:u,onBeforeSubmit:T,onSubmit:w,geolocationEnabled:L,geolocationRequired:F},React__default.default.createElement(CameraProvider,{preferFrontFacingCamera:!0,debugMode:$},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{onModelError:j,modelLoadTimeoutMs:v},React__default.default.createElement(CustomerVerificationWizard,{onComplete:M,onCustomerMatched:S,onCustomerNotMatched:D,onExitCapture:k,onExitAfterFailure:N,onUserCancel:O,captureGuidanceTimeoutDurationMs:g,loadingOverlayMode:f,skipSuccessScreen:_,assets:x,classNames:R,colors:E,verbiage:I,debugMode:$})))))},ALLOWED_RETRIES$1=0,initialState={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,notFoundTimes:0},reducer=function(e,t){switch(t.type){case"identificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?tslib.__assign(tslib.__assign({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return tslib.__assign(tslib.__assign({},e),{requestState:"IDENTIFYING",imageUrl:t.payload.imageUrl});case"identificationCompleted":var a=t.payload.response,n=a.status,r=n.statusMessage,i=n.errorData,o=a.resultData;if("000"!==n.statusCode)return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:new Error("".concat(r,": ").concat(i))});var l=e.requestState,s=e.notFoundTimes;return"46"===o.verificationResultCode?l="FOUND":s<ALLOWED_RETRIES$1?(l="CAPTURING",s+=1):l="NOT_FOUND",tslib.__assign(tslib.__assign({},e),{requestState:l,notFoundTimes:s});case"identificationFailed":return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},CustomerIdentificationCapture=function(e){var t,a,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,o=e.onExit,l=e.captureGuidanceTimeoutDurationMs,s=e.classNames,d=void 0===s?{}:s,c=e.colors,u=void 0===c?{}:c,m=e.verbiage,f=void 0===m?{}:m,p=e.debugMode,g=void 0!==p&&p,h=React.useReducer(reducer,initialState),v=h[0],b=h[1],_=React.useContext(SubmissionContext),y=_.submit,C=_.submissionRequest,x=_.submissionResponse,R=_.submissionError,E=_.selfieImage,I=_.setSelfieImage,T=React.useState(null),w=T[0],M=T[1],S=React.useRef(null),D=React.useRef(null),k=React.useCallback((function(e,t){b({type:"identificationReady",payload:{frame:e,face:t}})}),[]),N=v.frame,O=v.face,j="CAPTURED"===v.requestState;React.useEffect((function(){if(N&&O&&!R){var e=cropToShoulders(S.current,D.current,N,O);M(e),dataUrlToBase64(e).then((function(e){I(e)}))}}),[O,N,I,R]),React.useEffect((function(){j&&E&&!R&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),b({type:"identifying",payload:{imageUrl:E}}),[4,y()];case 1:if(!(e=a.sent()))throw new Error("submission failed!");return b({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=a.sent(),b({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[j,n,r,E,v.requestState,R,y]),React.useEffect((function(){C&&x&&("FOUND"===v.requestState?null==n||n(x,C):"NOT_FOUND"===v.requestState&&(null==r||r(x,C)))}),[n,r,v.requestState,C,x]),useTimeout(l,i,["FOUND","NOT_FOUND"].includes(v.requestState),"IDENTIFYING"===v.requestState);var A=useVerbiage(f.progressPreviewText,"Processing..."),L=styled.useTheme();return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(InvisibleCanvas,{ref:S}),React__default.default.createElement(InvisibleCanvas,{ref:D}),React__default.default.createElement(SelfieCapture,{onSelfieCaptured:k,onExit:o,timeoutDurationMs:l,classNames:d,colors:u,verbiage:f,debugMode:g}),!(null===(a=null===(t=L.selfieCapture)||void 0===t?void 0:t.capturePreview)||void 0===a?void 0:a.disabled)&&w&&React__default.default.createElement(SelfieProgressPreview,{text:A,imageUrl:w,classNames:d.imagePreview}))},CustomerIdentificationSuccess=function(e){var t=e.imageUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s;t||(t="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"));var c=useTranslations(d,{headingText:"Customer has been identified!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(Heading$1,{className:i.heading},c.headingText),React__default.default.createElement(ImageContainer$1,{className:i.imageContainer},React__default.default.createElement("img",{alt:c.headingText,src:t,className:i.image})),React__default.default.createElement(StyledButtonsRow$1,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:i.retryBtn,onClick:n,colors:l.retryBtn,finished:!0},c.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:i.doneBtn,onClick:a,colors:l.doneBtn,finished:!0},c.doneBtnText))))},Heading$1=styled__default.default.h3(templateObject_1$1||(templateObject_1$1=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer$1=styled__default.default(ButtonsRow)(templateObject_2$1||(templateObject_2$1=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow$1=styled__default.default(ButtonsRow)(templateObject_3$1||(templateObject_3$1=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),CustomerIdentificationFailure=function(e){var t=e.canRetry,a=void 0===t||t,n=e.onRetryClick,r=e.onExitClick,i=e.assets,o=void 0===i?{}:i,l=e.classNames,s=void 0===l?{}:l,d=e.colors,c=void 0===d?{}:d,u=e.verbiage,m=void 0===u?{}:u;o.imageUrl||(o.imageUrl="".concat(DEFAULT_CDN_URL,"/manual_capture.png"));var f=useTranslations(m,{headingText:"Customer not found",retryBtnText:"Retry",exitBtnText:"Exit"});return React__default.default.createElement(OverlayContainer,{className:s.container},React__default.default.createElement(OverlayInner$2,{className:s.inner},React__default.default.createElement(Heading,{className:s.heading},f.headingText),React__default.default.createElement(ImageContainer,{className:s.imageContainer},React__default.default.createElement("img",{alt:f.headingText,src:o.imageUrl,className:s.image})),React__default.default.createElement(StyledButtonsRow,{className:s.buttonsRow},a&&React__default.default.createElement(LoaderButton,{variant:"warning",className:s.retryBtn,onClick:n,colors:c.retryBtn,finished:!0},f.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"secondary",className:s.exitBtn,onClick:r,colors:c.exitBtn,finished:!0},f.exitBtnText))))},Heading=styled__default.default.h3(templateObject_1||(templateObject_1=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer=styled__default.default(ButtonsRow)(templateObject_2||(templateObject_2=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow=styled__default.default(ButtonsRow)(templateObject_3||(templateObject_3=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),ALLOWED_RETRIES=2,CustomerIdentificationWizard=function(e){var t,a=e.onComplete,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onExitCapture,o=e.onExitAfterFailure,l=e.onUserCancel,s=e.onCaptureGuidanceTimeout,d=e.captureGuidanceTimeoutDurationMs,c=e.skipSuccessScreen,u=void 0!==c&&c,m=e.loadingOverlayMode,f=void 0===m?"default":m,p=e.assets,g=void 0===p?{}:p,h=e.classNames,v=void 0===h?{}:h,b=e.colors,_=void 0===b?{}:b,y=e.verbiage,C=void 0===y?{}:y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submissionResponse,T=E.submissionRequest,w=E.selfieImage,M=React.useState("LOADING"),S=M[0],D=M[1],k=React.useContext(CameraStateContext).releaseCameraAccess,N=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("FOUND"),null==n||n(e,t),[2]}))}))}),[n]),O=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("NOT_FOUND"),null==r||r(e,t),[2]}))}))}),[r]),j=React.useCallback((function(){D("FAILED"),null==s||s()}),[s]),A=React.useState(0),L=A[0],B=A[1],F=React.useCallback((function(){B((function(e){return e+1})),D("LOADING"),null==i||i()}),[i]),P=React.useCallback((function(){k(),T&&I&&(null==a||a(I,T))}),[a,k,T,I]),$=useShowSuccessScreen(u,"FOUND"===S,P);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=v.container)&&void 0!==t?t:"")},React__default.default.createElement(CameraVideoTag,{className:v.cameraFeed}),"LOADING"!==S&&function(){switch(S){case"CAPTURING":return React__default.default.createElement(CustomerIdentificationCapture,{key:"capture".concat(L),onCustomerMatched:N,onCustomerNotMatched:O,onCaptureGuidanceTimeout:j,onExit:F,captureGuidanceTimeoutDurationMs:d,classNames:v,colors:_,verbiage:C,debugMode:R});case"FOUND":if(!$)return;return React__default.default.createElement(CustomerIdentificationSuccess,{imageUrl:"data:image/png;base64, ".concat(w),classNames:v.success,colors:_.success,verbiage:C.success,onDoneClick:P,onRetryClick:function(){D("CAPTURING"),B(0)}});case"NOT_FOUND":case"FAILED":return React__default.default.createElement(CustomerIdentificationFailure,{assets:g.failure,classNames:v.failure,colors:_.failure,verbiage:C.failure,canRetry:L<ALLOWED_RETRIES,onExitClick:function(){k(),null==o||o()},onRetryClick:function(){B((function(e){return e+1}))}});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:L,mode:f,assets:g.loadingOverlay,classNames:v.loadingOverlay,colors:_.loadingOverlay,verbiage:C.loadingOverlay,onUserCancel:l,onDismissed:function(){D("CAPTURING")}}))},CustomerIdentification=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.webhooksEnabled,l=e.webhooksClientTraceId,s=e.webhooksStripSpecialCharacters,d=e.webhooksSendInputImages,c=e.webhooksSendProcessedImages,u=e.loadingOverlayMode,m=void 0===u?"default":u,f=e.timeoutDurationMs,p=void 0===f?15e3:f,g=e.modelLoadTimeoutMs,h=void 0===g?defaultSelfieCaptureModelLoadTimeoutMs:g,v=e.skipSuccessScreen,b=void 0!==v&&v,_=e.onBeforeSubmit,y=e.onSubmit,C=e.onComplete,x=e.onCustomerMatched,R=e.onCustomerNotMatched,E=e.onCaptureGuidanceTimeout,I=e.onExitCapture,T=e.onExitAfterFailure,w=e.onUserCancel,M=e.onModelError,S=e.theme,D=void 0===S?"default":S,k=e.assets,N=e.classNames,O=e.colors,j=e.verbiage,A=e.geolocationEnabled,L=e.geolocationRequired,B=void 0!==L&&L,F=e.debugMode,P=void 0!==F&&F;return useLanguage(void 0===t?"auto":t),React__default.default.createElement(ThemeProvider,{theme:D},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.IDENTIFY,url:n,token:a,companyId:r,needImmediateResponse:i,webhooksEnabled:o,webhooksClientTraceId:l,webhooksStripSpecialCharacters:s,webhooksSendInputImages:d,webhooksSendProcessedImages:c,onBeforeSubmit:_,onSubmit:y,geolocationEnabled:A,geolocationRequired:B},React__default.default.createElement(CameraProvider,{preferFrontFacingCamera:!0,debugMode:P},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{modelLoadTimeoutMs:h,onModelError:M},React__default.default.createElement(CustomerIdentificationWizard,{onComplete:C,onCustomerMatched:x,onCustomerNotMatched:R,onExitCapture:I,onExitAfterFailure:T,onUserCancel:w,onCaptureGuidanceTimeout:E,captureGuidanceTimeoutDurationMs:p,loadingOverlayMode:m,skipSuccessScreen:b,assets:k,classNames:N,colors:O,verbiage:j,debugMode:P})))))},SignatureKYC=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.onBeforeSubmit,i=e.onSubmit,o=e.onComplete,l=e.onUserCancel,s=e.onModelError,d=e.loadingOverlayMode,c=void 0===d?"default":d,u=e.skipSuccessScreen,m=void 0!==u&&u,f=e.modelLoadTimeoutMs,p=void 0===f?defaultSelfieCaptureModelLoadTimeoutMs:f,g=e.theme,h=void 0===g?"default":g,v=e.classNames,b=e.colors,_=e.verbiage,y=e.geolocationEnabled,C=e.geolocationRequired,x=e.debugMode;useLanguage(void 0===t?"auto":t);var R=React.useState(0),E=R[1];return React__default.default.createElement(ThemeProvider,{theme:h},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.NONE,url:n,token:a,onBeforeSubmit:r,onSubmit:i,onResponseReceived:o,geolocationEnabled:y,geolocationRequired:C},React__default.default.createElement(CameraProvider,{key:R[0],preferContinuityCamera:!1,preferFrontFacingCamera:!0,debugMode:x},React__default.default.createElement(VideoSignatureWizard,{loadingOverlayMode:c,skipSuccessScreen:m,modelLoadTimeoutMs:p,classNames:v,colors:b,debugMode:x,verbiage:_,onModelError:s,onUserCancel:l,onRetryClicked:function(){E((function(e){return e+1}))}}))))},VideoIdValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.manualReviewRequired,l=e.idBackImageRequired,s=e.verifyIdWithExternalDatabases,d=e.bypassAgeValidation,c=e.bypassNameMatching,u=e.personalData,m=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,h=e.webhooksSendInputImages,v=e.webhooksSendProcessedImages,b=e.webhooksFireOnReview,_=e.onSubmit,y=e.onBeforeSubmit,C=e.onComplete,x=e.onExitCapture,R=e.onExitAfterFailure,E=e.onUserCancel,I=e.idCaptureProps,T=e.faceLivenessProps,w=e.idCaptureModelsEnabled,M=void 0===w||w,S=e.idCardFrontDetectionThreshold,D=void 0===S?.6:S,k=e.idCardFrontFocusThreshold,N=void 0===k?0:k,O=e.goodIdCardFrontFramesThreshold,j=void 0===O?1:O,A=e.idCardBackDetectionThreshold,L=void 0===A?.6:A,B=e.idCardBackFocusThreshold,F=void 0===B?0:B,P=e.goodIdCardBackFramesThreshold,$=void 0===P?1:P,z=e.readTextPrompt,U=e.readTextTimeoutDurationMs,G=void 0===U?15e3:U,W=e.skipSuccessScreen,V=void 0!==W&&W,H=e.skipIdCapture,q=void 0!==H&&H,Y=e.skipShowIdCardBack,Z=void 0!==Y&&Y,Q=e.idCaptureLoadingOverlayMode,X=void 0===Q?"default":Q,K=e.idCaptureGuideType,J=void 0===K?"fit":K,ee=e.idCapturePortraitGuidesOnMobile,te=void 0!==ee&&ee,ae=e.idCaptureRotateLoadingOverlayImageWhenPortrait,ne=void 0===ae||ae,re=e.faceLivenessLoadingOverlayMode,ie=void 0===re?"default":re,oe=e.theme,le=void 0===oe?"default":oe,se=e.assets,de=void 0===se?{}:se,ce=e.classNames,ue=void 0===ce?{}:ce,me=e.colors,fe=void 0===me?{}:me,pe=e.verbiage,ge=void 0===pe?{}:pe,he=e.captureSignature,ve=void 0!==he&&he,be=e.captureSignatureVideo,_e=void 0!==be&&be,ye=e.captureAdditionalDocuments,Ce=void 0===ye?[]:ye,xe=e.geolocationEnabled,Re=void 0===xe||xe,Ee=e.geolocationRequired,Ie=void 0!==Ee&&Ee,Te=e.debugMode,we=void 0!==Te&&Te;useLanguage(void 0===t?"auto":t);var Me=React.useMemo((function(){return{idCaptureProps:I,faceLivenessProps:T,idCaptureModelsEnabled:M,idCardFrontDetectionThreshold:D,idCardFrontFocusThreshold:N,goodIdCardFrontFramesThreshold:j,idCardBackDetectionThreshold:L,idCardBackFocusThreshold:F,goodIdCardBackFramesThreshold:$,readTextPrompt:z,readTextTimeoutDurationMs:G,onExitCapture:x,onExitAfterFailure:R,onUserCancel:E,skipSuccessScreen:V,skipIdCapture:q,skipShowIdCardBack:Z,idCaptureLoadingOverlayMode:X,idCaptureGuideType:J,idCapturePortraitGuidesOnMobile:te,idCaptureRotateLoadingOverlayImageWhenPortrait:ne,faceLivenessLoadingOverlayMode:ie,assets:de,classNames:ue,colors:fe,verbiage:ge,debugMode:we}}),[de,ue,fe,we,ie,T,$,j,J,X,M,te,I,ne,L,F,D,N,R,x,E,z,G,q,Z,V,ge]),Se=React.useMemo((function(){return{documents:Ce,classNames:ue.additionalDocumentCapture,verbiage:ge.additionalDocumentCapture}}),[Ce,ue.additionalDocumentCapture,ge.additionalDocumentCapture]),De=React.useMemo((function(){return{classNames:ue.signatureCapture,verbiage:ge.signatureCapture}}),[ue.signatureCapture,ge.signatureCapture]),ke=React.useMemo((function(){return{onExitCapture:x,onUserCancel:E,skipSuccessScreen:V,classNames:ue.videoSignatureCapture,colors:fe.videoSignatureCapture,verbiage:ge.videoSignatureCapture,debugMode:we}}),[ue.videoSignatureCapture,fe.videoSignatureCapture,we,x,E,V,ge.videoSignatureCapture]);return React__default.default.createElement(ThemeProvider,{theme:le},React__default.default.createElement(SubmissionProvider,{action:q?SubmissionAction.NONE:SubmissionAction.VALIDATE,url:n,token:a,companyId:r,needImmediateResponse:i,manualReviewRequired:o,idBackImageRequired:l,verifyIdWithExternalDatabases:s,bypassAgeValidation:d,bypassNameMatching:c,personalData:u,cardData:m,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,webhooksSendInputImages:h,webhooksSendProcessedImages:v,webhooksFireOnReview:b,onSubmit:_,onBeforeSubmit:y,onResponseReceived:C,geolocationEnabled:Re,geolocationRequired:Ie},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["VideoIdCapture"]}),[]),videoIdCaptureProps:Me,additionalDocumentCaptureProps:Se,signatureCaptureProps:De,videoSignatureCaptureProps:ke,captureSignature:ve,captureSignatureVideo:_e,debugMode:we})))},CustomerBiometricsEnrollment=function(e){var t=e.enrollmentId,a=e.lang,n=e.submissionToken,r=e.submissionUrl,i=e.companyId,o=e.needImmediateResponse,l=e.deduplicationEnabled,s=e.deduplicationSynchronous,d=e.webhooksEnabled,c=e.webhooksClientTraceId,u=e.webhooksStripSpecialCharacters,m=e.webhooksSendInputImages,f=e.webhooksSendProcessedImages,p=e.loadingOverlayMode,g=void 0===p?"default":p,h=e.timeoutDurationMs,v=void 0===h?15e3:h,b=e.modelLoadTimeoutMs,_=void 0===b?defaultSelfieCaptureModelLoadTimeoutMs:b,y=e.skipSuccessScreen,C=void 0!==y&&y,x=e.onBeforeSubmit,R=e.onSubmit,E=e.onComplete,I=e.onEnrolled,T=e.onDenied,w=e.onExitCapture,M=e.onExitAfterFailure,S=e.onUserCancel,D=e.onModelError,k=e.captureAdditionalDocuments,N=void 0===k?[]:k,O=e.captureSignature,j=void 0!==O&&O,A=e.captureSignatureVideo,L=void 0!==A&&A,B=e.theme,F=void 0===B?"default":B,P=e.assets,$=void 0===P?{}:P,z=e.classNames,U=void 0===z?{}:z,G=e.colors,W=void 0===G?{}:G,V=e.verbiage,H=void 0===V?{}:V,q=e.geolocationEnabled,Y=void 0===q||q,Z=e.geolocationRequired,Q=void 0!==Z&&Z,X=e.debugMode,K=void 0!==X&&X;useLanguage(void 0===a?"auto":a);var J=React.useMemo((function(){return{onExitCapture:w,onUserCancel:S,onExitAfterFailure:M,onModelError:D,timeoutDurationMs:v,modelLoadTimeoutMs:_,loadingOverlayMode:g,skipSuccessScreen:C,assets:$.faceLiveness,classNames:U.faceLiveness,colors:W.faceLiveness,verbiage:H.faceLiveness,debugMode:K}}),[$.faceLiveness,U.faceLiveness,W.faceLiveness,K,g,_,M,w,D,S,C,v,H.faceLiveness]),ee=React.useMemo((function(){return{documents:N,classNames:U.additionalDocumentCapture,verbiage:H.additionalDocumentCapture}}),[N,U.additionalDocumentCapture,H.additionalDocumentCapture]),te=React.useMemo((function(){return{classNames:U.signatureCapture,verbiage:H.signatureCapture}}),[U.signatureCapture,H.signatureCapture]),ae=React.useMemo((function(){return{onExitCapture:w,onUserCancel:S,skipSuccessScreen:C,classNames:U.videoSignatureCapture,colors:W.videoSignatureCapture,verbiage:H.videoSignatureCapture,debugMode:K}}),[U.videoSignatureCapture,W.videoSignatureCapture,K,w,S,C,H.videoSignatureCapture]),ne=React.useCallback((function(e,t){null==E||E(e,t),"Customer Onboarded"===e.resultData.verificationResult?null==I||I(e,t):null==T||T(e,t)}),[I,E,T]);return React__default.default.createElement(ThemeProvider,{theme:F},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.ENROLL,url:r,token:n,companyId:i,enrollmentId:t,needImmediateResponse:o,deduplicationEnabled:l,deduplicationSynchronous:s,webhooksEnabled:d,webhooksClientTraceId:c,webhooksStripSpecialCharacters:u,webhooksSendInputImages:m,webhooksSendProcessedImages:f,onBeforeSubmit:x,onSubmit:R,onResponseReceived:ne,geolocationEnabled:Y,geolocationRequired:Q},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:J,additionalDocumentCaptureProps:ee,signatureCaptureProps:te,videoSignatureCaptureProps:ae,captureSignature:j,captureSignatureVideo:L,debugMode:K})))},DocumentCapture=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.documentServiceUrl,i=e.onComplete,o=e.onDocumentUploaded,l=e.onExitCapture,s=e.onUserCancel,d=e.documents,c=void 0===d?[]:d,u=e.aspectRatio,m=e.cameraFeedMode,f=e.instructions,p=e.theme,g=void 0===p?"default":p,h=e.classNames,v=void 0===h?{}:h,b=e.verbiage,_=void 0===b?{}:b,y=e.geolocationEnabled,C=void 0===y||y,x=e.geolocationRequired,R=void 0!==x&&x,E=e.debugMode,I=void 0!==E&&E;return useLanguage(void 0===t?"auto":t),React__default.default.createElement(ThemeProvider,{theme:g},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.NONE,url:n,token:a,documentServiceUrl:r,geolocationEnabled:C,geolocationRequired:R},React__default.default.createElement(CameraProvider,{preferContinuityCamera:!0,debugMode:I},React__default.default.createElement(DocumentCaptureWizard,{onSuccess:i,onDocumentUploaded:o,onExitCapture:l,onUserCancel:s,documents:c,aspectRatio:u,cameraFeedMode:m,instructions:f,classNames:v,verbiage:_}))))};function renderElement(e,t){if("string"==typeof t){var a=document.querySelector(t);if(!a)throw new Error("targetElement ".concat(t," not found"));t=a}else t||(t=document.createElement("div"),document.body.append(t));var n=ReactDOM__namespace.createRoot(t);if(n.render(React__default.default.createElement(OverlayContainer,null,e)),"remove"in t){var r=t.remove;t.remove=function(){try{n.unmount(),r()}catch(e){}}}return t}function renderComponent(e,t,a){return a||(a=t,t=void 0),renderElement(React__default.default.createElement(e,tslib.__assign({},a)),t)}initializeI18n();var renderIdValidation=function(e,t){return renderComponent(IdValidation,e,t)},renderFaceValidation=function(e,t){return renderComponent(FaceValidation,e,t)},renderIdAndFaceValidation=function(e,t){return renderComponent(IdAndFaceValidation,e,t)},renderCustomerIdAndBiometricsEnrollment=function(e,t){return renderComponent(CustomerIdAndBiometricsEnrollment,e,t)},renderCustomerBiometricsEnrollment=function(e,t){return renderComponent(CustomerBiometricsEnrollment,e,t)},renderCustomerVerification=function(e,t){return renderComponent(CustomerVerification,e,t)},renderCustomerIdentification=function(e,t){return renderComponent(CustomerIdentification,e,t)},renderSignatureKYC=function(e,t){return renderComponent(SignatureKYC,e,t)},renderVideoIdValidation=function(e,t){return renderComponent(VideoIdValidation,e,t)},renderDocumentCapture=function(e,t){return renderComponent(DocumentCapture,e,t)};globalThis.IDmissionSDK={renderIdValidation:renderIdValidation,renderFaceValidation:renderFaceValidation,renderIdAndFaceValidation:renderIdAndFaceValidation,renderCustomerIdAndBiometricsEnrollment:renderCustomerIdAndBiometricsEnrollment,renderCustomerBiometricsEnrollment:renderCustomerBiometricsEnrollment,renderCustomerVerification:renderCustomerVerification,renderCustomerIdentification:renderCustomerIdentification,renderSignatureKYC:renderSignatureKYC,renderVideoIdValidation:renderVideoIdValidation,renderDocumentCapture:renderDocumentCapture,preloadModels:preloadModels,themes:themes,version:webSdkVersion,ready:!0},exports.CapturedDocumentImg=CapturedDocumentImg,exports.CustomerBiometricsEnrollment=CustomerBiometricsEnrollment,exports.CustomerIdAndBiometricsEnrollment=CustomerIdAndBiometricsEnrollment,exports.CustomerIdentification=CustomerIdentification,exports.CustomerVerification=CustomerVerification,exports.DocumentCapture=DocumentCapture,exports.FaceValidation=FaceValidation,exports.IdAndFaceValidation=IdAndFaceValidation,exports.IdValidation=IdValidation,exports.SignatureKYC=SignatureKYC,exports.VideoIdValidation=VideoIdValidation,exports.preloadModels=preloadModels,exports.renderCustomerBiometricsEnrollment=renderCustomerBiometricsEnrollment,exports.renderCustomerIdAndBiometricsEnrollment=renderCustomerIdAndBiometricsEnrollment,exports.renderCustomerIdentification=renderCustomerIdentification,exports.renderCustomerVerification=renderCustomerVerification,exports.renderDocumentCapture=renderDocumentCapture,exports.renderFaceValidation=renderFaceValidation,exports.renderIdAndFaceValidation=renderIdAndFaceValidation,exports.renderIdValidation=renderIdValidation,exports.renderSignatureKYC=renderSignatureKYC,exports.renderVideoIdValidation=renderVideoIdValidation,exports.themes=themes;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib=require("tslib"),React=require("react"),ReactDOM=require("react-dom/client"),platform=require("platform"),styled=require("styled-components"),reactI18next=require("react-i18next"),useResizeObserver=require("use-resize-observer"),tf=require("@tensorflow/tfjs"),tasksVision=require("@mediapipe/tasks-vision"),useDebounce=require("use-debounce"),LanguageDetector=require("i18next-browser-languagedetector"),i18n=require("i18next"),reactDom=require("react-dom"),SignatureCanvas=require("react-signature-canvas");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var SubmissionAction,SubmissionStatus,React__default=_interopDefaultLegacy(React),React__namespace=_interopNamespace(React),ReactDOM__namespace=_interopNamespace(ReactDOM),platform__default=_interopDefaultLegacy(platform),styled__default=_interopDefaultLegacy(styled),useResizeObserver__default=_interopDefaultLegacy(useResizeObserver),tf__namespace=_interopNamespace(tf),LanguageDetector__default=_interopDefaultLegacy(LanguageDetector),i18n__default=_interopDefaultLegacy(i18n),SignatureCanvas__default=_interopDefaultLegacy(SignatureCanvas),webSdkVersion="1.0.311";function getPlatform(){return"undefined"!=typeof window&&void 0!==window.platform?window.platform:platform__default.default}function dataUrlToBase64(e){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function dataUrlToBase64Sync(e){return e.replace(/^data:.*;base64,/,"")}function contentDispositionFromDataUrl(e){var t,a;return null!==(a=null===(t=e.match(/^(data:.*;base64),/))||void 0===t?void 0:t[1])&&void 0!==a?a:""}!function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}(SubmissionAction||(SubmissionAction={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(SubmissionStatus||(SubmissionStatus={}));var submissionHosts={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"};function parseJwt(e){var t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(a)}function determineSubmissionHost(e,t){if(t)switch(parseJwt(t).iss){case"https://auth.idmission.com/auth/realms/identity":return submissionHosts.prod;case"https://demoauth.idmission.com/auth/realms/identity":return submissionHosts.demo}var a=submissionHosts[e];if(!a)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return a}function determineSubmissionEndpoint(e,t,a,n){var r=n?"v4":"v3";switch(e){case SubmissionAction.ENROLL:return"/".concat(r,t?"/customer/enroll":"/customer/enroll-biometrics");case SubmissionAction.IDENTIFY:return"/".concat(r,"/customer/identify");case SubmissionAction.VALIDATE:return"/".concat(r,a?"/customer/validate-id-match-face":"/customer/validate-id");case SubmissionAction.VERIFY:return"/".concat(r,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}function liveCheckEndpoint(e){return"/".concat(e?"v4":"v3","/customer/live-check")}function apiHeaders(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function attachMetadataToRequest(e,t){var a,n,r=t.geolocationResult,i={selfie:t.selfieCaptureAttempts,front:t.idFrontCaptureAttempts,back:t.idBackCaptureAttempts,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_".concat(webSdkVersion),Resolution:"undefined"!=typeof window?"".concat(window.innerWidth," x ").concat(window.innerHeight):"unknown"},o=getPlatform();o&&(i.os=null===(a=o.os)||void 0===a?void 0:a.family,i.osVersion=null===(n=o.os)||void 0===n?void 0:n.version,i.browserVersion="".concat(o.name," ").concat(o.version)),r&&(i.GeoLocation=JSON.stringify(r)),e.additionalData.metadata=JSON.stringify(i)}function videoDataUrlToB64(e){return new Promise((function(t){var a=new FileReader;a.onloadend=function(){t(dataUrlToBase64Sync(a.result))},fetch(e).then((function(e){return e.blob()})).then((function(e){return a.readAsDataURL(e)}))}))}var templateObject_1$F,PageContainerDiv=styled__default.default.div(templateObject_1$F||(templateObject_1$F=tslib.__makeTemplateObject(["\n ","\n\n ","\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"],["\n ","\n\n ","\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"])),(function(e){var t;return!1===e.theme.isFullscreen?"":"\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ".concat(null!==(t=e.$heightOffset)&&void 0!==t?t:0,"px\n );\n overflow-x: hidden;\n overflow-y: auto;\n ")}),(function(e){return e.theme.fontFamily?"font-family: ".concat(e.theme.fontFamily,";"):""})),PageContainer=React.forwardRef((function(e,t){var a=e.children,n=e.className,r=e.heightOffset,i=void 0===r?0:r,o=e.style,l=e.onClick,s=React.useState(!1),d=s[0],c=s[1];return React.useEffect((function(){if("undefined"!=typeof window){c(!1);var e=function(){var e=document.documentElement;e.style.setProperty("--app-width","".concat(window.innerWidth,"px")),e.style.setProperty("--app-height","".concat(window.innerHeight,"px"))};return window.addEventListener("resize",e),e(),c(!0),function(){window.removeEventListener("resize",e)}}}),[]),React__default.default.createElement(PageContainerDiv,{ref:t,style:o,onClick:l,className:n,$heightOffset:i},d&&a)}));PageContainer.displayName="PageContainer";var templateObject_1$E,templateObject_2$r,templateObject_3$k,templateObject_4$f,templateObject_1$D,OverlayContainer=styled__default.default(PageContainer)(templateObject_1$E||(templateObject_1$E=tslib.__makeTemplateObject(["\n background: ",";\n ","\n z-index: 10000;\n"],["\n background: ",";\n ","\n z-index: 10000;\n"])),(function(e){return e.theme.background?"".concat(e.theme.background):"white"}),(function(e){return e.theme.textColor?"color: ".concat(e.theme.textColor,";"):""})),OverlayInner$2=styled__default.default.div(templateObject_2$r||(templateObject_2$r=tslib.__makeTemplateObject(["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n max-height: var(--app-height);\n height: 100%;\n ","\n"],["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n max-height: var(--app-height);\n height: 100%;\n ","\n"])),(function(e){var t;return null!==(t=e.theme.textAlign)&&void 0!==t?t:"center"}),(function(e){return e.theme.padding?"box-sizing: border-box; padding: ".concat(e.theme.padding,";"):""})),OverlayImageContainer=styled__default.default.div(templateObject_3$k||(templateObject_3$k=tslib.__makeTemplateObject(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"],["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"]))),OverlayImageRow=styled__default.default.div(templateObject_4$f||(templateObject_4$f=tslib.__makeTemplateObject(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"],["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"]))),LoaderButton=function(e){var t=e.children,a=e.className,n=e.colors,r=void 0===n?{}:n,i=e.disabled,o=e.finished,l=e.onClick,s=e.style,d=e.variant,c=void 0===d?"primary":d,u=React.useRef(null),m=React.useRef(null),f=React.useState(!1),p=f[0],g=f[1];return React.useEffect((function(){var e;return Promise.resolve().then((function(){return _interopNamespace(require("ladda"))})).then((function(t){if(u.current){m.current=t.create(u.current),m.current.start(),g(!0);var a=0;e=setInterval((function(){var e;a<.9&&(a+=.1),null===(e=m.current)||void 0===e||e.setProgress(a)}),250)}})),function(){var t;null===(t=m.current)||void 0===t||t.remove(),clearInterval(e)}}),[]),React.useEffect((function(){var e;p&&o&&(null===(e=m.current)||void 0===e||e.stop())}),[o,p]),React__default.default.createElement(StyledButton,{className:"ladda-button ".concat(a),"data-style":"expand-right",disabled:i,ref:u,onClick:l,$backgroundColor:r.backgroundColor,$textColor:r.textColor,$disabledBackgroundColor:r.loadingBackgroundColor,$disabledTextColor:r.loadingTextColor,$variant:c,style:s},React__default.default.createElement("span",{className:"ladda-label"},t))},StyledButton=styled__default.default.button(templateObject_1$D||(templateObject_1$D=tslib.__makeTemplateObject(["\n ","\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n @keyframes ladda-spinner-line-fade {\n 0%,\n 100% {\n opacity: 0.22;\n }\n 1% {\n opacity: 1;\n }\n }\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"],["\n ","\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n @keyframes ladda-spinner-line-fade {\n 0%,\n 100% {\n opacity: 0.22;\n }\n 1% {\n opacity: 1;\n }\n }\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"])),(function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b,_,y;return"bootstrap"===(null===(t=e.theme.buttons)||void 0===t?void 0:t.style)&&"\n border-radius: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n \n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n \n &:focus:not(:focus-visible) {\n outline: 0;\n }\n \n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n //transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,\n // border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n \n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n \n &:hover {\n filter: brightness(1.15);\n }\n \n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n \n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n \n --bs-btn-color: ".concat(null!==(o=null!==(a=e.$textColor)&&void 0!==a?a:null===(i=null===(n=e.theme.buttons)||void 0===n?void 0:n[null!==(r=e.$variant)&&void 0!==r?r:"primary"])||void 0===i?void 0:i.textColor)&&void 0!==o?o:"#fff",";\n --bs-btn-bg: ").concat(null!==(u=null!==(l=e.$backgroundColor)&&void 0!==l?l:null===(c=null===(s=e.theme.buttons)||void 0===s?void 0:s[null!==(d=e.$variant)&&void 0!==d?d:"primary"])||void 0===c?void 0:c.backgroundColor)&&void 0!==u?u:"#0d6efd",";\n --bs-btn-border-color: var(--bs-btn-bg);\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ").concat(null!==(g=null!==(m=e.$disabledTextColor)&&void 0!==m?m:null===(p=null===(f=e.theme.buttons)||void 0===f?void 0:f.loading)||void 0===p?void 0:p.textColor)&&void 0!==g?g:"#fff",";\n --bs-btn-disabled-bg: ").concat(null!==(_=null!==(h=e.$disabledBackgroundColor)&&void 0!==h?h:null===(b=null===(v=e.theme.buttons)||void 0===v?void 0:v.loading)||void 0===b?void 0:b.backgroundColor)&&void 0!==_?_:"gray",";\n --bs-btn-disabled-border-color: ").concat(null!==(y=e.$disabledBackgroundColor)&&void 0!==y?y:"#0d6efd",";\n \n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n ")})),GeolocationAccessDeniedOverlay=function(e){var t=e.accessBlockedImageUrl,a=reactI18next.useTranslation().t,n=React.useContext(SubmissionContext).retryLocationAccess;return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement("div",{style:{display:"flex",height:"100%"}},React__default.default.createElement(OverlayInner$2,{style:{maxWidth:500,height:"auto",margin:"auto"}},React__default.default.createElement(OverlayImageContainer,{style:{flexGrow:0}},React__default.default.createElement("img",{src:t,alt:""})),React__default.default.createElement("h3",null,a("Your location access is disabled")),React__default.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},a("This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.")),React__default.default.createElement(LoaderButton,{variant:"primary",onClick:n,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},a("Retry")))))},SubmissionError=function(e){function t(t){var a=e.call(this,t.statusMessage)||this;return a.status=t,a}return tslib.__extends(t,e),t}(Error),NetworkError=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tslib.__extends(t,e),t}(Error),TokenPublicKeyError=function(e){function t(t,a){var n=e.call(this,t.message)||this;return n.err=t,n.host=a,n}return tslib.__extends(t,e),t}(Error),SubmissionErrorOverlay=function(e){var t=e.error;return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},t instanceof NetworkError?React__default.default.createElement(NetworkErrorContent,{error:t,onRetry:e.onRetry}):React__default.default.createElement(SubmissionErrorContent,{error:t})))},SubmissionErrorContent=function(e){var t=e.error,a=(0,reactI18next.useTranslation().t)("We're sorry, an unexpected error has occurred.");return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("h3",{style:{marginBottom:8}},a),t.status.statusCode&&React__default.default.createElement("p",{style:{marginBottom:0}},React__default.default.createElement("code",null,"Status: ",t.status.statusCode)),React__default.default.createElement("p",{style:{marginBottom:0}},"Message: ",React__default.default.createElement("code",null,t.message)),t.status.errorData&&React__default.default.createElement("p",{style:{marginBottom:0}},"Data: ",React__default.default.createElement("code",null,t.status.errorData)))},NetworkErrorContent=function(e){var t=e.onRetry,a=reactI18next.useTranslation().t,n=a("Network unreachable"),r=a("We're having trouble reaching our services, please check your connection and try again."),i=a("Retry");return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("h3",{style:{marginBottom:8}},n),React__default.default.createElement("p",{style:{marginBottom:0}},r),t&&React__default.default.createElement("div",{style:{marginTop:32}},React__default.default.createElement(LoaderButton,{variant:"warning",finished:!0,onClick:t},i)))},TokenMissingErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," is missing."),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},TokenInvalidFormatErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," is invalid."),React__default.default.createElement("p",null,"JSON Web Tokens consist of three parts separated by dots (",React__default.default.createElement("code",null,"."),"), which are:"),React__default.default.createElement("div",{style:{display:"flex"}},React__default.default.createElement("ul",{style:{display:"inline",margin:"0 auto"}},React__default.default.createElement("li",null,"Header"),React__default.default.createElement("li",null,"Payload"),React__default.default.createElement("li",null,"Signature"))),React__default.default.createElement("p",null,"Therefore, a JWT typically looks like the following:"," ",React__default.default.createElement("code",null,"xxxxx.yyyyy.zzzzz")),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},TokenInvalidSignatureErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," could not be validated."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"The signature of your token could not be validated. Check your token generation routine, it's possible that some malicious behavior is at play. This can also happen if you attempt to manually modify your token before passing it to the IDmission WebSDK."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"If you believe you have reached this page in error, please contact us at ",React__default.default.createElement("a",{href:"mailto:support@idmission.com"},"support@idmission.com"),".")))},TokenExpiredErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," is expired."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"Ensure you are generating a fresh token for each request to the IDmission WebSDK."),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},TokenPublicKeyErrorOverlay=function(e){var t=e.error;return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},(null==t?void 0:t.host)?React__default.default.createElement(React__default.default.Fragment,null,"Failed to reach ",React__default.default.createElement("code",null,t.host),"."):React__default.default.createElement(React__default.default.Fragment,null,"Failed to obtain public key for ",React__default.default.createElement("code",null,"submissionToken"),".")),(null==t?void 0:t.message)&&React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},React__default.default.createElement("code",null,t.message)),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"Please ensure that IDmission's servers can be reached. If you believe you have reached this page in error, please contact us at"," ",React__default.default.createElement("a",{href:"mailto:support@idmission.com"},"support@idmission.com"),".")))},TokenIssuerNotAllowedErrorOverlay=function(){return React__default.default.createElement(OverlayContainer,null,React__default.default.createElement(OverlayInner$2,{style:{justifyContent:"center"}},React__default.default.createElement("h3",{style:{marginBottom:8}},"IDmission WebSDK failed to load"),React__default.default.createElement("p",{style:{marginBottom:0}},"Required property ",React__default.default.createElement("code",null,"submissionToken")," comes from an unrecognized issuer."),React__default.default.createElement("p",{style:{marginBottom:0,lineHeight:"1.5rem"}},"Ensure you are generating a fresh token for each request to the IDmission WebSDK."),React__default.default.createElement("p",{style:{lineHeight:"1.5rem"}},"Please refer to the"," ",React__default.default.createElement("a",{href:"https://www.npmjs.com/package/idmission-web-sdk#getting-started",target:"_blank",rel:"noreferrer"},"Getting Started")," ","section of the documentation for information on how to use your credentials to generate a valid"," ",React__default.default.createElement("a",{href:"https://jwt.io",target:"_blank",rel:"noreferrer"},"JSON Web Token")," ","for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid JWT from IDmission's servers.")))},allowedTokenIssuers=["https://demoauth.idmission.com/","https://uatauth.idmission.com/","https://auth.idmission.com/"],SubmissionContext=React.createContext({submit:function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){return[2,null]}))}))},submissionStatus:SubmissionStatus.READY,submissionRequest:null,submissionResponse:null,submissionError:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,signatureVideoUrl:null,idCaptureVideoUrl:null,idCaptureVideoIdFrontImage:null,idCaptureVideoIdBackImage:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setSignatureVideoUrl:function(){return null},setIdCaptureVideoUrl:function(){return null},setIdCaptureVideoIdFrontImage:function(){return null},setIdCaptureVideoIdBackImage:function(){return null},setAdditionalDocuments:function(){return null},uploadDocument:Promise.resolve,logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},livenessCheckRequest:null,checkLiveness:function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}}),SubmissionProvider=function(e){var t=e.action,a=e.children,n=e.url,r=e.environment,i=void 0===r?"prod":r,o=e.token,l=e.companyId,s=e.enrollmentId,d=e.personalData,c=e.cardData,u=e.bypassAgeValidation,m=void 0!==u&&u,f=e.bypassNameMatching,p=void 0===f||f,g=e.needImmediateResponse,h=void 0!==g&&g,v=e.manualReviewRequired,b=void 0!==v&&v,_=e.idBackImageRequired,y=void 0===_||_,C=e.idImageResolutionCheck,x=void 0===C||C,R=e.verifyIdWithExternalDatabases,E=void 0!==R&&R,I=e.deduplicationEnabled,T=void 0!==I&&I,w=e.deduplicationSynchronous,M=void 0!==w&&w,S=e.geolocationEnabled,D=void 0===S||S,k=e.geolocationRequired,N=void 0!==k&&k,O=e.webhooksEnabled,j=void 0!==O&&O,A=e.webhooksClientTraceId,L=e.webhooksStripSpecialCharacters,B=void 0===L||L,F=e.webhooksSendInputImages,P=void 0!==F&&F,$=e.webhooksSendProcessedImages,z=void 0!==$&&$,U=e.webhooksFireOnReview,G=void 0!==U&&U,W=e.precapturedDocuments,V=e.documentServiceUrl,H=void 0===V?"https://portal-api-dev.idmission.com/files/":V,q=e.onSubmit,Y=e.onBeforeSubmit,Z=e.onBeforeLivenessCheck,Q=e.onResponseReceived,X=e.onRequestFailure,K=React.useState(SubmissionStatus.READY),J=K[0],ee=K[1],te=React.useState(null),ae=te[0],ne=te[1],re=React.useState(null),ie=re[0],oe=re[1],le=React.useState(null),se=le[0],de=le[1],ce=React.useState(null),ue=ce[0],me=ce[1],fe=React.useState(null),pe=fe[0],ge=fe[1],he=React.useState(null),ve=he[0],be=he[1],_e=React.useState(null),ye=_e[0],Ce=_e[1],xe=React.useState(null),Re=xe[0],Ee=xe[1],Ie=React.useState(null),Te=Ie[0],we=Ie[1],Me=React.useState(null),Se=Me[0],De=Me[1],ke=React.useState(null),Ne=ke[0],Oe=ke[1],je=React.useState(null),Ae=je[0],Le=je[1],Be=React.useState(null),Fe=Be[0],Pe=Be[1],$e=React.useState(null),ze=$e[0],Ue=$e[1],Ge=React.useState(null),We=Ge[0],Ve=Ge[1],He=React.useState(null),qe=He[0],Ye=He[1],Ze=React.useState(0),Qe=Ze[0],Xe=Ze[1],Ke=React.useState(!1),Je=Ke[0],et=Ke[1],tt=React.useState([]),at=tt[0],nt=tt[1],rt=React.useState([]),it=rt[0],ot=rt[1],lt=React.useState([]),st=lt[0],dt=lt[1],ct=React.useCallback((function(e){nt((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}),[]),ut=React.useCallback((function(e){ot((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}),[]),mt=React.useCallback((function(e){dt((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}),[]);React.useEffect((function(){(null==W?void 0:W.selfie)&&we(dataUrlToBase64Sync(W.selfie.imageData))}),[null==W?void 0:W.selfie]);var ft=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e,a,n,r,i,o;return tslib.__generator(this,(function(u){switch(u.label){case 0:return e={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:b?"Y":"N",bypassAgeValidation:m?"Y":"N",bypassNameMatching:p?"Y":"N",postDataAPIRequired:j?"Y":"N",postDataOnReviewRequired:G?"Y":"N",sendInputImagesInPost:P?"Y":"N",sendProcessedImagesInPost:z?"Y":"N",needImmediateResponse:h?"Y":"N",deDuplicationRequired:T?"Y":"N",deduplicationSynchronous:M?"Y":"N",verifyDataWithHost:E?"Y":"N",idBackImageRequired:y?"Y":"N",stripSpecialCharacters:B?"Y":"N",idImageResolutionCheck:x?"Y":"N"}},ve&&(e.customerData.idData.idImageFront=ve),ye&&(e.customerData.idData.idImageBack=ye),Re&&(e.customerData.idData.idImageFront=Re),Te&&(t===SubmissionAction.IDENTIFY&&(e.biometricData={selfie:Te}),e.customerData.biometricData={selfie:Te}),l&&(e.employee={companyId:l}),d&&(e.customerData.personalData=d),c&&(e.customerData.cardData=c),s&&((i=e.customerData).personalData||(i.personalData={}),e.customerData.personalData.uniqueNumber=s),A&&(e.additionalData.clientTraceId=A),Se?(e.customerData.signatureData={signatureImage:JSON.stringify(Se)},Ne?(a=e.customerData.signatureData,[4,videoDataUrlToB64(Ne)]):[3,2]):[3,2];case 1:a.signatureVideo=u.sent(),u.label=2;case 2:return We&&(e.customerData.additionalDocuments=We.map((function(t){return tslib.__assign(tslib.__assign({},t),{additionalDocument:JSON.stringify(tslib.__assign(tslib.__assign({},t.additionalDocument),{uniqueId:e.additionalData.uniqueRequestId}))})}))),Ae?((o=e.customerData).biometricData||(o.biometricData={}),n=e.customerData.biometricData,[4,videoDataUrlToB64(Ae)]):[3,4];case 3:n.videoData=u.sent(),u.label=4;case 4:return Fe&&(e.customerData.idData.videoIdImageFront=dataUrlToBase64Sync(Fe)),ze&&(e.customerData.idData.videoIdImageBack=dataUrlToBase64Sync(ze)),attachMetadataToRequest(e,{selfieCaptureAttempts:st,idFrontCaptureAttempts:at,idBackCaptureAttempts:it,geolocationResult:qe}),Y?[4,Y(e)]:[3,6];case 5:(r=u.sent())&&(e=r),u.label=6;case 6:return[2,e]}}))}))}),[t,We,m,p,c,l,T,M,s,qe,it,ye,y,ze,Fe,Ae,at,ve,x,b,h,Y,Re,d,st,Te,Se,Ne,E,A,j,G,P,z,B]),pt=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e,a,r,l,s,d,c,u,m,f;return tslib.__generator(this,(function(p){switch(p.label){case 0:if(t===SubmissionAction.NONE)return e={status:{statusCode:"000"},resultData:{}},ee(SubmissionStatus.SUBMITTED),oe(e),[2,e];ee(SubmissionStatus.SUBMITTING),p.label=1;case 1:return p.trys.push([1,7,,8]),[4,ft()];case 2:return a=p.sent(),r=n||determineSubmissionHost(i,o),l=determineSubmissionEndpoint(t,!!(ve||ye||Re),!!Te,!!o),[4,fetch(r+l,{method:"POST",headers:apiHeaders(o),body:JSON.stringify(a)}).catch((function(e){throw new NetworkError(e.message)}))];case 3:return(s=p.sent())&&s.ok?[3,5]:[4,null==s?void 0:s.text()];case 4:if(!(d=p.sent())||"Load failed"===d)throw new NetworkError(d);throw new SubmissionError({statusCode:null!==(f=null==s?void 0:s.statusText)&&void 0!==f?f:"???",statusMessage:d});case 5:return[4,s.json()];case 6:if("000"!==(c=p.sent()).status.statusCode)throw new SubmissionError(c.status);return ne(a),oe(c),ee(SubmissionStatus.SUBMITTED),null==Q||Q(c,a),[2,c];case 7:throw u=p.sent(),m=u,ee(SubmissionStatus.FAILED),de(u instanceof SubmissionError||u instanceof NetworkError?u:"Load failed"===m.message?new NetworkError:new SubmissionError({statusCode:"",statusMessage:m.message})),me((function(){return["VERIFY","IDENTIFY"].includes(t)?function(){return null}:pt})),null==X||X(m),m;case 8:return[2]}}))}))}),[t,ft,i,ye,ve,X,Q,Re,Te,o,n]),gt=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return q?(e=q,[4,ft()]):[3,2];case 1:return[2,e.apply(void 0,[t.sent()])];case 2:return[4,pt()];case 3:return[2,t.sent()]}}))}))}),[ft,pt,q]),ht=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t,a,r,l,s,d,c,u,m,f,p,g;return tslib.__generator(this,(function(h){switch(h.label){case 0:return h.trys.push([0,8,,9]),f={securityData:{userName:"",password:"",merchantId:0}},p={},g={},[4,dataUrlToBase64(e)];case 1:return f.customerData=(p.biometricData=(g.selfie=h.sent(),g),p),f.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:B?"Y":"N",estimateAge:"N",predictGender:"N"},attachMetadataToRequest(t=f,{selfieCaptureAttempts:st,idFrontCaptureAttempts:at,idBackCaptureAttempts:it,geolocationResult:qe}),ge(t),Z?[4,Z(t)]:[3,3];case 2:(a=h.sent())&&(t=a),h.label=3;case 3:return r=n||determineSubmissionHost(i,o),l=liveCheckEndpoint(!!o),[4,fetch(r+l,{method:"POST",headers:apiHeaders(o),body:JSON.stringify(t)}).catch((function(e){throw new NetworkError(e.message)}))];case 4:return(s=h.sent()).ok?[3,6]:[4,s.text()];case 5:if(!(d=h.sent())||"Load failed"===d)throw new NetworkError(d);throw new SubmissionError({statusCode:s.statusText,statusMessage:d});case 6:return[4,s.json()];case 7:if("000"!==(c=h.sent()).status.statusCode)throw new SubmissionError(c.status);return oe(c),[2,c];case 8:throw u=h.sent(),m=u,ee(SubmissionStatus.FAILED),de(u instanceof SubmissionError||u instanceof NetworkError?u:"Load failed"===m.message?new NetworkError:new SubmissionError({statusCode:"",statusMessage:m.message})),me((function(){return function(){return null}})),null==X||X(m),m;case 9:return[2]}}))}))}),[i,qe,it,at,Z,X,st,o,n,B]),vt=React.useCallback((function(){Xe((function(e){return e+1}))}),[]);React.useEffect((function(){D&&(console.log("making geolocation attempt",Qe),navigator.geolocation.getCurrentPosition((function(e){Ye(e),et(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);et(!0)})))}),[Qe,D,N]);var bt=React.useCallback((function(){ue&&(de(null),ee(SubmissionStatus.READY),ue())}),[ue]),_t=React.useState("NOT_PARSED"),yt=_t[0],Ct=_t[1],xt=React.useState(null),Rt=xt[0],Et=xt[1];React.useEffect((function(){"undefined"!=typeof window&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n,r,i,l,s,d;return tslib.__generator(this,(function(c){switch(c.label){case 0:if(Ct("PARSING"),!o)return[2,Ct("MISSING")];try{e=parseJwt(o)}catch(e){return console.error("error parsing token",e),[2,Ct("INVALID_FORMAT")]}if(t=e.iss,!allowedTokenIssuers.some((function(e){return t.startsWith(e)})))return console.error("issuer is not allowed",t),[2,Ct("ISSUER_NOT_ALLOWED")];c.label=1;case 1:return c.trys.push([1,4,,5]),[4,fetch(t).then((function(e){return e.json()}))];case 2:return n=c.sent(),[4,importRsaKey("-----BEGIN PUBLIC KEY-----\n".concat(n.public_key,"\n-----END PUBLIC KEY-----"))];case 3:return a=c.sent(),[3,5];case 4:return r=c.sent(),console.error("error fetching public key",r),Et(new TokenPublicKeyError(r,t)),[2,Ct("PUBLIC_KEY_LOAD_FAILED")];case 5:i=!1,c.label=6;case 6:return c.trys.push([6,8,,9]),l=o.split("."),[4,window.crypto.subtle.verify({name:"RSASSA-PKCS1-v1_5"},a,str2ab(l[1]),str2ab(l[2]))];case 7:return c.sent(),i=!0,[3,9];case 8:return s=c.sent(),console.error("error validating token",s),[3,9];case 9:return i?(d=e.exp,Date.now()>=1e3*d?[2,Ct("EXPIRED")]:(Ct("GOOD"),[2])):[2,Ct("INVALID_SIGNATURE")]}}))}))}),[o]);var It=React.useCallback((function(e){return new Promise((function(t,a){Promise.resolve().then((function(){return _interopNamespace(require("tus-js-client"))})).then((function(n){var r=new n.Upload(e,{endpoint:H,retryDelays:[0,3e3,5e3,1e4,2e4],metadata:{filename:"My File",filetype:"image/jpeg"},headers:{Authorization:"Bearer ".concat(o)},onProgress:function(e,t){var a=(e/t*100).toFixed(2);console.log(e,t,a+"%")},onSuccess:function(){var e;console.log("Download from %s",r.url),t("urn:documentsv1:"+(null===(e=r.url.split("/files/").pop())||void 0===e?void 0:e.split("+").shift()))},onError:function(e){console.log("Failed because: "+e),a(e)}});r.findPreviousUploads().then((function(e){e.length&&r.resumeFromPreviousUpload(e[0]),r.start()}))}))}))}),[H,o]),Tt={submit:gt,submissionStatus:J,submissionRequest:ae,submissionResponse:ie,submissionError:se,submissionEnvironment:i,idFrontImage:ve,idBackImage:ye,passportImage:Re,selfieImage:Te,signatureData:Se,signatureVideoUrl:Ne,idCaptureVideoUrl:Ae,idCaptureVideoIdFrontImage:Fe,idCaptureVideoIdBackImage:ze,additionalDocuments:We,setIdFrontImage:be,setIdBackImage:Ce,setPassportImage:Ee,setSelfieImage:we,setSignatureData:De,setSignatureVideoUrl:Oe,setIdCaptureVideoUrl:Le,setIdCaptureVideoIdFrontImage:Pe,setIdCaptureVideoIdBackImage:Ue,setAdditionalDocuments:Ve,uploadDocument:It,logIdFrontCaptureAttempt:ct,logIdBackCaptureAttempt:ut,logSelfieCaptureAttempt:mt,livenessCheckRequest:pe,checkLiveness:ht,retryLocationAccess:vt};return"MISSING"===yt?React__default.default.createElement(TokenMissingErrorOverlay,null):"INVALID_FORMAT"===yt?React__default.default.createElement(TokenInvalidFormatErrorOverlay,null):"INVALID_SIGNATURE"===yt?React__default.default.createElement(TokenInvalidSignatureErrorOverlay,null):"EXPIRED"===yt?React__default.default.createElement(TokenExpiredErrorOverlay,null):"PUBLIC_KEY_LOAD_FAILED"===yt?React__default.default.createElement(TokenPublicKeyErrorOverlay,{error:Rt}):"ISSUER_NOT_ALLOWED"===yt?React__default.default.createElement(TokenIssuerNotAllowedErrorOverlay,null):React__default.default.createElement(SubmissionContext.Provider,{value:Tt},N&&Je?React__default.default.createElement(GeolocationAccessDeniedOverlay,null):a,se&&React__default.default.createElement(SubmissionErrorOverlay,{error:se,onRetry:bt}))};function str2ab(e){for(var t=new ArrayBuffer(e.length),a=new Uint8Array(t),n=0,r=e.length;n<r;n++)a[n]=e.charCodeAt(n);return t}function importRsaKey(e){if("undefined"==typeof window)throw new Error("window cannot be undefined");var t=e.substring("-----BEGIN PUBLIC KEY-----".length,e.length-"-----END PUBLIC KEY-----".length-1),a=str2ab(window.atob(t));return window.crypto.subtle.importKey("spki",a,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!0,["verify"])}function getNativeBarcodeReaderResult(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return"BarcodeDetector"in window?(t=new BarcodeDetector({formats:["pdf417"]}),console.log("this is a real native result!"),[4,t.detect(e)]):[2,[]];case 1:return[2,a.sent()]}}))}))}function getZxingBarcodeReaderResult(e,t){return void 0===t&&(t=!1),tslib.__awaiter(this,void 0,void 0,(function(){var a,n,r,i,o,l,s,d,c;return tslib.__generator(this,(function(u){switch(u.label){case 0:return[4,new Promise((function(o){if(r=e.naturalWidth,i=e.naturalHeight,a=document.createElement("canvas"),!(n=a.getContext("2d")))return[];if(t){console.log("rotating!!"),a.width=i,a.height=r,n.setTransform(0,1,-1,0,a.width,0),n.drawImage(e,0,0,r,i);var l=new Image;l.width=a.width,l.height=a.height,l.onload=function(){o(l)},a.toBlob((function(e){e&&(l.src=URL.createObjectURL(e))}))}else n.drawImage(e,0,0,a.width,a.height),o(e)}))];case 1:return o=u.sent(),l=new ZXing.BitmapLuminanceSource(n,o),s=new ZXing.Common.HybridBinarizer(l),d=new ZXing.BinaryBitmap(s),c=ZXing.PDF417.PDF417Reader.decode(d,null,!1),n.clearRect(0,0,a.width,a.height),a.remove(),[2,c]}}))}))}function supportsNativeBarcodeScanning(){return"BarcodeDetector"in window}function scanBarcode(e,t){var a=this;return new Promise((function(n){var r=new Image;r.onload=function(){return tslib.__awaiter(a,void 0,void 0,(function(){var e,a,i,o;return tslib.__generator(this,(function(l){switch(l.label){case 0:return supportsNativeBarcodeScanning()?[4,getNativeBarcodeReaderResult(r)]:[3,2];case 1:return a=l.sent(),console.log("native result",a,"".concat(r.width,"x").concat(r.height)),n(a.length>0?tslib.__assign(tslib.__assign({},a[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(i=null==t?void 0:t[2])&&void 0!==i?i:0)<(null!==(o=null==t?void 0:t[3])&&void 0!==o?o:0),[4,getZxingBarcodeReaderResult(r,e)];case 3:a=l.sent(),console.log("zxing result",a),n(a.length>0?tslib.__assign(tslib.__assign({},a[0]),{Source:"zxing"}):null),l.label=4;case 4:return[2]}}))}))},r.src=URL.createObjectURL(e)}))}function getFrameDimensions(e){var t=e.width,a=e.height;return e instanceof HTMLImageElement&&(t=e.naturalWidth,a=e.naturalHeight),e instanceof HTMLVideoElement&&(t=e.videoWidth,a=e.videoHeight),[t,a]}var templateObject_1$C,InvisibleCanvas=styled__default.default.canvas(templateObject_1$C||(templateObject_1$C=tslib.__makeTemplateObject(["\n display: none;\n"],["\n display: none;\n"])));function drawToCanvas(e,t,a,n){if(e){var r=e.getContext("2d");if(r){if(!a||!n){var i=getFrameDimensions(t);a||(a=i[0]),n||(n=i[1])}e.width=a,e.height=n,r.drawImage(t,0,0,a,n)}}}function clearCanvas(e){if(e){var t=e.getContext("2d");t&&t.clearRect(0,0,e.width,e.height)}}function listAvailableCameras(e,t){return void 0===t&&(t=!1),tslib.__awaiter(this,void 0,void 0,(function(){var a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:return[4,navigator.mediaDevices.getUserMedia({video:{facingMode:{exact:e}},audio:t})];case 1:return a=r.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:return n=r.sent().filter((function(e){return"videoinput"===e.kind})),a.getVideoTracks().forEach((function(e){e.enabled=!1,e.stop()})),a=null,[2,n]}}))}))}var currentCamera,frontLabels=["front","avant","anteriore","cameraaanvoorzijde","kamerapåframsidan","forsidekamera","kamerapåforsiden","aparatprzedni","etukamera","kameradepan","ÖnKamera","cameramặttrước","camerăfață","prednákamera","prednjakamera","előlapikamera","přednífotoaparát","μπροστινήκάμερα","переднякамера","передняякамера","преднакамера","алдыңғыкамера","מצלמה קדמית","الكاميرا الأمامية","फ़्रंटकैमरा","前置相机","前置鏡頭","前面カメラ","전면카메라","กล้องด้านหน้า"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),rearLabels=["back","rear","posterior","trasera","traseira","arrière","rückkamera","fotocamera(posteriore)","cameraaanachterzijde","kamerapåbaksidan","kamerapåbaksiden","bagsidekamera","aparattylny","takakamera","arkakamera","kamerabelakang","cameramặtsau","camerăspate","stražnjakamera","zadnákamera","hátoldalikamera","zadnífotoaparát","πίσωκάμερα","заднякамера","Задняякамера","заднакамера","артқыкамера","מצלמה אחורית","الكاميرا الخلفية","बैककैमरा","后置相机","後置鏡頭","背面カメラ","후면카메라","กล้องด้านหลัง"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),backUltraWideLabels=["backdualwidecamera","backultrawidecamera","ultraampliaposterior","ultra-angulartraseira","ultragrandeangulartraseira","ultragrandangle","ultragranangular","ultra-weitwinkelkamera","ultra-grandangolo","ultrabredecameraaanachterzijde","ultravidvinkelkamerapåbaksidan","ultravidvinkelkameraetpåbagsiden","ultravidvinkelkamerabak","ultragenişkameraarkayüzü","ultralaajakulmainentakakamera","tylnyaparatultraszerokokątny","cameracựcrộngmặtsau","camerăcuobiectivultra‑superangularspate","ultraszéleslátószögűkamera","kameraultralebarbelakang","stražnjaultraširokakamera","zadníultraširokoúhlýfotoaparát","ultraširokouhlá","πίσωυπερευρείακάμερα","заднянадширококутнакамера","Задняясверхширокоугольнаякамера","Задна свръх широкоъгълна камера","артқыультракеңбұрыштыкамера","מצלמה אולטרה רחבה אחורית","كاميرا خلفية عريضة جدًا","बैकअल्ट्रावाइडकैमरा","后置超广角相机","後置超廣角鏡頭相機","背面超広角カメラ","후면울트라와이드카메라","กล้องด้านหลังอัลตร้าไวด์"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),labelMatches=function(e,t){var a=e instanceof MediaDeviceInfo?getDeviceLabel(e):e;return("string"==typeof t?[t]:t).some((function(e){return a.includes(e)}))},getDeviceLabel=function(e){return e.label.toLocaleLowerCase().split(" ").join("")};function obtainCameraAccess(e,t,a){releaseCameraAccess(),console.log("obtaining camera access...");var n=e.getVideoTracks()[0].getSettings(),r=n.width,i=n.height,o=t.toLocaleLowerCase().split(" ").join(""),l=labelMatches(o,tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([],rearLabels,!0),backUltraWideLabels,!0),["iphone"],!1));return r||(r=0),i||(i=0),currentCamera={label:t,stream:e,width:r,height:i,isRearFacing:l,release:function(){e.getTracks().forEach((function(e){e.enabled=!1,e.stop()})),a&&(a.pause(),a.srcObject=null,a.src="")}},a&&(a.srcObject=e),currentCamera}function releaseCameraAccess(){currentCamera&&(console.log("releasing camera access..."),currentCamera.release(),currentCamera=void 0)}var documentDetectionModel,useHighestResCaptureDevice=function(e){var t=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1,maxVideoWidth:1920,debugMode:!1}:e,a=t.preferFrontFacingCamera,n=void 0!==a&&a,r=t.preferContinuityCamera,i=void 0===r||r,o=t.requestMicrophoneAccess,l=void 0!==o&&o,s=t.maxVideoWidth,d=t.maxFps,c=t.debugMode,u=void 0!==c&&c,m=React.useRef(null),f=React.useRef(null),p=React.useState(!1),g=p[0],h=p[1],v=React.useState(null),b=v[0],_=v[1],y=React.useState(!1),C=y[0],x=y[1],R=React.useState(!1),E=R[0],I=R[1],T=React.useState(i),w=T[0],M=T[1],S=React.useState(!1),D=S[0],k=S[1],N=React.useState(!1),O=N[0],j=N[1];React.useEffect((function(){u&&console.log("iphone continuity camera allowed changed",w),releaseCameraAccess(),f.current=null,x(!1)}),[u,w]);var A=React.useCallback((function(){j(!1)}),[]);React.useEffect((function(){O||(h(!1),listAvailableCameras().then((function(e){var t,a,r;u&&console.log("availableCameras",e);var i=getPlatform();if(u&&console.log("platformDetails",i),D||(null==i?void 0:i.os)&&"OS X"!==i.os.family)("Android"===(null===(t=null==i?void 0:i.os)||void 0===t?void 0:t.family)||e.every((function(e){return e.label.startsWith("camera2 ")})))&&(e=e.sort((function(e,t){return e.label.toLowerCase().localeCompare(t.label.toLowerCase())})),u&&console.log("cameras have been sorted",e));else{var o=e.find((function(e){return labelMatches(e,"iphone")}));I(!!o),o&&w&&(r=o)}n&&(r=e.find((function(e){return labelMatches(e,frontLabels)}))),r||(r=e.find((function(e){return labelMatches(e,"backtriplecamera")}))),r||(r=e.find((function(e){return labelMatches(e,"backdualcamera")}))),r||(r=e.find((function(e){return labelMatches(e,rearLabels)&&!labelMatches(e,backUltraWideLabels)}))),r||(r=e.find((function(e){return labelMatches(e,rearLabels)}))),!n&&"iOS"===(null===(a=null==i?void 0:i.os)||void 0===a?void 0:a.family)&&e.length>0&&(r||(r=e[1])),r||(r=e[0]),u&&console.log("selectedCamera",r),_(r)})).catch((function(e){if("NotAllowedError"!==e.name)throw console.error("camera access encountered some other error",e),e;console.error("camera access has been blocked by the user",e),j(!0)})))}),[O,w,D,n]),React.useEffect((function(){var e;if(b){var t=function(){releaseCameraAccess(),f.current=null,x(!1)};return(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia)?(tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:e={audio:l,video:{deviceId:{exact:b.deviceId},width:{ideal:s},aspectRatio:1.777777778,frameRate:{}}},d&&(e.video.frameRate={max:d}),t=null,r.label=1;case 1:return r.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia(e)];case 2:return t=r.sent(),[3,4];case 3:return"NotAllowedError"===r.sent().name?(w?(I(!1),k(!0)):j(!0),[2]):[3,4];case 4:if(t)return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 6:return t=r.sent(),console.log("opened stream with no width and height constraints"),[3,8];case 7:return r.sent(),console.log("cannot open stream at all"),[3,8];case 8:if(!t)throw new Error("failed to open camera");return a=function(){E&&w?(console.log("someone unplugged the continuity camera"),releaseCameraAccess(),f.current=null,I(!1),k(!0),_(null)):(console.log("someone unplugged the webcam"),releaseCameraAccess(),f.current=null,x(!1),j(!0))},null===(n=m.current)||void 0===n||n.addEventListener("ended",a),t.getVideoTracks().forEach((function(e){e.onended=a})),f.current=obtainCameraAccess(t,b.label,m.current),[2]}}))})),t):t}}),[w,E,d,s,l,b]),React.useEffect((function(){h(!1),b&&C&&h(!0)}),[C,b]);var L=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return f.current?"undefined"==typeof ImageCapture?[3,2]:[4,new ImageCapture(f.current.stream.getTracks()[0]).takePhoto()]:[2,null];case 1:return[2,t.sent()];case 2:return m.current?(drawToCanvas(e=document.createElement("canvas"),m.current),[2,new Promise((function(t){return e.toBlob(t)}))]):[2,null]}}))}))}),[]);return{videoRef:m,videoDevice:b,videoLoaded:C,setVideoLoaded:x,cameraRef:f,cameraReady:g,cameraAccessDenied:O,retryCameraAccess:A,releaseCameraAccess:releaseCameraAccess,iphoneContinuityCameraAvailable:E,iphoneContinuityCameraAllowed:w,setIphoneContinuityCameraAllowed:M,takePhoto:L}},CameraStateContext=React.createContext({videoRef:{current:null},videoLoaded:!1,cameraRef:{current:null},cameraReady:!1,cameraAccessDenied:!1,retryCameraAccess:function(){return null},releaseCameraAccess:function(){return null},iphoneContinuityCameraAvailable:!1,iphoneContinuityCameraAllowed:!0,setIphoneContinuityCameraAllowed:function(){return null},takePhoto:function(){return Promise.resolve(null)},setVideoLoaded:function(){return null}}),CameraProvider=function(e){var t=e.children,a=e.preferFrontFacingCamera,n=e.preferContinuityCamera,r=e.requestMicrophoneAccess,i=e.maxVideoWidth,o=e.debugMode,l=useHighestResCaptureDevice({preferFrontFacingCamera:void 0!==a&&a,preferContinuityCamera:void 0===n||n,requestMicrophoneAccess:void 0!==r&&r,maxVideoWidth:void 0===i?1920:i,maxFps:e.maxFps,debugMode:void 0!==o&&o}),s=l.videoRef,d=l.videoLoaded,c=l.setVideoLoaded,u=l.cameraRef,m=l.cameraReady,f=l.cameraAccessDenied,p=l.retryCameraAccess,g=l.releaseCameraAccess,h=l.iphoneContinuityCameraAvailable,v=l.iphoneContinuityCameraAllowed,b=l.setIphoneContinuityCameraAllowed,_=l.takePhoto;return React.useEffect((function(){return function(){g()}}),[g]),React__default.default.createElement(CameraStateContext.Provider,{value:{videoRef:s,videoLoaded:d,setVideoLoaded:c,cameraRef:u,cameraReady:m,cameraAccessDenied:f,releaseCameraAccess:g,retryCameraAccess:p,iphoneContinuityCameraAvailable:h,iphoneContinuityCameraAllowed:v,setIphoneContinuityCameraAllowed:b,takePhoto:_}},t)};function loadDocumentDetectionModel(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t,a,n,r,i,o,l;return tslib.__generator(this,(function(s){switch(s.label){case 0:return documentDetectionModel?[2,documentDetectionModel]:[4,tf__namespace.loadGraphModel(e)];case 1:return documentDetectionModel=s.sent(),[4,tf__namespace.ready()];case 2:return s.sent(),t=tf__namespace.zeros([448,448,3]),a=tf__namespace.cast(t,"int32"),n=tf__namespace.tensor4d(Array.from(a.dataSync()),[1,448,448,3]),r=tf__namespace.cast(n,"int32"),o=(i=tf__namespace).dispose,[4,documentDetectionModel.executeAsync(r)];case 3:return o.apply(i,[s.sent()]),a.dispose(),r.dispose(),n.dispose(),tf__namespace.dispose(t),l=documentDetectionModel.outputs.map((function(e){return e.name})),documentDetectionModel.outputPositions={boxes:l.indexOf("Identity_1"),scores:l.indexOf("Identity_4"),labels:l.indexOf("Identity_2")},[2,documentDetectionModel]}}))}))}var focusModel,labelMap={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function bboxToDetectedObjectUnscaled(e,t,a){var n=e[0],r=e[1];return{score:t,bbox:[r,n,e[3]-r,e[2]-n],label:labelMap[a]}}function loadFocusModel(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t,a,n,r,i,o,l,s,d;return tslib.__generator(this,(function(c){switch(c.label){case 0:return focusModel?[2,focusModel]:[4,tf__namespace.loadLayersModel(e)];case 1:return focusModel=c.sent(),[4,tf__namespace.ready()];case 2:return c.sent(),t=tf__namespace.zeros([448,448,3]),a=tf__namespace.cast(t,"float32"),i=(r=tf__namespace).tensor4d,l=(o=Array).from,[4,a.data()];case 3:return n=i.apply(r,[l.apply(o,[c.sent()]),[1,448,448,3]]),s=tf__namespace.cast(n,"float32"),[4,focusModel.predict(s)];case 4:return[4,(d=c.sent()).data()];case 5:return c.sent(),tf__namespace.dispose(d),a.dispose(),s.dispose(),n.dispose(),tf__namespace.dispose(t),[2,focusModel]}}))}))}const EPSILON_FLOAT32=1e-7,EPSILON_FLOAT16=1e-4;class KernelBackend{refCount(e){return notYetImplemented("refCount")}incRef(e){return notYetImplemented("incRef")}timerAvailable(){return!0}time(e){return notYetImplemented("time")}read(e){return notYetImplemented("read")}readSync(e){return notYetImplemented("readSync")}readToGPU(e,t){return notYetImplemented("readToGPU")}numDataIds(){return notYetImplemented("numDataIds")}disposeData(e,t){return notYetImplemented("disposeData")}write(e,t,a){return notYetImplemented("write")}move(e,t,a,n,r){return notYetImplemented("move")}createTensorFromGPUData(e,t,a){return notYetImplemented("createTensorFromGPUData")}memory(){return notYetImplemented("memory")}floatPrecision(){return notYetImplemented("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return notYetImplemented("dispose")}}function notYetImplemented(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function assert(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function sizeFromShape(e){if(0===e.length)return 1;let t=e[0];for(let a=1;a<e.length;a++)t*=e[a];return t}function arraysEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++)if(e[a]!==t[a])return!1;return!0}function rightPad(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function getArrayFromDType(e,t){let a=null;if(null==e||"float32"===e)a=new Float32Array(t);else if("int32"===e)a=new Int32Array(t);else if("bool"===e)a=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);a=new Array(t)}return a}function checkConversionForErrors(e,t){for(let a=0;a<e.length;a++){const n=e[a];if(isNaN(n)||!isFinite(n))throw Error(`A tensor of type ${t} being uploaded contains ${n}.`)}}function isValidDtype(e){return"bool"===e||"complex64"===e||"float32"===e||"int32"===e||"string"===e}function bytesPerElement(e){if("float32"===e||"int32"===e)return 4;if("complex64"===e)return 8;if("bool"===e)return 1;throw new Error(`Unknown dtype ${e}`)}function bytesFromStringArray(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}function isString(e){return"string"==typeof e||e instanceof String}function isBoolean(e){return"boolean"==typeof e}function isNumber(e){return"number"==typeof e}function inferDtype(e){return Array.isArray(e)?inferDtype(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":isNumber(e)?"float32":isString(e)?"string":isBoolean(e)?"bool":"float32"}function isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}function computeStrides(e){const t=e.length;if(t<2)return[];const a=new Array(t-1);a[t-2]=e[t-1];for(let n=t-3;n>=0;--n)a[n]=a[n+1]*e[n+1];return a}function createNestedArray(e,t,a,n=!1){const r=new Array;if(1===t.length){const i=t[0]*(n?2:1);for(let t=0;t<i;t++)r[t]=a[e+t]}else{const i=t[0],o=t.slice(1),l=o.reduce(((e,t)=>e*t))*(n?2:1);for(let t=0;t<i;t++)r[t]=createNestedArray(e+t*l,o,a,n)}return r}function toNestedArray(e,t,a=!1){if(0===e.length)return t[0];const n=e.reduce(((e,t)=>e*t))*(a?2:1);if(0===n)return[];if(n!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${a?" for a complex tensor":""}.`);return createNestedArray(0,e,t,a)}function makeOnesTypedArray(e,t){const a=makeZerosTypedArray(e,t);for(let e=0;e<a.length;e++)a[e]=1;return a}function makeZerosTypedArray(e,t){if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t)return new Uint8Array(e);throw new Error(`Unknown data type ${t}`)}function assertNonNegativeIntegerDimensions(e){e.forEach((t=>{assert(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function isPromise(e){return e&&e.then&&"function"==typeof e.then}const TENSORFLOWJS_FLAGS_PREFIX="tfjsflags";class Environment{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=getQueryParams,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&(env().getBool("IS_TEST")||env().getBool("PROD")||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,a){if(this.flagRegistry[e]={evaluationFn:t,setHook:a},null!=this.urlFlags[e]){const t=this.urlFlags[e];env().getBool("IS_TEST")||env().getBool("PROD")||console.warn(`Setting feature override from URL ${e}: ${t}.`),this.set(e,t)}}async getAsync(e){return e in this.flags||(this.flags[e]=await this.evaluateFlag(e)),this.flags[e]}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(isPromise(t))throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(null==this.flagRegistry[e])throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,null!=this.flagRegistry[e].setHook&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(null==this.flagRegistry[e])throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(void 0===this.global||void 0===this.global.location||void 0===this.global.location.search)return;const e=this.getQueryParams(this.global.location.search);if("tfjsflags"in e){e.tfjsflags.split(",").forEach((e=>{const[t,a]=e.split(":");this.urlFlags[t]=parseValue(t,a)}))}}}function getQueryParams(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...a)=>(decodeParam(t,a[0],a[1]),a.join("=")))),t}function decodeParam(e,t,a){e[decodeURIComponent(t)]=decodeURIComponent(a||"")}function parseValue(e,t){const a=t.toLowerCase();return"true"===a||"false"===a?"true"===a:""+ +a===a?+a:t}function env(){return ENV$1}let globalNameSpace,ENV$1=null;function setEnvironmentGlobal(e){ENV$1=e}function getGlobalNamespace(){if(null==globalNameSpace){let e;if("undefined"!=typeof window)e=window;else if("undefined"!=typeof global)e=global;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}globalNameSpace=e}return globalNameSpace}function getGlobalMap(){const e=getGlobalNamespace();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}function getGlobal(e,t){const a=getGlobalMap();if(a.has(e))return a.get(e);{const n=t();return a.set(e,n),a.get(e)}}const Abs="Abs",Add="Add",Cast="Cast",ComplexAbs="ComplexAbs",RealDiv="RealDiv",Fill="Fill",FloorDiv="FloorDiv",Identity="Identity",Maximum="Maximum",Multiply="Multiply",Pow="Pow",Sqrt="Sqrt",Sub="Sub",ZerosLike="ZerosLike";function warn(...e){env().getBool("IS_TEST")||env().getBool("PROD")||console.warn(...e)}const kernelRegistry=getGlobal("kernelRegistry",(()=>new Map)),gradRegistry=getGlobal("gradRegistry",(()=>new Map));function getKernel(e,t){const a=makeKey(e,t);return kernelRegistry.get(a)}function getGradient(e){return gradRegistry.get(e)}function getKernelsForBackend(e){const t=kernelRegistry.entries(),a=[];for(;;){const{done:n,value:r}=t.next();if(n)break;const[i,o]=r,[l]=i.split("_");l===e&&a.push(o)}return a}function makeKey(e,t){return`${t}_${e}`}function isTypedArrayBrowser(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function noConversionNeeded(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}function toTypedArray(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=flatten(e)),env().getBool("DEBUG")&&checkConversionForErrors(e,t),noConversionNeeded(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let a=0;a<t.length;++a)0!==Math.round(e[a])&&(t[a]=1);return t}throw new Error(`Unknown data type ${t}`)}function now(){return env().platform.now()}function encodeString(e,t="utf-8"){return t=t||"utf-8",env().platform.encode(e,t)}function decodeString(e,t="utf-8"){return t=t||"utf-8",env().platform.decode(e,t)}function isTypedArray(e){return null!=env().platform.isTypedArray?env().platform.isTypedArray(e):isTypedArrayBrowser(e)}function flatten(e,t=[],a=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||isPromise(e)||null==e||isTypedArray(e)&&a)t.push(e);else if(Array.isArray(e)||isTypedArray(e))for(let n=0;n<e.length;++n)flatten(e[n],t,a);else{let n=-1;for(const t of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(t)&&(n=Math.max(n,Number(t)));for(let r=0;r<=n;r++)flatten(e[r],t,a)}return t}class Profiler{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new Logger)}profileKernel(e,t,a){let n;const r=()=>{n=a()};let i;const o=now();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(r);else{r();for(const e of n)e.dataSync();i=Promise.resolve({kernelMs:now()-o})}if(env().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<n.length;t++){const a=n[t];a.data().then((t=>{checkComputationForErrors(t,a.dtype,e)}))}return{kernelName:e,outputs:n,inputs:t,timeMs:i.then((e=>e.kernelMs)),extraInfo:i.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:a,timeMs:n,inputs:r,extraInfo:i}=e;a.forEach((e=>{Promise.all([e.data(),n,i]).then((a=>{this.logger.logKernelProfile(t,e,a[0],a[1],r,a[2])}))}))}}function checkComputationForErrors(e,t,a){if("float32"!==t)return!1;for(let t=0;t<e.length;t++){const n=e[t];if(isNaN(n)||!isFinite(n))return console.warn(`Found ${n} in the result of '${a}'`),!0}return!1}class Logger{logKernelProfile(e,t,a,n,r,i){const o="number"==typeof n?rightPad(`${n}ms`,9):n.error,l=rightPad(e,25),s=t.rank,d=t.size,c=rightPad(t.shape.toString(),14);let u="";for(const e in r){const a=r[e];if(null!=a){const n=a.shape||t.shape,r=n.length;u+=`${e}: ${r}D ${r>0?n:""} `}}console.log(`%c${l}\t%c${o}\t%c${s}D ${c}\t%c${d}\t%c${u}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function getFilteredNodesXToY(e,t,a){const n={},r={};for(let e=0;e<t.length;e++)n[t[e].id]=!0;for(let a=0;a<e.length;a++){const i=e[a],o=i.inputs;for(const e in o){const a=o[e];let l=!1;for(let e=0;e<t.length;e++)if(n[a.id]){i.outputs.forEach((e=>n[e.id]=!0)),l=!0,r[i.id]=!0;break}if(l)break}}const i={};i[a.id]=!0;const o={};for(let t=e.length-1;t>=0;t--){const a=e[t],n=a.inputs;for(let e=0;e<a.outputs.length;e++)if(i[a.outputs[e].id]){for(const e in n)i[n[e].id]=!0,o[a.id]=!0;break}}const l=[];for(let t=0;t<e.length;t++){const a=e[t];if(r[a.id]&&o[a.id]){const e={};for(const t in a.inputs){const r=a.inputs[t];n[r.id]&&(e[t]=r)}const t=Object.assign({},a);t.inputs=e,t.outputs=a.outputs,l.push(t)}}return l}function backpropagateGradients(e,t,a,n){for(let r=t.length-1;r>=0;r--){const i=t[r],o=[];if(i.outputs.forEach((t=>{const a=e[t.id];o.push(null!=a?a:null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const l=i.gradient(o);for(const t in i.inputs){if(!(t in l))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(l)}.`);const r=a((()=>l[t]()));if("float32"!==r.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${r.dtype}'`);const o=i.inputs[t];if(!arraysEqual(r.shape,o.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${t}' has shape '${r.shape}', which does not match the shape of the input '${o.shape}'`);if(null==e[o.id])e[o.id]=r;else{const t=e[o.id];e[o.id]=n(t,r),t.dispose()}}}}const FORMAT_LIMIT_NUM_VALS=20,FORMAT_NUM_FIRST_LAST_VALS=3,FORMAT_NUM_SIG_DIGITS=7;function tensorToString(e,t,a,n){const r=computeStrides(t),i=computeMaxSizePerColumn(e,t,a,r),o=t.length,l=subTensorToString(e,t,a,r,i),s=["Tensor"];return n&&(s.push(` dtype: ${a}`),s.push(` rank: ${o}`),s.push(` shape: [${t}]`),s.push(" values:")),s.push(l.map((e=>" "+e)).join("\n")),s.join("\n")}function computeMaxSizePerColumn(e,t,a,n){const r=sizeFromShape(t),i=n[n.length-1],o=new Array(i).fill(0),l=t.length,s="complex64"===a?createComplexTuples(e):e;if(l>1)for(let e=0;e<r/i;e++){const t=e*i;for(let e=0;e<i;e++)o[e]=Math.max(o[e],valToString(s[t+e],0,a).length)}return o}function valToString(e,t,a){let n;return n=Array.isArray(e)?`${parseFloat(e[0].toFixed(FORMAT_NUM_SIG_DIGITS))} + ${parseFloat(e[1].toFixed(FORMAT_NUM_SIG_DIGITS))}j`:isString(e)?`'${e}'`:"bool"===a?boolNumToString(e):parseFloat(e.toFixed(FORMAT_NUM_SIG_DIGITS)).toString(),rightPad(n,t)}function boolNumToString(e){return 0===e?"false":"true"}function subTensorToString(e,t,a,n,r,i=!0){const o="complex64"===a?2:1,l=t[0],s=t.length;if(0===s){if("complex64"===a){return[valToString(createComplexTuples(e)[0],0,a)]}return"bool"===a?[boolNumToString(e[0])]:[e[0].toString()]}if(1===s){if(l>FORMAT_LIMIT_NUM_VALS){let t=Array.from(e.slice(0,FORMAT_NUM_FIRST_LAST_VALS*o)),n=Array.from(e.slice((l-FORMAT_NUM_FIRST_LAST_VALS)*o,l*o));return"complex64"===a&&(t=createComplexTuples(t),n=createComplexTuples(n)),["["+t.map(((e,t)=>valToString(e,r[t],a))).join(", ")+", ..., "+n.map(((e,t)=>valToString(e,r[l-FORMAT_NUM_FIRST_LAST_VALS+t],a))).join(", ")+"]"]}return["["+("complex64"===a?createComplexTuples(e):Array.from(e)).map(((e,t)=>valToString(e,r[t],a))).join(", ")+"]"]}const d=t.slice(1),c=n.slice(1),u=n[0]*o,m=[];if(l>FORMAT_LIMIT_NUM_VALS){for(let t=0;t<FORMAT_NUM_FIRST_LAST_VALS;t++){const n=t*u;m.push(...subTensorToString(e.slice(n,n+u),d,a,c,r,!1))}m.push("...");for(let t=l-FORMAT_NUM_FIRST_LAST_VALS;t<l;t++){const n=t*u;m.push(...subTensorToString(e.slice(n,n+u),d,a,c,r,t===l-1))}}else for(let t=0;t<l;t++){const n=t*u;m.push(...subTensorToString(e.slice(n,n+u),d,a,c,r,t===l-1))}const f=2===s?",":"";m[0]="["+(l>0?m[0]+f:"");for(let e=1;e<m.length-1;e++)m[e]=" "+m[e]+f;let p=",\n";for(let e=2;e<s;e++)p+="\n";return m[m.length-1]=" "+m[m.length-1]+"]"+(i?"":p),m}function createComplexTuples(e){const t=[];for(let a=0;a<e.length;a+=2)t.push([e[a],e[a+1]]);return t}class TensorBuffer{constructor(e,t,a){if(this.dtype=t,this.shape=e.slice(),this.size=sizeFromShape(e),null!=a){const e=a.length;assert(e===this.size,(()=>`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=a||getArrayFromDType(t,this.size),this.strides=computeStrides(e)}set(e,...t){0===t.length&&(t=[0]),assert(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const a=this.locToIndex(t);this.values[a]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const a of e){if(a<0||a>=this.shape[t]){throw new Error(`Requested out of range element at ${e}. Buffer shape=${this.shape}`)}t++}let a=e[e.length-1];for(let t=0;t<e.length-1;++t)a+=this.strides[t]*e[t];return this.values[a]}locToIndex(e){if(0===this.rank)return 0;if(1===this.rank)return e[0];let t=e[e.length-1];for(let a=0;a<e.length-1;++a)t+=this.strides[a]*e[a];return t}indexToLoc(e){if(0===this.rank)return[];if(1===this.rank)return[e];const t=new Array(this.shape.length);for(let a=0;a<t.length-1;++a)t[a]=Math.floor(e/this.strides[a]),e-=t[a]*this.strides[a];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return trackerFn().makeTensor(this.values,this.shape,this.dtype)}}let trackerFn=null,opHandler$1=null;function setTensorTracker(e){trackerFn=e}function setOpHandler(e){opHandler$1=e}class Tensor{constructor(e,t,a,n){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=sizeFromShape(e),this.strides=computeStrides(e),this.dataId=a,this.id=n,this.rankType=this.rank<5?this.rank.toString():"higher"}get rank(){return this.shape.length}async buffer(){const e=await this.data();return opHandler$1.buffer(this.shape,this.dtype,e)}bufferSync(){return opHandler$1.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return toNestedArray(this.shape,e,"complex64"===this.dtype)}arraySync(){return toNestedArray(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=trackerFn().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>decodeString(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),trackerFn().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=trackerFn().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>decodeString(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await trackerFn().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(trackerFn().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return opHandler$1.print(this,e)}clone(){return this.throwIfDisposed(),opHandler$1.clone(this)}toString(e=!1){return tensorToString(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),opHandler$1.cast(this,e)}variable(e=!0,t,a){return this.throwIfDisposed(),trackerFn().makeVariable(this,e,t,a)}}function getGlobalTensorClass(){return getGlobal("Tensor",(()=>Tensor))}Object.defineProperty(Tensor,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),getGlobalTensorClass();class Variable extends Tensor{constructor(e,t,a,n){super(e.shape,e.dtype,e.dataId,n),this.trainable=t,this.name=a}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!arraysEqual(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);trackerFn().disposeTensor(this),this.dataId=e.dataId,trackerFn().incRef(this,null)}dispose(){trackerFn().disposeVariable(this),this.isDisposedInternal=!0}}var Rank,UpcastInt32AndMap,UpcastBoolAndMap,UpcastFloat32AndMap,UpcastComplex64AndMap;Object.defineProperty(Variable,Symbol.hasInstance,{value:e=>e instanceof Tensor&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(Rank||(Rank={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(UpcastInt32AndMap||(UpcastInt32AndMap={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(UpcastBoolAndMap||(UpcastBoolAndMap={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(UpcastFloat32AndMap||(UpcastFloat32AndMap={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(UpcastComplex64AndMap||(UpcastComplex64AndMap={}));const upcastTypeMap={float32:UpcastFloat32AndMap,int32:UpcastInt32AndMap,bool:UpcastBoolAndMap,complex64:UpcastComplex64AndMap};function upcastType(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return upcastTypeMap[e][t]}function isWebGLData(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function isWebGPUData(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function makeTypesMatch(e,t){if(e.dtype===t.dtype)return[e,t];const a=upcastType(e.dtype,t.dtype);return[e.cast(a),t.cast(a)]}function getTensorsInContainer(e){const t=[];return walkTensorContainer(e,t,new Set),t}function walkTensorContainer(e,t,a){if(null==e)return;if(e instanceof Tensor)return void t.push(e);if(!isIterable(e))return;const n=e;for(const e in n){const r=n[e];a.has(r)||(a.add(r),walkTensorContainer(r,t,a))}}function isIterable(e){return Array.isArray(e)||"object"==typeof e}function isRegisteredKernelInvocation(e){return null!=e.kernelName}class EngineState{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class Engine{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new EngineState}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const a=e[t];if(await this.initializeBackend(a).success)return void await this.setBackend(a)}throw new Error("Could not initialize any backends, all backend initializations failed.")}get backend(){if(null!=this.pendingBackendInit)throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);if(null==this.backendInstance){const{name:e,asyncInit:t}=this.initializeBackendsAndReturnBest();if(t)throw new Error(`The highest priority backend '${e}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);this.setBackend(e)}return this.backendInstance}backendNames(){return Object.keys(this.registryFactory)}findBackend(e){if(!(e in this.registry)){if(!(e in this.registryFactory))return null;{const{asyncInit:t}=this.initializeBackend(e);if(t)return null}}return this.registry[e]}findBackendFactory(e){return e in this.registryFactory?this.registryFactory[e].factory:null}registerBackend(e,t,a=1){return e in this.registryFactory?(warn(`${e} backend was already registered. Reusing existing backend factory.`),!1):(this.registryFactory[e]={factory:t,priority:a},!0)}async setBackend(e){if(null==this.registryFactory[e])throw new Error(`Backend name '${e}' not found in registry`);if(this.backendName=e,null==this.registry[e]){this.backendInstance=null;const{success:t,asyncInit:a}=this.initializeBackend(e);if(!(a?await t:t))return!1}return this.backendInstance=this.registry[e],this.setupRegisteredKernels(),this.profiler=new Profiler(this.backendInstance),!0}setupRegisteredKernels(){getKernelsForBackend(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){getKernelsForBackend(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const a=t.factory();if(!a||a instanceof KernelBackend||"function"!=typeof a.then)return this.registry[e]=a,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,n=a.then((a=>!(t<this.pendingBackendInitId)&&(this.registry[e]=a,this.pendingBackendInit=null,!0))).catch((a=>(t<this.pendingBackendInitId||(this.pendingBackendInit=null,warn(`Initialization of backend ${e} failed`),warn(a.stack||a.message)),!1)));return this.pendingBackendInit=n,{success:n,asyncInit:!0}}}catch(t){return warn(`Initialization of backend ${e} failed`),warn(t.stack||t.message),{success:!1,asyncInit:!1}}}removeBackend(e){if(!(e in this.registryFactory))throw new Error(`${e} backend not found in registry`);this.backendName===e&&null!=this.pendingBackendInit&&this.pendingBackendInitId++,e in this.registry&&(this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e]),delete this.registryFactory[e],this.backendName===e&&(this.pendingBackendInit=null,this.backendName=null,this.backendInstance=null)}getSortedBackends(){if(0===Object.keys(this.registryFactory).length)throw new Error("No backend found in registry.");return Object.keys(this.registryFactory).sort(((e,t)=>this.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const a=e[t],{success:n,asyncInit:r}=this.initializeBackend(a);if(r||n)return{name:a,asyncInit:r}}throw new Error("Could not initialize any backends, all backend initializations failed.")}moveData(e,t){const a=this.state.tensorInfo.get(t),n=a.backend,r=this.readSync(t),i=n.refCount(t);n.disposeData(t,!0),a.backend=e,e.move(t,r,a.shape,a.dtype,i),this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack[this.state.numDataMovesStack.length-1]++}tidy(e,t){let a,n=null;if(null==t){if("function"!=typeof e)throw new Error("Please provide a function to tidy()");t=e}else{if("string"!=typeof e&&!(e instanceof String))throw new Error("When calling with two arguments, the first argument to tidy() must be a string");if("function"!=typeof t)throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function");n=e}return this.scopedRun((()=>this.startScope(n)),(()=>this.endScope(a)),(()=>(a=t(),a instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),a)))}scopedRun(e,t,a){e();try{const e=a();return t(),e}catch(e){throw t(),e}}nextTensorId(){return Engine.nextTensorId++}nextVariableId(){return Engine.nextVariableId++}clone(e){const t=ENGINE.runKernel(Identity,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>ENGINE.runKernel(Cast,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,a){if(!(null!=getKernel(e,this.backendName)))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:a})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,a){const n=this.backend.numDataIds();let r=0;a.forEach((e=>{r+="complex64"===e.dtype?3:1}));const i=n-t-r-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,a=[];const n=this.isTapeOn(),r=this.state.numBytes,i=this.state.numTensors;let o,l;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const s=isRegisteredKernelInvocation(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(isRegisteredKernelInvocation(e)){const{kernelName:t,inputs:r,attrs:i}=e,s=getKernel(t,this.backendName);assert(null!=s,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),o=()=>{const e=this.backend.numDataIds();l=s.kernelFunc({inputs:r,attrs:i,backend:this.backend});const o=Array.isArray(l)?l:[l];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,o);const d=o.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(n){const e=this.getTensorsForGradient(t,r,d);a=this.saveTensorsForBackwardMode(e)}return d}}else{const{forwardFunc:t}=e,r=e=>{n&&(a=e.map((e=>this.keep(this.clone(e)))))};o=()=>{const e=this.backend.numDataIds();l=this.tidy((()=>t(this.backend,r)));const a=Array.isArray(l)?l:[l];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(s,e,a),a}}const{inputs:d,attrs:c}=e,u=isRegisteredKernelInvocation(e)?null:e.backwardsFunc;let m;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(m=this.profiler.profileKernel(s,d,(()=>o())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(m),t=m.outputs):t=o()})),n&&this.addTapeNode(s,d,t,u,a,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:s,bytesAdded:this.state.numBytes-r,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(d).map((e=>null!=d[e]?d[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:m.timeMs,extraInfo:m.extraInfo}),Array.isArray(l)?t:t[0]}saveTensorsForBackwardMode(e){return e.map((e=>this.keep(this.clone(e))))}getTensorsForGradient(e,t,a){const n=getGradient(e);if(null!=n){const e=n.inputsToSave||[],r=n.outputsToSave||[];let i;n.saveAllInputs?(assert(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(t).map((e=>t[e]))):i=e.map((e=>t[e]));const o=a.filter(((e,t)=>r[t]));return i.concat(o)}return[]}makeTensor(e,t,a,n){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");n=n||this.backend;let r=e;"string"===(a=a||"float32")&&isString(e[0])&&(r=e.map((e=>encodeString(e))));const i=n.write(r,t,a),o=new Tensor(t,a,i,this.nextTensorId());if(this.trackTensor(o,n),"string"===a){const e=this.state.tensorInfo.get(i),t=bytesFromStringArray(r);this.state.numBytes+=t-e.bytes,e.bytes=t}return o}makeTensorFromDataId(e,t,a,n){return this.makeTensorFromTensorInfo({dataId:e,shape:t,dtype:a=a||"float32"},n)}makeTensorFromTensorInfo(e,t){const{dataId:a,shape:n,dtype:r}=e,i=new Tensor(n,r,a,this.nextTensorId());return this.trackTensor(i,t),i}makeVariable(e,t=!0,a,n){a=a||this.nextVariableId().toString(),null!=n&&n!==e.dtype&&(e=e.cast(n));const r=new Variable(e,t,a,this.nextTensorId());if(null!=this.state.registeredVariables[r.name])throw new Error(`Variable with name ${r.name} was already registered`);return this.state.registeredVariables[r.name]=r,this.incRef(r,this.backend),r}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let a=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(a=e.size*bytesPerElement(e.dtype)),this.state.numBytes+=a,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:a})),e instanceof Variable||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*bytesPerElement(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){this.disposeVariable(this.state.registeredVariables[e])}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,a=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-a;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,a,n,r,i){const o={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:a,saved:r},l=getGradient(e);null!=l&&(n=l.gradFunc),null!=n&&(o.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=a[t],n=makeZerosTypedArray(e.size,e.dtype);return this.makeTensor(n,e.shape,e.dtype)}return e})),n(e.length>1?e:e[0],r,i))),this.state.activeTape.push(o)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=getTensorsInContainer(e),a=new Set(t.map((e=>e.id)));for(let e=0;e<this.state.activeScope.track.length;e++){const t=this.state.activeScope.track[e];t.kept||a.has(t.id)||t.dispose()}const n=this.state.scopeStack.pop();this.state.activeScope=0===this.state.scopeStack.length?null:this.state.scopeStack[this.state.scopeStack.length-1],t.forEach((e=>{e.kept||e.scopeId!==n.id||this.track(e)}))}gradients(e,t,a,n=!1){if(assert(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=a&&"float32"!==a.dtype)throw new Error(`dy must have 'float32' dtype, but has '${a.dtype}'`);const r=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));assert(r instanceof Tensor,(()=>"The result y returned by f() must be a tensor."));const i=getFilteredNodesXToY(this.state.activeTape,t,r);if(!n&&0===i.length&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[r.id]=null==a?ones(r.shape):a,backpropagateGradients(e,i,(e=>this.tidy(e)),add$1);const n=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:r,grads:n}}))}customGrad(e){return assert(isFunction(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let a;assert(t.every((e=>e instanceof Tensor)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const n={};t.forEach(((e,t)=>{n[t]=e}));return this.runKernelFunc({forwardFunc:(n,r)=>(a=e(...t,r),assert(a.value instanceof Tensor,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),assert(isFunction(a.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),a.value),backwardsFunc:(e,n)=>{const r=a.gradFunc(e,n),i=Array.isArray(r)?r:[r];assert(i.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),assert(i.every((e=>e instanceof Tensor)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const o={};return i.forEach(((e,t)=>{o[t]=()=>e})),o},inputs:n})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=now(),a=await this.backend.time(e);return a.wallMs=now()-t,a}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new EngineState;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function ones(e){const t=makeOnesTypedArray(sizeFromShape(e),"float32");return ENGINE.makeTensor(t,e,"float32")}function getOrMakeEngine(){const e=getGlobalNamespace();if(null==e._tfengine){const t=new Environment(e);e._tfengine=new Engine(t)}return setEnvironmentGlobal(e._tfengine.ENV),setTensorTracker((()=>e._tfengine)),e._tfengine}Engine.nextTensorId=0,Engine.nextVariableId=0;const ENGINE=getOrMakeEngine();function add$1(e,t){return ENGINE.runKernel(Add,{a:e,b:t})}function _isNavigatorDefined(){return"undefined"!=typeof navigator&&null!=navigator}let isMobileMockValue;function isMobile(e){if(void 0!==isMobileMockValue)return isMobileMockValue;if(e||_isNavigatorDefined()){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}function isBrowser(){return"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope}const ENV=env();function inferShape(e,t){let a=e;if(isTypedArray(e))return"string"===t?[]:[e.length];if(isWebGLData(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(isWebGPUData(e))return[e.buffer.size/(null==t?4:bytesPerElement(t))];if(!Array.isArray(e))return[];const n=[];for(;Array.isArray(a)||isTypedArray(a)&&"string"!==t;)n.push(a.length),a=a[0];return Array.isArray(e)&&env().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&deepAssertShapeConsistency(e,n,[]),n}function deepAssertShapeConsistency(e,t,a){if(a=a||[],!Array.isArray(e)&&!isTypedArray(e))return void assert(0===t.length,(()=>`Element arr[${a.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));assert(t.length>0,(()=>`Element arr[${a.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),assert(e.length===t[0],(()=>`Element arr[${a.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const n=t.slice(1);for(let t=0;t<e.length;++t)deepAssertShapeConsistency(e[t],n,a.concat(t))}function assertDtype(e,t,a,n){if("string_or_numeric"!==e){if(null==e)throw new Error("Expected dtype cannot be null.");if("numeric"!==e&&e!==t||"numeric"===e&&"string"===t)throw new Error(`Argument '${a}' passed to '${n}' must be ${e} tensor, but got ${t} tensor`)}}function convertToTensor(e,t,a,n="numeric"){if(e instanceof Tensor)return assertDtype(n,e.dtype,t,a),e;let r=inferDtype(e);if("string"!==r&&["bool","int32","float32"].indexOf(n)>=0&&(r=n),assertDtype(n,r,t,a),null==e||!isTypedArray(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){throw new Error(`Argument '${t}' passed to '${a}' must be a Tensor or TensorLike, but got '${null==e?"null":e.constructor.name}'`)}const i=inferShape(e,r);isTypedArray(e)||Array.isArray(e)||(e=[e]);const o="string"!==r?toTypedArray(e,r):flatten(e,[],!0);return ENGINE.makeTensor(o,i,r)}ENV.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),ENV.registerFlag("IS_BROWSER",(()=>isBrowser())),ENV.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),ENV.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),ENV.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),ENV.registerFlag("PROD",(()=>!1)),ENV.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>ENV.getBool("DEBUG"))),ENV.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),ENV.registerFlag("IS_TEST",(()=>!1)),ENV.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>ENV.getBool("DEBUG"))),ENV.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),ENV.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),ENV.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));const OP_SCOPE_SUFFIX="__op";function op(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let a=t[0];const n=e[a];a.endsWith("_")&&(a=a.substring(0,a.length-1)),a+="__op";const r=(...e)=>{ENGINE.startScope(a);try{const t=n(...e);return isPromise(t)&&console.error("Cannot return a Promise inside of tidy."),ENGINE.endScope(t),t}catch(e){throw ENGINE.endScope(null),e}};return Object.defineProperty(r,"name",{value:a,configurable:!0}),r}function makeTensor(e,t,a,n){if(null==n)n=inferDtype(e);else if("complex64"===n)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(isWebGPUData(e)||isWebGLData(e)){if("float32"!==n&&"int32"!==n)throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${n}.`);return ENGINE.backend.createTensorFromGPUData(e,t||a,n)}if(!isTypedArray(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){assertNonNegativeIntegerDimensions(t);const e=sizeFromShape(t),n=sizeFromShape(a);assert(e===n,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${n}`));for(let e=0;e<a.length;++e){const n=e!==a.length-1||a[e]!==sizeFromShape(t.slice(e));assert(a[e]===t[e]||!n,(()=>`Error creating a new Tensor. Inferred shape (${a}) does not match the provided shape (${t}). `))}}return isTypedArray(e)||Array.isArray(e)||(e=[e]),t=t||a,e="string"!==n?toTypedArray(e,n):flatten(e,[],!0),ENGINE.makeTensor(e,t,n)}class CompositeArrayBuffer{static join(e){return new CompositeArrayBuffer(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>isTypedArray(e)?e.buffer:e))).length)return;this.bufferUniformSize=e[0].byteLength;let t=0;for(let a=0;a<e.length;a++){const n=e[a];a!==e.length-1&&n.byteLength!==this.bufferUniformSize&&(this.bufferUniformSize=void 0);const r=t+n.byteLength;this.shards.push({buffer:n,start:t,end:r}),t=r}0===this.shards.length&&(this.byteLength=0),this.byteLength=this.shards[this.shards.length-1].end}slice(e=0,t=this.byteLength){if(0===this.shards.length)return new ArrayBuffer(0);if(e=isNaN(Number(e))?0:e,t=isNaN(Number(t))?0:t,e=Math.max(0,e),(t=Math.min(this.byteLength,t))<=e)return new ArrayBuffer(0);const a=this.findShardForByte(e);if(-1===a)throw new Error(`Could not find start shard for byte ${e}`);const n=new ArrayBuffer(t-e),r=new Uint8Array(n);let i=0;for(let n=a;n<this.shards.length;n++){const a=this.shards[n],o=e+i-a.start,l=i,s=Math.min(t,a.end),d=new Uint8Array(a.buffer,o,s-a.start-o);if(r.set(d,l),i+=d.length,t<a.end)break}return n}findShardForByte(e){if(0===this.shards.length||e<0||e>=this.byteLength)return-1;if(null!=this.bufferUniformSize)return this.previousShardIndex=Math.floor(e/this.bufferUniformSize),this.previousShardIndex;function t(t){return e<t.start?-1:e>=t.end?1:0}if(0===t(this.shards[this.previousShardIndex]))return this.previousShardIndex;const a=search(this.shards,t);return-1===a?-1:(this.previousShardIndex=a,this.previousShardIndex)}}function search(e,t){let a=0,n=e.length;for(;a<=n;){const r=Math.floor((n-a)/2)+a,i=t(e[r]);if(0===i)return r;i<0?n=r:a=r+1}return-1}const useNodeBuffer="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function stringByteLength(e){return useNodeBuffer?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function arrayBufferToBase64String(e){if(useNodeBuffer)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let a="";for(let e=0,n=t.length;e<n;e++)a+=String.fromCharCode(t[e]);return btoa(a)}function base64StringToArrayBuffer(e){if(useNodeBuffer){const t=Buffer.from(e,"base64");return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}const t=atob(e),a=new Uint8Array(t.length);for(let e=0;e<t.length;++e)a.set([t.charCodeAt(e)],e);return a.buffer}function getModelArtifactsInfoForJSON(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:stringByteLength(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:stringByteLength(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new CompositeArrayBuffer(e.weightData).byteLength}}class IORouterRegistry{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==IORouterRegistry.instance&&(IORouterRegistry.instance=new IORouterRegistry),IORouterRegistry.instance}static registerSaveRouter(e){IORouterRegistry.getInstance().saveRouters.push(e)}static registerLoadRouter(e){IORouterRegistry.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return IORouterRegistry.getHandlers(e,"save")}static getLoadHandlers(e,t){return IORouterRegistry.getHandlers(e,"load",t)}static getHandlers(e,t,a){const n=[];return("load"===t?IORouterRegistry.getInstance().loadRouters:IORouterRegistry.getInstance().saveRouters).forEach((t=>{const r=t(e,a);null!==r&&n.push(r)})),n}}const DATABASE_NAME="tensorflowjs",DATABASE_VERSION=1,MODEL_STORE_NAME="models_store",INFO_STORE_NAME="model_info_store";function getIndexedDBFactory(){if(!env().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function setUpDatabase(e){const t=e.result;t.createObjectStore(MODEL_STORE_NAME,{keyPath:"modelPath"}),t.createObjectStore(INFO_STORE_NAME,{keyPath:"modelPath"})}class BrowserIndexedDB{constructor(e){if(this.indexedDB=getIndexedDBFactory(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,a)=>{const n=this.indexedDB.open(DATABASE_NAME,1);n.onupgradeneeded=()=>setUpDatabase(n),n.onsuccess=()=>{const r=n.result;if(null==t){const t=r.transaction(MODEL_STORE_NAME,"readonly"),n=t.objectStore(MODEL_STORE_NAME).get(this.modelPath);n.onsuccess=()=>{if(null==n.result)return r.close(),a(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(n.result.modelArtifacts)},n.onerror=e=>(r.close(),a(n.error)),t.oncomplete=()=>r.close()}else{const n=getModelArtifactsInfoForJSON(t),i=r.transaction(INFO_STORE_NAME,"readwrite");let o,l,s=i.objectStore(INFO_STORE_NAME);try{o=s.put({modelPath:this.modelPath,modelArtifactsInfo:n})}catch(e){return a(e)}o.onsuccess=()=>{l=r.transaction(MODEL_STORE_NAME,"readwrite");const o=l.objectStore(MODEL_STORE_NAME);let d;try{d=o.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:n})}catch(e){return a(e)}d.onsuccess=()=>e({modelArtifactsInfo:n}),d.onerror=e=>{s=i.objectStore(INFO_STORE_NAME);const t=s.delete(this.modelPath);t.onsuccess=()=>(r.close(),a(d.error)),t.onerror=e=>(r.close(),a(d.error))}},o.onerror=e=>(r.close(),a(o.error)),i.oncomplete=()=>{null==l?r.close():l.oncomplete=()=>r.close()}}},n.onerror=e=>a(n.error)}))}}BrowserIndexedDB.URL_SCHEME="indexeddb://";const indexedDBRouter=e=>env().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(BrowserIndexedDB.URL_SCHEME)?browserIndexedDB(e.slice(BrowserIndexedDB.URL_SCHEME.length)):null;function browserIndexedDB(e){return new BrowserIndexedDB(e)}function maybeStripScheme$1(e){return e.startsWith(BrowserIndexedDB.URL_SCHEME)?e.slice(BrowserIndexedDB.URL_SCHEME.length):e}IORouterRegistry.registerSaveRouter(indexedDBRouter),IORouterRegistry.registerLoadRouter(indexedDBRouter);class BrowserIndexedDBManager{constructor(){this.indexedDB=getIndexedDBFactory()}async listModels(){return new Promise(((e,t)=>{const a=this.indexedDB.open(DATABASE_NAME,1);a.onupgradeneeded=()=>setUpDatabase(a),a.onsuccess=()=>{const n=a.result,r=n.transaction(INFO_STORE_NAME,"readonly"),i=r.objectStore(INFO_STORE_NAME).getAll();i.onsuccess=()=>{const t={};for(const e of i.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},i.onerror=e=>(n.close(),t(i.error)),r.oncomplete=()=>n.close()},a.onerror=e=>t(a.error)}))}async removeModel(e){return e=maybeStripScheme$1(e),new Promise(((t,a)=>{const n=this.indexedDB.open(DATABASE_NAME,1);n.onupgradeneeded=()=>setUpDatabase(n),n.onsuccess=()=>{const r=n.result,i=r.transaction(INFO_STORE_NAME,"readwrite"),o=i.objectStore(INFO_STORE_NAME),l=o.get(e);let s;l.onsuccess=()=>{if(null==l.result)return r.close(),a(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const n=o.delete(e),i=()=>{s=r.transaction(MODEL_STORE_NAME,"readwrite");const n=s.objectStore(MODEL_STORE_NAME).delete(e);n.onsuccess=()=>t(l.result.modelArtifactsInfo),n.onerror=e=>a(l.error)};n.onsuccess=i,n.onerror=e=>(i(),r.close(),a(l.error))}},l.onerror=e=>(r.close(),a(l.error)),i.oncomplete=()=>{null==s?r.close():s.oncomplete=()=>r.close()}},n.onerror=e=>a(n.error)}))}}const PATH_SEPARATOR="/",PATH_PREFIX="tensorflowjs_models",INFO_SUFFIX="info",MODEL_TOPOLOGY_SUFFIX="model_topology",WEIGHT_SPECS_SUFFIX="weight_specs",WEIGHT_DATA_SUFFIX="weight_data",MODEL_METADATA_SUFFIX="model_metadata";function getModelKeys(e){return{info:[PATH_PREFIX,e,INFO_SUFFIX].join(PATH_SEPARATOR),topology:[PATH_PREFIX,e,MODEL_TOPOLOGY_SUFFIX].join(PATH_SEPARATOR),weightSpecs:[PATH_PREFIX,e,WEIGHT_SPECS_SUFFIX].join(PATH_SEPARATOR),weightData:[PATH_PREFIX,e,WEIGHT_DATA_SUFFIX].join(PATH_SEPARATOR),modelMetadata:[PATH_PREFIX,e,MODEL_METADATA_SUFFIX].join(PATH_SEPARATOR)}}function removeItems(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function getModelPathFromKey(e){const t=e.split(PATH_SEPARATOR);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(PATH_SEPARATOR)}function maybeStripScheme(e){return e.startsWith(BrowserLocalStorage.URL_SCHEME)?e.slice(BrowserLocalStorage.URL_SCHEME.length):e}class BrowserLocalStorage{constructor(e){if(!env().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=getModelKeys(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),a=JSON.stringify(e.weightSpecs),n=getModelArtifactsInfoForJSON(e),r=CompositeArrayBuffer.join(e.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(n)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,a),this.LS.setItem(this.keys.weightData,arrayBufferToBase64String(r));return this.LS.setItem(this.keys.modelMetadata,JSON.stringify({format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:null!=e.signature?e.signature:void 0,userDefinedMetadata:null!=e.userDefinedMetadata?e.userDefinedMetadata:void 0,modelInitializer:null!=e.modelInitializer?e.modelInitializer:void 0,initializerSignature:null!=e.initializerSignature?e.initializerSignature:void 0,trainingConfig:null!=e.trainingConfig?e.trainingConfig:void 0})),{modelArtifactsInfo:n}}catch(e){throw removeItems(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${n.modelTopologyBytes}, weightSpecsBytes=${n.weightSpecsBytes}, weightDataBytes=${n.weightDataBytes}.`)}}}async load(){const e=JSON.parse(this.LS.getItem(this.keys.info));if(null==e)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if("JSON"!==e.modelTopologyType)throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");const t={},a=JSON.parse(this.LS.getItem(this.keys.topology));if(null==a)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=a;const n=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(null==n)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=n;const r=this.LS.getItem(this.keys.modelMetadata);if(null!=r){const e=JSON.parse(r);t.format=e.format,t.generatedBy=e.generatedBy,t.convertedBy=e.convertedBy,null!=e.signature&&(t.signature=e.signature),null!=e.userDefinedMetadata&&(t.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(t.modelInitializer=e.modelInitializer),null!=e.initializerSignature&&(t.initializerSignature=e.initializerSignature),null!=e.trainingConfig&&(t.trainingConfig=e.trainingConfig)}const i=this.LS.getItem(this.keys.weightData);if(null==i)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=base64StringToArrayBuffer(i),t}}BrowserLocalStorage.URL_SCHEME="localstorage://";const localStorageRouter=e=>env().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(BrowserLocalStorage.URL_SCHEME)?browserLocalStorage(e.slice(BrowserLocalStorage.URL_SCHEME.length)):null;function browserLocalStorage(e){return new BrowserLocalStorage(e)}IORouterRegistry.registerSaveRouter(localStorageRouter),IORouterRegistry.registerLoadRouter(localStorageRouter);class BrowserLocalStorageManager{constructor(){assert(env().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),assert("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=PATH_PREFIX+PATH_SEPARATOR,a=PATH_SEPARATOR+INFO_SUFFIX;for(let n=0;n<this.LS.length;++n){const r=this.LS.key(n);if(r.startsWith(t)&&r.endsWith(a)){e[getModelPathFromKey(r)]=JSON.parse(this.LS.getItem(r))}}return e}async removeModel(e){const t=getModelKeys(e=maybeStripScheme(e));if(null==this.LS.getItem(t.info))throw new Error(`Cannot find model at path '${e}'`);const a=JSON.parse(this.LS.getItem(t.info));return removeItems(t),a}}const URL_SCHEME_SUFFIX="://";class ModelStoreManagerRegistry{constructor(){this.managers={}}static getInstance(){return null==ModelStoreManagerRegistry.instance&&(ModelStoreManagerRegistry.instance=new ModelStoreManagerRegistry),ModelStoreManagerRegistry.instance}static registerManager(e,t){assert(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),assert(e.length>0,(()=>"scheme must not be an empty string."));const a=ModelStoreManagerRegistry.getInstance();assert(null==a.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),a.managers[e]=t}static getManager(e){const t=ModelStoreManagerRegistry.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(ModelStoreManagerRegistry.getInstance().managers)}}class PlatformBrowser{constructor(){this.messageName="setTimeoutCustom",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){"undefined"!=typeof window&&env().getBool("USE_SETTIMEOUTCUSTOM")?(this.functionRefs.push(e),setTimeout((()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},"*")}),t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener("message",(e=>{if(e.source===window&&e.data.name===this.messageName){e.stopPropagation();(0,this.functionRefs[e.data.index])(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}}),!0))):setTimeout(e,t)}isTypedArray(e){return isTypedArrayBrowser(e)}}if(env().get("IS_BROWSER")){env().setPlatform("browser",new PlatformBrowser);try{ModelStoreManagerRegistry.registerManager(BrowserLocalStorage.URL_SCHEME,new BrowserLocalStorageManager)}catch(e){}try{ModelStoreManagerRegistry.registerManager(BrowserIndexedDB.URL_SCHEME,new BrowserIndexedDBManager)}catch(e){}}const getNodeFetch={importFetch:()=>require("node-fetch")};let systemFetch;class PlatformNode{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=env().global.fetch?env().global.fetch(e,t):(null==systemFetch&&(systemFetch=getNodeFetch.importFetch()),systemFetch(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}isTypedArray(e){return this.util.types.isFloat32Array(e)||this.util.types.isInt32Array(e)||this.util.types.isUint8Array(e)||this.util.types.isUint8ClampedArray(e)}}function buffer(e,t="float32",a){return t=t||"float32",assertNonNegativeIntegerDimensions(e),new TensorBuffer(e,t,a)}function cast_(e,t){const a=convertToTensor(e,"x","cast");if(!isValidDtype(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==a.dtype||"string"!==t&&"string"===a.dtype)throw new Error("Only strings can be casted to strings");return ENGINE.runKernel(Cast,{x:a},{dtype:t})}env().get("IS_NODE")&&!env().get("IS_BROWSER")&&env().setPlatform("node",new PlatformNode);const cast=op({cast_:cast_});function clone_(e){const t=convertToTensor(e,"x","clone","string_or_numeric");return ENGINE.runKernel(Identity,{x:t})}const clone=op({clone_:clone_});function print(e,t=!1){console.log(e.toString(t))}getOrMakeEngine();const opHandler={buffer:buffer,cast:cast,clone:clone,print:print};function tidy(e,t){return ENGINE.tidy(e,t)}function dispose(e){getTensorsInContainer(e).forEach((e=>e.dispose()))}function keep(e){return ENGINE.keep(e)}function add_(e,t){let a=convertToTensor(e,"a","add"),n=convertToTensor(t,"b","add");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Add,{a:a,b:n})}setOpHandler(opHandler);const add=op({add_:add_});function floorDiv_(e,t){let a=convertToTensor(e,"a","floorDiv"),n=convertToTensor(t,"b","floorDiv");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(FloorDiv,{a:a,b:n})}const floorDiv=op({floorDiv_:floorDiv_});function div_(e,t){let a=convertToTensor(e,"a","div"),n=convertToTensor(t,"b","div");if([a,n]=makeTypesMatch(a,n),"int32"===a.dtype&&"int32"===n.dtype)return floorDiv(a,n);return ENGINE.runKernel(RealDiv,{a:a,b:n},{})}const div=op({div_:div_});function mul_(e,t){let a=convertToTensor(e,"a","mul"),n=convertToTensor(t,"b","mul");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Multiply,{a:a,b:n})}const mul=op({mul_:mul_});function abs_(e){const t=convertToTensor(e,"x","abs");if("complex64"===t.dtype){return ENGINE.runKernel(ComplexAbs,{x:t})}return ENGINE.runKernel(Abs,{x:t})}const abs=op({abs_:abs_});function fill(e,t,a){assertNonNegativeIntegerDimensions(e),a=a||inferDtype(t);return ENGINE.runKernel(Fill,{},{shape:e,value:t,dtype:a})}function assertAndGetBroadcastShape(e,t){const a=Math.max(e.length,t.length),n=new Array(a);for(let r=0;r<a;r++){let i=e[e.length-r-1];null==i&&(i=1);let o=t[t.length-r-1];if(null==o&&(o=1),1===i)n[a-r-1]=o;else if(1===o)n[a-r-1]=i;else{if(i!==o){throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`)}n[a-r-1]=i}}return n}function zerosLike_(e){const t=convertToTensor(e,"x","zerosLike");return ENGINE.runKernel(ZerosLike,{x:t})}const zerosLike=op({zerosLike_:zerosLike_});function pow_(e,t){let a=convertToTensor(e,"base","pow"),n=convertToTensor(t,"exp","pow");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Pow,{a:a,b:n})}const pow=op({pow_:pow_});function scalar(e,t){if((isTypedArray(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&isTypedArray(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return makeTensor(e,[],[],t)}function sqrt_(e){const t=convertToTensor(e,"x","sqrt","float32");return ENGINE.runKernel(Sqrt,{x:t})}const sqrt=op({sqrt_:sqrt_});function square_(e){const t=convertToTensor(e,"x","square");return ENGINE.runKernel("Square",{x:t},{})}const square=op({square_:square_});function variableGrads(e,t){assert(isFunction(e),(()=>"The f passed in variableGrads(f) must be a function")),assert(null==t||Array.isArray(t)&&t.every((e=>e instanceof Variable)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const a=null!=t;if(!a){t=[];for(const e in ENGINE.registeredVariables)t.push(ENGINE.registeredVariables[e])}const n=a?t.filter((e=>!e.trainable)):null,r=t.length;assert((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${r} variables is trainable.`));const{value:i,grads:o}=ENGINE.gradients(e,t,null,!0);assert(o.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),assert(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const l={};return t.forEach(((e,t)=>{null!=o[t]&&(l[e.name]=o[t])})),null!=n&&n.forEach((e=>l[e.name]=null)),{value:i,grads:l}}function sub_(e,t){let a=convertToTensor(e,"a","sub"),n=convertToTensor(t,"b","sub");[a,n]=makeTypesMatch(a,n);return ENGINE.runKernel(Sub,{a:a,b:n})}const sub=op({sub_:sub_});function maximum_(e,t){let a=convertToTensor(e,"a","maximum"),n=convertToTensor(t,"b","maximum");[a,n]=makeTypesMatch(a,n),"bool"===a.dtype&&(a=cast(a,"int32"),n=cast(n,"int32")),assertAndGetBroadcastShape(a.shape,n.shape);return ENGINE.runKernel(Maximum,{a:a,b:n})}const maximum=op({maximum_:maximum_});class Serializable{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class SerializationMap{constructor(){this.classNameMap={}}static getMap(){return null==SerializationMap.instance&&(SerializationMap.instance=new SerializationMap),SerializationMap.instance}static register(e){SerializationMap.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function registerClass(e){assert(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),assert("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),assert(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),SerializationMap.register(e)}class Optimizer extends Serializable{minimize(e,t=!1,a){const{value:n,grads:r}=this.computeGradients(e,a);if(null!=a){const e=a.map((e=>({name:e.name,tensor:r[e.name]})));this.applyGradients(e)}else this.applyGradients(r);return dispose(r),t?n:(n.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return variableGrads(e,t)}dispose(){null!=this.iterations_&&dispose(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:scalar(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(Optimizer,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class AdadeltaOptimizer extends Optimizer{static get className(){return"Adadelta"}constructor(e,t,a=null){super(),this.learningRate=e,this.rho=t,this.epsilon=a,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==a&&(this.epsilon=ENGINE.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t];null==this.accumulatedGrads[a]&&(this.accumulatedGrads[a]={originalName:`${t}/accum_grad`,variable:tidy((()=>zerosLike(n).variable(false)))}),null==this.accumulatedUpdates[a]&&(this.accumulatedUpdates[a]={originalName:`${t}/accum_var`,variable:tidy((()=>zerosLike(n).variable(false)))});const r=Array.isArray(e)?e[a].tensor:e[t];if(null==r)return;const i=this.accumulatedGrads[a].variable,o=this.accumulatedUpdates[a].variable;tidy((()=>{const e=add(mul(i,this.rho),mul(square(r),1-this.rho)),t=mul(div(sqrt(add(o,this.epsilon)),sqrt(add(i,this.epsilon))),r),a=add(mul(o,this.rho),mul(square(t),1-this.rho));i.assign(e),o.assign(a);const l=add(mul(t,-this.learningRate),n);n.assign(l)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(dispose(this.accumulatedGrads.map((e=>e.variable))),dispose(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}class AdagradOptimizer extends Optimizer{static get className(){return"Adagrad"}constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t];if(null==this.accumulatedGrads[a]){const e=!1;this.accumulatedGrads[a]={originalName:`${t}/accumulator`,variable:tidy((()=>fill(n.shape,this.initialAccumulatorValue).variable(e)))}}const r=Array.isArray(e)?e[a].tensor:e[t];if(null==r)return;const i=this.accumulatedGrads[a].variable;tidy((()=>{const e=add(i,square(r));i.assign(e);const t=add(mul(div(r,sqrt(add(e,ENGINE.backend.epsilon()))),-this.learningRate),n);n.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&dispose(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}class AdamOptimizer extends Optimizer{static get className(){return"Adam"}constructor(e,t,a,n=null){super(),this.learningRate=e,this.beta1=t,this.beta2=a,this.epsilon=n,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],tidy((()=>{this.accBeta1=scalar(t).variable(),this.accBeta2=scalar(a).variable()})),null==n&&(this.epsilon=ENGINE.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);tidy((()=>{const a=sub(1,this.accBeta1),n=sub(1,this.accBeta2);t.forEach(((t,r)=>{const i=ENGINE.registeredVariables[t];null==this.accumulatedFirstMoment[r]&&(this.accumulatedFirstMoment[r]={originalName:`${t}/m`,variable:tidy((()=>zerosLike(i).variable(false)))}),null==this.accumulatedSecondMoment[r]&&(this.accumulatedSecondMoment[r]={originalName:`${t}/v`,variable:tidy((()=>zerosLike(i).variable(false)))});const o=Array.isArray(e)?e[r].tensor:e[t];if(null==o)return;const l=this.accumulatedFirstMoment[r].variable,s=this.accumulatedSecondMoment[r].variable,d=add(mul(l,this.beta1),mul(o,1-this.beta1)),c=add(mul(s,this.beta2),mul(square(o),1-this.beta2)),u=div(d,a),m=div(c,n);l.assign(d),s.assign(c);const f=add(mul(div(u,add(sqrt(m),this.epsilon)),-this.learningRate),i);i.assign(f)})),this.accBeta1.assign(mul(this.accBeta1,this.beta1)),this.accBeta2.assign(mul(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&dispose(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&dispose(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),tidy((()=>{this.accBeta1.assign(pow(this.beta1,this.iterations_+1)),this.accBeta2.assign(pow(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}class AdamaxOptimizer extends Optimizer{static get className(){return"Adamax"}constructor(e,t,a,n=null,r=0){super(),this.learningRate=e,this.beta1=t,this.beta2=a,this.epsilon=n,this.decay=r,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],tidy((()=>{this.iteration=scalar(0).variable(),this.accBeta1=scalar(t).variable()})),null==n&&(this.epsilon=ENGINE.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);tidy((()=>{const a=sub(1,this.accBeta1),n=div(-this.learningRate,add(mul(this.iteration,this.decay),1));t.forEach(((t,r)=>{const i=ENGINE.registeredVariables[t];null==this.accumulatedFirstMoment[r]&&(this.accumulatedFirstMoment[r]={originalName:`${t}/m`,variable:zerosLike(i).variable(false)}),null==this.accumulatedWeightedInfNorm[r]&&(this.accumulatedWeightedInfNorm[r]={originalName:`${t}/v`,variable:zerosLike(i).variable(false)});const o=Array.isArray(e)?e[r].tensor:e[t];if(null==o)return;const l=this.accumulatedFirstMoment[r].variable,s=this.accumulatedWeightedInfNorm[r].variable,d=add(mul(l,this.beta1),mul(o,1-this.beta1)),c=mul(s,this.beta2),u=abs(o),m=maximum(c,u);l.assign(d),s.assign(m);const f=add(mul(div(n,a),div(d,add(m,this.epsilon))),i);i.assign(f)})),this.iteration.assign(add(this.iteration,1)),this.accBeta1.assign(mul(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&dispose(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&dispose(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}class SGDOptimizer extends Optimizer{static get className(){return"SGD"}constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=Array.isArray(e)?e[a].tensor:e[t];if(null==n)return;const r=ENGINE.registeredVariables[t];tidy((()=>{const e=add(mul(this.c,n),r);r.assign(e)}))})),this.incrementIterations()}setLearningRate(e){this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=keep(scalar(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}class MomentumOptimizer extends SGDOptimizer{static get className(){return"Momentum"}constructor(e,t,a=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=a,this.accumulations=[],this.m=scalar(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t];if(null==this.accumulations[a]){const e=!1;this.accumulations[a]={originalName:`${t}/momentum`,variable:tidy((()=>zerosLike(n).variable(e)))}}const r=this.accumulations[a].variable,i=Array.isArray(e)?e[a].tensor:e[t];null!=i&&tidy((()=>{let e;const t=add(mul(this.m,r),i);e=add(mul(this.c,this.useNesterov?add(i,mul(t,this.m)):t),n),r.assign(t),n.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&dispose(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}class RMSPropOptimizer extends Optimizer{static get className(){return"RMSProp"}constructor(e,t=.9,a=0,n=null,r=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=a,this.epsilon=n,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=r,null==n&&(this.epsilon=ENGINE.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,a)=>{const n=ENGINE.registeredVariables[t],r=!1;null==this.accumulatedMeanSquares[a]&&(this.accumulatedMeanSquares[a]={originalName:`${t}/rms`,variable:tidy((()=>zerosLike(n).variable(r)))}),null==this.accumulatedMoments[a]&&(this.accumulatedMoments[a]={originalName:`${t}/momentum`,variable:tidy((()=>zerosLike(n).variable(r)))}),null==this.accumulatedMeanGrads[a]&&this.centered&&(this.accumulatedMeanGrads[a]={originalName:`${t}/mg`,variable:tidy((()=>zerosLike(n).variable(r)))});const i=Array.isArray(e)?e[a].tensor:e[t];if(null==i)return;const o=this.accumulatedMeanSquares[a].variable,l=this.accumulatedMoments[a].variable;tidy((()=>{const e=add(mul(o,this.decay),mul(square(i),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[a].variable,r=add(mul(t,this.decay),mul(i,1-this.decay)),s=div(mul(i,this.learningRate),sqrt(sub(e,add(square(r),this.epsilon)))),d=add(mul(l,this.momentum),s);o.assign(e),t.assign(r),l.assign(d);const c=sub(n,d);n.assign(c)}else{const e=add(mul(o,this.decay),mul(square(i),1-this.decay)),t=add(mul(l,this.momentum),div(mul(i,this.learningRate),sqrt(add(e,this.epsilon))));o.assign(e),l.assign(t);const a=sub(n,t);n.assign(a)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&dispose(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&dispose(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&dispose(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,a=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(a)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(a)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(a)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}const OPTIMIZERS=[AdadeltaOptimizer,AdagradOptimizer,AdamOptimizer,AdamaxOptimizer,MomentumOptimizer,RMSPropOptimizer,SGDOptimizer];function registerOptimizers(){for(const e of OPTIMIZERS)registerClass(e)}registerOptimizers();const contexts={},WEBGL_ATTRIBUTES={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function getWebGLContext(e,t){if(!(e in contexts)||null!=t){const a=getWebGLRenderingContext(e,t);if(null===a)return console.log("Could not get context for WebGL version",e),null;contexts[e]=a}const a=contexts[e];return null==a||a.isContextLost()?(delete contexts[e],getWebGLContext(e)):(a.disable(a.DEPTH_TEST),a.disable(a.STENCIL_TEST),a.disable(a.BLEND),a.disable(a.DITHER),a.disable(a.POLYGON_OFFSET_FILL),a.disable(a.SAMPLE_COVERAGE),a.enable(a.SCISSOR_TEST),a.enable(a.CULL_FACE),a.cullFace(a.BACK),contexts[e])}function createCanvas(e){if(env().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}function getWebGLRenderingContext(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const a=null==t?createCanvas(e):t;return a.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete contexts[e]}),!1),env().getBool("SOFTWARE_WEBGL_ENABLED")&&(WEBGL_ATTRIBUTES.failIfMajorPerformanceCaveat=!1),1===e?a.getContext("webgl",WEBGL_ATTRIBUTES)||a.getContext("experimental-webgl",WEBGL_ATTRIBUTES):a.getContext("webgl2",WEBGL_ATTRIBUTES)}var DEFAULT_CDN_URL="https://websdk-cdn-dev.idmission.com/assets";function cropToShoulders(e,t,a,n){if(!e||!t)return"";var r=e.getContext("2d"),i=t.getContext("2d");if(!r||!i)throw new Error("could not get 2d context");e.width=a.width,e.height=a.height,r.putImageData(a,0,0);var o=n.box,l=o.width,s=.6*a.height-l,d=Math.max(0,o.xMin-s/2);isMobile()?(t.width=a.width,t.height=a.height,i.drawImage(e,0,0,t.width,t.height)):(t.width=l+s,t.height=a.height,i.drawImage(e,d,0,t.width,t.height,0,0,t.width,t.height));var c=t.toDataURL("image/jpeg",.92);return clearCanvas(e),clearCanvas(t),c}function cropToBoundingBox(e,t,a){a||(a=document.createElement("canvas"));var n=a.getContext("2d");if(!n)throw new Error("could not get 2d context");var r=getFrameDimensions(e),i=r[0],o=r[1],l=t[0],s=t[1],d=t[2],c=t[3];return a.width=d*i,a.height=c*o,n.drawImage(e,l*i,s*o,d*i,c*o,0,0,d*i,c*o),a}var detector,visionTasksBasePath="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.7/wasm",faceDetectorModelPath="https://websdk-cdn-dev.idmission.com/assets/models/blazeface20240207/blaze_face_short_range.tflite",defaultSelfieCaptureModelLoadTimeoutMs=45e3,NUM_KEYPOINTS=6,GREEN="#32EEDB",RED="#FF2C35";function drawPath(e,t,a){var n=new Path2D;n.moveTo(t[0][0],t[0][1]);for(var r=1;r<t.length;r++){var i=t[r];n.lineTo(i[0],i[1])}a&&n.closePath(),e.stroke(n)}function drawResults(e,t,a,n){t.forEach((function(t){var r=t.keypoints.map((function(e){return[e.x,e.y]}));if(a){e.strokeStyle=RED,e.lineWidth=1;var i=t.box;drawPath(e,[[i.xMin,i.yMin],[i.xMax,i.yMin],[i.xMax,i.yMax],[i.xMin,i.yMax]],!0)}if(n){e.fillStyle=GREEN;for(var o=0;o<NUM_KEYPOINTS;o++){var l=r[o][0],s=r[o][1];e.beginPath(),e.arc(l,s,3,0,2*Math.PI),e.fill()}}}))}function loadHighPerformanceFaceDetector(){return tslib.__awaiter(this,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return detector?[2,detector]:[4,preloadFaceDetectorDependencies()];case 1:return t.sent(),[4,tasksVision.FilesetResolver.forVisionTasks(visionTasksBasePath)];case 2:return e=t.sent(),[4,tasksVision.FaceDetector.createFromOptions(e,{baseOptions:{modelAssetPath:faceDetectorModelPath,delegate:"GPU"},runningMode:"VIDEO"})];case 3:return[2,detector=t.sent()]}}))}))}var HighPerformanceSelfieGuidanceModelsContext=React.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1,error:null,modelDownloadProgress:0}),HighPerformanceSelfieGuidanceModelsProvider=function(e){var t=e.autoStart,a=void 0===t||t,n=e.children,r=e.throttleMs,i=e.onModelError,o=e.modelLoadTimeoutMs,l=void 0===o?defaultSelfieCaptureModelLoadTimeoutMs:o,s=React.useContext(CameraStateContext),d=s.videoRef,c=s.videoLoaded,u=s.cameraReady,m=React.useRef(null),f=React.useRef(),p=React.useState(!1),g=p[0],h=p[1],v=React.useState(!1),b=v[0],_=v[1],y=React.useRef(null),C=React.useRef(0),x=React.useRef(0),R=React.useState(null),E=R[0],I=R[1],T=React.useState(0),w=T[0],M=T[1];React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){function e(e){M(progressToPercentage(e.detail))}var t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:h(!1),document.addEventListener("idmission.preloadProgress.faceDetection",e),t=setTimeout((function(){I(new Error("Model loading time limit exceeded."))}),l),r.label=1;case 1:return r.trys.push([1,3,4,5]),a=y,[4,loadHighPerformanceFaceDetector()];case 2:return a.current=r.sent(),[3,5];case 3:return n=r.sent(),I(n),[3,5];case 4:return clearInterval(t),[7];case 5:return M(100),h(!0),[2,function(){clearInterval(t),document.removeEventListener("idmission.preloadProgress.faceDetection",e)}]}}))}))}),[l]),React.useEffect((function(){E&&(null==i||i(E))}),[E,i]),React.useEffect((function(){if(c&&u&&b&&g){var e;x.current+=1;var t=x.current;return tslib.__awaiter(void 0,void 0,void 0,(function(){var a,n,i,o;return tslib.__generator(this,(function(l){switch(l.label){case 0:return d.current&&y.current?(a=null===(n=m.current)||void 0===n?void 0:n.getContext("2d"),m.current&&(m.current.width=null===(i=d.current)||void 0===i?void 0:i.videoWidth,m.current.height=null===(o=d.current)||void 0===o?void 0:o.videoHeight,null==a||a.translate(d.current.videoWidth,0),null==a||a.scale(-1,1)),[4,function a(){var n,i;return tslib.__awaiter(this,void 0,void 0,(function(){var o,l,s,c,u;return tslib.__generator(this,(function(p){if(!y.current||!d.current||t!==x.current)return[2];if((o=null===(n=m.current)||void 0===n?void 0:n.getContext("2d"))&&4===d.current.readyState){o.drawImage(d.current,0,0,l=d.current.videoWidth,s=d.current.videoHeight),c=void 0;try{(c=y.current.detectForVideo(m.current,performance.now()))&&(u=c.detections.map((function(e){var t,a,n,r,i,o,d,c,u,m,f,p,g,h,v,b;return{keypoints:e.keypoints.map((function(e){var t;return tslib.__assign(tslib.__assign({},e),{x:e.x*l,y:e.y*s,name:null!==(t=e.label)&&void 0!==t?t:""})})),box:{xMin:null!==(a=null===(t=e.boundingBox)||void 0===t?void 0:t.originX)&&void 0!==a?a:0,xMax:(null!==(r=null===(n=e.boundingBox)||void 0===n?void 0:n.originX)&&void 0!==r?r:0)+(null!==(o=null===(i=e.boundingBox)||void 0===i?void 0:i.width)&&void 0!==o?o:0),yMin:null!==(c=null===(d=e.boundingBox)||void 0===d?void 0:d.originY)&&void 0!==c?c:0,yMax:(null!==(m=null===(u=e.boundingBox)||void 0===u?void 0:u.originY)&&void 0!==m?m:0)+(null!==(p=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==p?p:0),width:null!==(h=null===(g=e.boundingBox)||void 0===g?void 0:g.width)&&void 0!==h?h:0,height:null!==(b=null===(v=e.boundingBox)||void 0===v?void 0:v.height)&&void 0!==b?b:0}}})),null===(i=f.current)||void 0===i||i.call(f,u),o&&drawResults(o,u,!0,!0))}catch(e){console.error("caught face detection error",e)}}return e=setTimeout((function(){C.current=requestAnimationFrame(a)}),null!=r?r:0),[2]}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){C.current&&cancelAnimationFrame(C.current),e&&clearTimeout(e)}}}),[u,g,b,r,c,d]);var S=React.useCallback((function(){_(!0)}),[]),D=React.useCallback((function(){_(!1)}),[]);React.useEffect((function(){return a&&S(),function(){D()}}),[a,S,D]);var k=React.useCallback((function(e){f.current=e}),[]),N=React.useMemo((function(){return{start:S,stop:D,ready:g,canvasRef:m,onPredictionMade:k,error:E,modelDownloadProgress:w}}),[E,w,k,g,S,D]);return React__namespace.createElement(HighPerformanceSelfieGuidanceModelsContext.Provider,{value:N},React__namespace.createElement(InvisibleCanvas,{ref:m}),n)},preloadModels=function(e){var t=e.documentDetectionModel,a=void 0===t||t,n=e.focusModel,r=void 0===n||n,i=e.faceDetectionModel,o=void 0===i||i;return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return a||r?[4,preloadIdCaptureDependencies()]:[3,2];case 1:e.sent(),e.label=2;case 2:return o?[4,preloadFaceDetectorDependencies()]:[3,4];case 3:e.sent(),e.label=4;case 4:return[2]}}))}))},progressByUrl={},progressByUseCase={idCapture:{loaded:0,total:0},faceDetection:{loaded:0,total:0}};function preloadDependency(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){return t=new XMLHttpRequest,[2,new Promise((function(a){t.addEventListener("progress",(function(t){t.lengthComputable&&(progressByUrl[e]=t,document.dispatchEvent(new CustomEvent("idmission.preloadProgress",{detail:{url:e,loaded:t.loaded,total:t.total}})))})),t.addEventListener("loadend",(function(){a(4===t.readyState&&200===t.status)})),t.open("GET",e,!0),t.send()}))]}))}))}var idCapturePreloading=!1,faceDetectorPreloading=!1;function preloadIdCaptureDependencies(){return tslib.__awaiter(this,void 0,void 0,(function(){function e(e){t.includes(e.detail.url)&&(progressByUseCase.idCapture=sumUpProgressForDependencies(t),document.dispatchEvent(new CustomEvent("idmission.preloadProgress.idCapture",{detail:progressByUseCase.idCapture})))}var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return idCapturePreloading?[2,new Promise((function(e){setInterval((function(){idCapturePreloading||e()}),100)}))]:(idCapturePreloading=!0,[4,Promise.all([getTfjsModelDependencies(defaultDocumentDetectionModelUrl),getTfjsModelDependencies(defaultFocusModelUrl)])]);case 1:t=a.sent().flat(),document.addEventListener("idmission.preloadProgress",e),a.label=2;case 2:return a.trys.push([2,,4,5]),[4,Promise.all(t.map(preloadDependency))];case 3:return a.sent(),[3,5];case 4:return document.removeEventListener("idmission.preloadProgress",e),idCapturePreloading=!1,[7];case 5:return[2]}}))}))}function preloadFaceDetectorDependencies(){return tslib.__awaiter(this,void 0,void 0,(function(){function e(e){t.includes(e.detail.url)&&(progressByUseCase.faceDetection=sumUpProgressForDependencies(t),document.dispatchEvent(new CustomEvent("idmission.preloadProgress.faceDetection",{detail:progressByUseCase.faceDetection})))}var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:if(faceDetectorPreloading)return[2,new Promise((function(e){setInterval((function(){faceDetectorPreloading||e()}),100)}))];faceDetectorPreloading=!0,t=["".concat(visionTasksBasePath,"/vision_wasm_internal.wasm"),faceDetectorModelPath],document.addEventListener("idmission.preloadProgress",e),a.label=1;case 1:return a.trys.push([1,,3,4]),[4,Promise.all(t.map(preloadDependency))];case 2:return a.sent(),[3,4];case 3:return document.removeEventListener("idmission.preloadProgress",e),faceDetectorPreloading=!1,[7];case 4:return[2]}}))}))}function getTfjsModelDependencies(e){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return t=e.split("/").slice(0,-1).join("/"),[4,fetch(e)];case 1:return[4,a.sent().json()];case 2:return[2,a.sent().weightsManifest[0].paths.map((function(e){return"".concat(t,"/").concat(e)}))]}}))}))}function progressToPercentage(e){return e.total>0?Math.round(100*e.loaded/e.total):0}function sumUpProgressForDependencies(e){return e.reduce((function(e,t){var a=progressByUrl[t];return a?(e.loaded+=a.loaded,e.total+=a.total,e):e}),{loaded:0,total:0})}var IdCaptureModelsContext=React.createContext({ready:!1,modelDownloadProgress:0,working:{current:!1},modelError:null,thresholds:{},setThresholds:function(){return null},makePrediction:function(){return null},onPredictionMade:function(){return null},detectionTime:0,focusPredictionTime:0,getBestFrame:function(){return Promise.resolve(null)},resetBestFrame:function(){return null},bestFrameDetectionScore:0,bestFrameFocusScore:0}),defaultDocumentDetectionModelUrl="".concat(DEFAULT_CDN_URL,"/models/docdetect20240207/model.json"),defaultFocusModelUrl="".concat(DEFAULT_CDN_URL,"/models/focus20240212/model.json"),defaultIdCaptureModelLoadTimeoutMs=45e3,IdCaptureModelsProvider=function(e){var t=e.children,a=e.documentDetectionModelUrl,n=e.focusModelUrl,r=e.logPredictions,i=void 0!==r&&r,o=e.onModelError,l=e.modelLoadTimeoutMs,s=void 0===l?defaultIdCaptureModelLoadTimeoutMs:l,d=React.useState(!1),c=d[0],u=d[1],m=React.useState({}),f=m[0],p=m[1],g=React.useRef(!1),h=React.useRef(),v=React.useRef(null),b=React.useRef(null),_=React.useRef(null),y=React.useState(0),C=y[0],x=y[1],R=React.useState(0),E=R[0],I=R[1],T=React.useState(null),w=T[0],M=T[1],S=React.useState([]),D=S[0],k=S[1],N=React.useState(0),O=N[0],j=N[1],A=React.useState(0),L=A[0],B=A[1],F=React.useState(0),P=F[0],$=F[1];React.useEffect((function(){function e(e){$(progressToPercentage(e.detail))}u(!1),document.addEventListener("idmission.preloadProgress.idCapture",e);var t=a||defaultDocumentDetectionModelUrl,r=n||defaultFocusModelUrl;var i=setTimeout((function(){M(new Error("Model loading time limit exceeded."))}),s);function o(){M(new Error("WebGL context was lost."))}(function(){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return tf__namespace.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,tf__namespace.setBackend("webgl")];case 1:return e.sent(),[4,tf__namespace.ready()];case 2:return e.sent(),[4,preloadIdCaptureDependencies()];case 3:return e.sent(),[4,Promise.all([loadDocumentDetectionModel(t),loadFocusModel(r)])];case 4:return e.sent(),[2]}}))}))})().then((function(){$(100),u(!0)})).catch((function(e){M(e)})).finally((function(){clearInterval(i)}));var l=getWebGLContext(2).canvas;return l.addEventListener("webglcontextlost",o),function(){var t;clearInterval(i),null===(t=l.removeEventListener)||void 0===t||t.call(l,"webglcontextlost",o),document.removeEventListener("idmission.preloadProgress.idCapture",e)}}),[a,n,s]),React.useEffect((function(){w&&(null==o||o(w))}),[w,o]);var z=React.useState(0),U=z[0],G=z[1],W=React.useRef(null),V=React.useRef(0),H=React.useCallback((function(e){g.current=!0,tslib.__awaiter(void 0,void 0,void 0,(function(){var t,a,n,r,o,l;return tslib.__generator(this,(function(s){switch(s.label){case 0:if(!(documentDetectionModel&&focusModel&&_.current&&v.current&&b.current))return[2];t={lastPredictionCanvas:_.current,cropCanvas:v.current,rotateCanvas:b.current},s.label=1;case 1:return s.trys.push([1,3,,4]),[4,makePredictions(e,f,t,i)];case 2:return a=s.sent(),x(a.detectionTime),I(a.focusPredictionTime),V.current<=a.focusScore&&(V.current=a.focusScore,k(null!==(o=null===(r=a.bestDocumentOrPassport)||void 0===r?void 0:r.bbox)&&void 0!==o?o:[]),j(a.detectionScore),B(a.focusScore),drawToCanvas(W.current,_.current)),a.allZero&&G((function(e){return e+1})),null===(l=h.current)||void 0===l||l.call(h,a),[3,4];case 3:return n=s.sent(),["Requested texture size [0x0] is invalid","The image argument is a canvas element with a width or height of 0","CanvasRenderingContext2D.drawImage: Passed-in canvas is empty","The object is in an invalid state"].some((function(e){return n.toString().includes(e)}))?console.log("ignoring error caught while predicting:",n):(console.log("caught an error while predicting!",n),M(n)),[3,4];case 4:return g.current=!1,[2]}}))}))}),[i,f]);React.useEffect((function(){U>=2&&M(new Error("model is returning all zeroes"))}),[U]);var q=React.useCallback((function(e){h.current=e}),[]),Y=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){return W.current?[2,{canvas:W.current,boundingBox:D,detectionScore:O,focusScore:L}]:[2,null]}))}))}),[D,O,L]),Z=React.useCallback((function(){V.current=0,clearCanvas(W.current),clearCanvas(_.current),clearCanvas(v.current),clearCanvas(b.current),k([]),j(0),B(0)}),[]),Q=React.useMemo((function(){return{ready:c,working:g,thresholds:f,setThresholds:p,makePrediction:H,onPredictionMade:q,detectionTime:C,focusPredictionTime:E,getBestFrame:Y,resetBestFrame:Z,bestFrameDetectionScore:O,bestFrameFocusScore:L,modelError:w,modelDownloadProgress:P}}),[O,L,C,E,Y,w,H,q,c,Z,p,f,P]);return React__default.default.createElement(IdCaptureModelsContext.Provider,{value:Q},t,React__default.default.createElement(InvisibleCanvas,{ref:_}),React__default.default.createElement(InvisibleCanvas,{ref:W}),React__default.default.createElement(InvisibleCanvas,{ref:v}),React__default.default.createElement(InvisibleCanvas,{ref:b}))},onMobile=isMobile();function makePredictions(e,t,a,n){var r,i,o,l,s,d,c,u,m,f,p,g;return void 0===n&&(n=!1),tslib.__awaiter(this,void 0,void 0,(function(){var h,v,b,_,y,C,x,R,E,I,T,w,M,S,D,k,N,O,j,A,L,B,F,P,$,z,U,G,W,V,H,q,Y,Z,Q,X,K,J,ee,te;return tslib.__generator(this,(function(ae){switch(ae.label){case 0:return h=getFrameDimensions(e),v=h[0],b=h[1],drawToCanvas(a.lastPredictionCanvas,e),[4,makeDocumentDetectionPredictions(a.lastPredictionCanvas,n)];case 1:return _=ae.sent(),C=_.scores,x=_.labels,R=_.time,E=(y=_.boxes).length>0&&!y.some((function(e){return e.some((function(e){return e>0}))})),I=applyNonMaxSuppression(y.map((function(e,t){return bboxToDetectedObjectUnscaled(e,C[t],x[t])}))),T=I.find((function(e){return"Document"===e.label})),w=I.find((function(e){return"Passport Page"===e.label})),M=null!==(r=null==T?void 0:T.score)&&void 0!==r?r:0,S=null!==(i=null==w?void 0:w.score)&&void 0!==i?i:0,D=S>=(null!==(o=t.passport)&&void 0!==o?o:0),k=M>S?T:w,O=(N=D?S:M)>=(null!==(l=t.document)&&void 0!==l?l:0),j="none",D?j="passport":O&&(j="idCard"),A=I.find((function(e){return"MRZ"===e.label})),L=null!==(s=null==A?void 0:A.score)&&void 0!==s?s:0,B=L>=(null!==(d=t.mrz)&&void 0!==d?d:0),F=I.find((function(e){return"PDF417"===e.label})),P=null!==(c=null==F?void 0:F.score)&&void 0!==c?c:0,$=P>=(null!==(u=t.pdf417)&&void 0!==u?u:0),z=!1,k&&(20,G=(U=k.bbox)[0],W=U[1],V=U[2],H=U[3],G*=v,V*=v,H*=b,z=(W*=b)>20&&W+H+20<b&&(G>20||G<20&&G+V>.8*v)&&G+V+20<v),q=!1,k&&(Z=(Y=[k.bbox[2],k.bbox[3]])[1],q=Y[0]>.85||Z>.85),Q=null,X=0,K=0,J=!1,O&&z&&!q?[4,makeFocusPrediction(a.lastPredictionCanvas,a,null==k?void 0:k.bbox,n)]:[3,3];case 2:te=ae.sent(),X=te[1],K=null!==(m=null==(Q=te[0])?void 0:Q[1])&&void 0!==m?m:0,ee=null!==(g=onMobile?null===(f=t.focus)||void 0===f?void 0:f.mobile:null===(p=t.focus)||void 0===p?void 0:p.desktop)&&void 0!==g?g:0,J=K>=ee,ae.label=3;case 3:return[2,{detectedObjects:I,detectionScore:N,detectionTime:R,detectionThresholdMet:O,detectedDocumentType:j,passportDetectionScore:S,passportDetectionThresholdMet:D,mrzDetectionScore:L,mrzDetectionThresholdMet:B,pdf417DetectionScore:P,pdf417DetectionThresholdMet:$,bestDocumentOrPassport:k,bestMrz:A,bestPdf417:F,documentInBounds:z,documentTooClose:q,focusScore:K,focusThresholdMet:J,focusPredictionTime:X,frameWidth:v,frameHeight:b,allZero:E}]}}))}))}function makeDocumentDetectionPredictions(e,t){return void 0===t&&(t=!1),tslib.__awaiter(this,void 0,void 0,(function(){var a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b;return tslib.__generator(this,(function(_){switch(_.label){case 0:if(!documentDetectionModel)throw new Error("document detection model is not loaded");a=new Date,_.label=1;case 1:return _.trys.push([1,7,8,9]),tf__namespace.engine().startScope(),n=tf__namespace.browser.fromPixels(e),t&&console.time("resize"),r=tf__namespace.image.resizeBilinear(n,[448,448]),t&&console.timeEnd("resize"),t&&console.time("convert to int32"),i=tf__namespace.cast(r,"int32"),s=(l=tf__namespace).tensor4d,c=(d=Array).from,[4,i.data()];case 2:return o=s.apply(l,[c.apply(d,[_.sent()]),[1,448,448,3]]),u=tf__namespace.cast(o,"int32"),t&&console.timeEnd("convert to int32"),t&&console.time("predictions"),[4,documentDetectionModel.executeAsync(u)];case 3:return m=_.sent(),t&&console.timeEnd("predictions"),f=m,t&&console.log("predictions made!",f.map((function(e){return e.arraySync()}))),[4,f[documentDetectionModel.outputPositions.boxes].array()];case 4:return p=_.sent()[0],[4,f[documentDetectionModel.outputPositions.scores].array()];case 5:return g=_.sent()[0],[4,f[documentDetectionModel.outputPositions.labels].array()];case 6:return h=(h=_.sent()[0]).map((function(e){return Math.round(e)})),v=(new Date).getTime()-a.getTime(),[2,{boxes:p,scores:g,labels:h,time:v}];case 7:return b=_.sent(),console.error("caught error in makeDocumentDetectionPredictions",b),[2,{boxes:[],scores:[],labels:[],time:0}];case 8:return tf__namespace.engine().endScope(),[7];case 9:return[2]}}))}))}function makeFocusPrediction(e,t,a,n){return void 0===n&&(n=!1),tslib.__awaiter(this,void 0,void 0,(function(){var r,i,o,l,s,d,c,u,m,f,p,g,h,v,b,_,y,C,x;return tslib.__generator(this,(function(R){switch(R.label){case 0:if(!focusModel)throw new Error("focus model is not loaded");r=new Date,R.label=1;case 1:return R.trys.push([1,5,6,7]),tf__namespace.engine().startScope(),i=void 0,a?(o=cropToBoundingBox(e,a,t.cropCanvas),l=getFrameDimensions(e),(c=(s=[a[2]*l[0],a[3]*l[1]])[1])>(d=s[0])&&(m=(u=t.rotateCanvas).getContext("2d"))&&(u.width=c,u.height=d,m.clearRect(0,0,u.width,u.height),m.translate(u.width/2,u.height/2),m.rotate(1.5708),m.drawImage(o,-d/2,-c/2),o=u),i=tf__namespace.browser.fromPixels(o)):i=tf__namespace.browser.fromPixels(e),f=tf__namespace.image.resizeBilinear(i,[448,448]).div(tf__namespace.scalar(127.5)).sub(tf__namespace.scalar(1)),p=tf__namespace.cast(f,"float32"),v=(h=tf__namespace).tensor4d,_=(b=Array).from,[4,p.data()];case 2:return g=v.apply(h,[_.apply(b,[R.sent()]),[1,448,448,3]]),y=tf__namespace.cast(g,"float32"),n&&console.time("focus prediction"),[4,focusModel.predict(y)];case 3:return[4,R.sent().array()];case 4:return C=R.sent()[0],n&&console.timeEnd("focus prediction"),x=(new Date).getTime()-r.getTime(),[2,[C,x]];case 5:return R.sent(),[2,[[0,0],0]];case 6:return tf__namespace.engine().endScope(),[7];case 7:return[2]}}))}))}function applyNonMaxSuppression(e){var t={};return e.forEach((function(e,a){e&&(t[e.label]||(t[e.label]=[0,-1]),e.score>t[e.label][0]&&(t[e.label]=[e.score,a]))})),Object.keys(t).map((function(a){return e[t[a][1]]})).filter((function(e){return!!e}))}var CapturedDocumentTypeValues=["idCardFront","idCardBack","passport","selfie"],requiredDocumentsForOption={passport:["passport"],idCard:["idCardFront","idCardBack"],idCardAndPassport:["idCardFront","idCardBack","passport"],idCardOrPassport:["idCardFront","idCardBack","passport"]};function requiredImageCountForOption(e){return"idCardOrPassport"===e?1:requiredDocumentsForOption[e].length}function allowedImageCountForOption(e){return"idCardOrPassport"===e?2:requiredImageCountForOption(e)}var initialState$4={initialDrawComplete:!1,redrawing:!1,guideRectX:0,guideRectY:0,guideRectWidth:0,guideRectHeight:0,guideRectOffsetTop:0,guideImageWidth:0,guideImageHeight:0,pageWidth:0,pageHeight:0,videoWidth:0,videoHeight:0,detectedObjects:[],bestDocument:void 0,bestMrz:void 0,bestPdf417:void 0,documentType:"none",documentInBounds:!1,documentTooClose:!1,documentDetectionScore:0,documentDetectionThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThresholdMet:!1,focusScore:0,focusThresholdMet:!1,barcodeScanningEnabled:!1,barcodeResult:null,waitingForBarcodeScan:!1,shouldScanBarcode:!1,autoCaptureBarcodeRequired:"mobile",barcodeScanFailedAttempts:0,maxBarcodeScanAttempts:10,isGoodFrame:!1,goodFramesCount:0,goodFramesThreshold:3,goodFramesThresholdMet:!1,lastFrameCapturedAt:null,frameCaptureRate:0,capturing:!1,captured:!1,captureFailed:!1,imageUrl:null,captureState:"capturing",capturedDocuments:{},captureRequirement:"idCardOrPassport",requestedDocumentType:"idCardFront",detectedDocumentType:"none",differentDocumentTypeDetections:0},IdCaptureStateContext=React.createContext(initialState$4),IdCaptureDispatchContext=React.createContext((function(){})),reducer$4=function e(t,a){var n;switch(a.type){case"configureWizard":var r=a.payload,i=r.captureRequirement,o=r.precapturedDocuments,l=tslib.__assign(tslib.__assign({},t),{captureRequirement:i});if("passport"===i&&(l.requestedDocumentType="passport"),o)for(var s=0,d=CapturedDocumentTypeValues;s<d.length;s++){var c=d[s],u=o[c];u&&(l.requestedDocumentType=c,l=e(l,{type:"documentCaptured",payload:u}))}return l;case"configureCapture":return tslib.__assign(tslib.__assign(tslib.__assign({},t),a.payload),{goodFramesCount:0,capturing:!1,captured:!1,captureFailed:!1});case"redrawRequested":return tslib.__assign(tslib.__assign({},t),{redrawing:!0,guideRectX:0,guideRectY:0,guideRectWidth:0,guideRectHeight:0,guideRectOffsetTop:0});case"redrawInProgress":return tslib.__assign(tslib.__assign({},t),{redrawing:!1,guideRectX:0,guideRectY:0,guideRectWidth:0,guideRectHeight:0,guideRectOffsetTop:0});case"redrawCompleted":return tslib.__assign(tslib.__assign(tslib.__assign({},t),a.payload),{initialDrawComplete:!0});case"pageRendered":return tslib.__assign(tslib.__assign({},t),a.payload);case"guideImageLoaded":return tslib.__assign(tslib.__assign({},t),{guideImageWidth:a.payload.width,guideImageHeight:a.payload.height});case"objectsDetected":var m=a.payload.prediction,f=m.detectedObjects,p=m.detectionScore,g=m.detectionThresholdMet,h=m.detectedDocumentType,v=m.passportDetectionScore,b=m.passportDetectionThresholdMet,_=m.mrzDetectionScore,y=m.mrzDetectionThresholdMet,C=m.pdf417DetectionScore,x=m.pdf417DetectionThresholdMet,R=m.bestDocumentOrPassport,E=m.bestMrz,I=m.bestPdf417,T=m.documentInBounds,w=m.documentTooClose,M=m.focusScore,S=m.focusThresholdMet,D=m.frameWidth,k=m.frameHeight,N=new Date,O=0,j=t.goodFramesThreshold;t.lastFrameCapturedAt&&(O=1e3/(N.getTime()-t.lastFrameCapturedAt.getTime()))>0&&(j=Math.ceil(3*O));var A=!0===t.autoCaptureBarcodeRequired||"mobile"===t.autoCaptureBarcodeRequired&&isMobile(),L=t.barcodeScanningEnabled&&x&&A,B=L&&!t.barcodeResult,F=g&&T&&!w&&S,P=t.goodFramesCount;return F&&(P+=1),tslib.__assign(tslib.__assign({},t),{videoWidth:D,videoHeight:k,detectedObjects:f,bestDocument:R,bestMrz:E,bestPdf417:I,documentType:h,documentInBounds:T,documentTooClose:w,documentDetectionScore:p,documentDetectionThresholdMet:g,mrzDetectionScore:_,mrzDetectionThresholdMet:y,pdf417DetectionScore:C,pdf417DetectionThresholdMet:x,passportPageDetectionScore:v,passportPageDetectionThresholdMet:b,focusScore:M,focusThresholdMet:S,shouldScanBarcode:L,waitingForBarcodeScan:B,isGoodFrame:F,goodFramesCount:P,goodFramesThreshold:j,goodFramesThresholdMet:P>=j,lastFrameCapturedAt:N,frameCaptureRate:O});case"predictionMade":var $=a.payload,z=$.detectedDocumentType,U=$.passportDetectionScore,G=t.requestedDocumentType;l=tslib.__assign(tslib.__assign({},t),{detectedDocumentType:z});if("idCardOrPassport"===t.captureRequirement)G.startsWith(z)&&(l.differentDocumentTypeDetections=0),"passport"===z&&"passport"!==G&&(l.requestedDocumentType="passport"),"passport"===G&&U<.3&&(l.requestedDocumentType="idCardFront"in t.capturedDocuments?"idCardBack":"idCardFront");return l;case"barcodeScanned":return tslib.__assign(tslib.__assign({},t),{barcodeResult:a.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":return(l=tslib.__assign(tslib.__assign({},t),{barcodeScanFailedAttempts:t.barcodeScanFailedAttempts+1})).barcodeScanFailedAttempts>=l.maxBarcodeScanAttempts&&(l.autoCaptureBarcodeRequired=!1,l.shouldScanBarcode=!1,l.waitingForBarcodeScan=!1),l;case"capturing":return tslib.__assign(tslib.__assign({},t),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return tslib.__assign(tslib.__assign({},t),{capturing:!1,captured:!0,captureFailed:!1});case"frameCaptured":return tslib.__assign(tslib.__assign({},t),{imageUrl:a.payload.imageUrl});case"captureFailed":return tslib.__assign(tslib.__assign({},t),{capturing:!1,captured:!1,captureFailed:!0});case"documentCaptured":var W=tslib.__assign(tslib.__assign({},t),{capturedDocuments:tslib.__assign(tslib.__assign({},t.capturedDocuments),(n={},n[t.requestedDocumentType]=a.payload,n))}),V=requiredDocumentsForOption[t.captureRequirement].filter((function(e){return!(e in W.capturedDocuments)}));return"idCardOrPassport"===t.captureRequirement&&(V="passport"===t.requestedDocumentType?[]:V.filter((function(e){return"passport"!==e}))),0===V.length?W.captureState="complete":(W.requestedDocumentType=V[0],"idCardFront"===t.requestedDocumentType&&"idCardBack"===W.requestedDocumentType&&(W.captureState="requestingFlip",W.documentDetectionThresholdMet=!1,W.passportPageDetectionThresholdMet=!1)),W;case"documentCapturedManually":l=tslib.__assign({},t);var H=tslib.__assign(tslib.__assign({},a.payload),{width:0,height:0});return 0===Object.keys(t.capturedDocuments).length?l.capturedDocuments.passport=H:(l.capturedDocuments={},l.capturedDocuments.idCardFront=t.capturedDocuments.passport,l.capturedDocuments.idCardBack=H),l;case"flipRequestCompleted":return tslib.__assign(tslib.__assign({},t),{captureState:"capturing"});case"resetWizard":return tslib.__assign({},initialState$4);default:return t}},IdCaptureStateProvider=function(e){var t=e.children,a=React.useReducer(reducer$4,initialState$4),n=a[0],r=a[1],i=useDebounce.useDebouncedCallback((function(){r({type:"redrawRequested"})}),500);return React.useLayoutEffect((function(){if("undefined"!=typeof window)return window.addEventListener("resize",i),function(){window.removeEventListener("resize",i)}}),[i]),React__default.default.createElement(IdCaptureStateContext.Provider,{value:n},React__default.default.createElement(IdCaptureDispatchContext.Provider,{value:r},t))},useIdCaptureState=function(){var e=React.useContext(IdCaptureStateContext),t=React.useContext(IdCaptureDispatchContext);if(!e||!t)throw new Error("useIdCaptureState cannot be used without IdCaptureStateProvider");return[e,t]},DebugStatsPane=styled__default.default.span(templateObject_1$B||(templateObject_1$B=tslib.__makeTemplateObject(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"],["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"]))),ObjectDetectionDebugOverlayDiv=styled__default.default.div(templateObject_2$q||(templateObject_2$q=tslib.__makeTemplateObject(["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"],["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"])),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),ObjectDetectionDebugBox=styled__default.default.div(templateObject_3$j||(templateObject_3$j=tslib.__makeTemplateObject(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"],["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),FaceDetectionKeypointMarker=styled__default.default.div(templateObject_4$e||(templateObject_4$e=tslib.__makeTemplateObject(["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"],["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""}));function useDebugScalingDetails(e){var t=e.enabled,a=void 0===t||t,n=e.pageWidth,r=e.pageHeight,i=e.videoWidth,o=e.videoHeight;return React.useMemo((function(){var e=!1,t=0,l=0,s=0,d=0;return a&&((e=n/r<i/o)?s=((t=i*(r/o))-n)/2:d=((l=o*(n/i))-r)/2),{horizontal:e,pageWidth:n,pageHeight:r,videoWidth:i,videoHeight:o,scaledWidth:t,scaledHeight:l,xOffset:s,yOffset:d}}),[a,r,n,o,i])}var templateObject_1$B,templateObject_2$q,templateObject_3$j,templateObject_4$e,DebugBoundingBoxOverlay=function(e){var t=e.scaling,a=e.$flipX,n=e.children,r=useIdCaptureState()[0];return React__default.default.createElement(ObjectDetectionDebugOverlayDiv,{$flipX:a,style:{top:r.guideRectY,left:r.guideRectX,width:r.guideRectWidth||(null==t?void 0:t.pageWidth),height:r.guideRectHeight||(null==t?void 0:t.pageHeight)}},n)};function IdCaptureDetectedObjectDebugBox(e){var t=e.obj,a=e.color,n=[t.bbox[1],t.bbox[0],t.bbox[2],t.bbox[3]],r=n[1],i=n[2],o=n[3];return React__default.default.createElement(ObjectDetectionDebugBox,{$flipX:e.flipX,$color:void 0===a?"green":a,style:{top:"".concat(100*n[0],"%"),left:"".concat(100*r,"%"),width:"".concat(100*i,"%"),height:"".concat(100*o,"%")}},t.label," (",t.score.toFixed(3),")")}function SelfieCaptureFaceDebugBox(e){var t,a,n,r,i=e.face,o=e.flipX,l=e.color,s=e.scaling,d=s.pageWidth,c=s.pageHeight,u=s.videoWidth,m=s.videoHeight,f=s.scaledWidth,p=s.scaledHeight;return u&&m&&d&&c?(s.horizontal?(t=i.box.yMin/m*c,a=i.box.xMin/u*f-s.xOffset,n=i.box.width/u*f,r=i.box.height/m*c):(t=i.box.yMin/m*p-s.yOffset,a=i.box.xMin/u*d,n=i.box.width/u*d,r=i.box.height/m*p),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ObjectDetectionDebugBox,{$flipX:o,$color:void 0===l?"green":l,style:{top:t,left:a,width:n,height:r}}),i.keypoints.map((function(e,t){return React__default.default.createElement(SelfieCaptureFaceKeypoint,{key:t,point:e,scaling:s,flipX:o})})))):React__default.default.createElement(React__default.default.Fragment,null)}function SelfieCaptureFaceKeypoint(e){var t,a,n=e.point,r=e.color,i=e.scaling,o=i.videoWidth,l=i.videoHeight;return i.horizontal?(t=n.x/o*i.scaledWidth-i.xOffset,a=n.y/l*i.pageHeight):(t=n.x/o*i.pageWidth,a=n.y/l*i.scaledHeight-i.yOffset),React__default.default.createElement(FaceDetectionKeypointMarker,{$flipX:e.flipX,$color:void 0===r?"red":r,style:{top:a-=2,left:t-=2}})}var enTranslation={},esTranslation={"Use your device camera to capture your ID":"Para capturar la identificación hay que utilizar la cámara del dispositivo.","Use your iPhone as a webcam":"Usar el iPhone como cámara web","Models warming up...":"Cargando modelos...","Camera initializing...":"Inicializando la cámara...","Camera access blocked":"Acceso bloqueado a la cámara","Location access blocked":"Acceso bloqueado a la localización",Continue:"Continuar","Processing...":"Procesando...","Your camera permission is disabled":"El permiso de la cámara está desactivado","This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.":"Esta aplicación requiere el acceso a la cámara para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la cámara en el explorador actual.","Your location permission is disabled":"El permiso de la localización está desactivado","This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.":"Esta aplicación requiere el acceso a la localización para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la localización en el explorador actual.",Retry:"Reintentar","Scan the front of ID":"Escanear el frente de la ID","Scan the back of ID":"Escanear el reverso de la ID","Scan the ID page of passport":"Escanear la página de datos del pasaporte","ID Card Front":"Frente de la ID","ID Card Back":"Reverso de la ID",Passport:"Pasaporte","Document not detected":"No se ha detectado el documento","Document is not centered":"Documento no centrado","Document too close, please back up":"Documento muy cerca, favor de alejarse","Document out of focus – try improving the lighting":"Documento no enfocado - hay que tratar de mejorar la iluminación","Document detected, hold still...":"Se ha detectado el documento, no moverse por favor...","Capturing...":"Capturando...","Capture failed!":"Falló la captura","Please flip your ID card...":"Por favor voltea la identificación...","ID card front captured.":"Se ha capturado el frente de la identificación.","ID Capture Successful":"Captura Exitosa de ID","Verify the entire ID was captured clearly with no glare.":"Hay que verificar que toda la ID se vea completa y sin reflejos.",Submit:"Enviar","Submitting...":"Enviando...","Use your device camera to capture your face":"Hay que utilizar la cámara del dispositivo para capturar el rostro","Remove Sunglasses & Hat":"Hay que quitarse lentes y/o la gorra","Avoid Excessive Backlighting":"Hay que evitar demasiada luz en el fondo","Hold still for a few seconds...":"Hay que permanecer quieto por unos segundos...","Look straight into the camera...":"Hay que mirar directamente a la cámara...","Move back...":"Hay que hacerse hacia atrás..","Move forward...":"Hay que hacerse hacia adelante...","Move to the center...":"Hay que moverse hacia el centro...","Please remove your eye coverings (sunglasses, eye patch, etc.)...":"Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...","Please remove your head coverings (hat, scarf, etc.)...":"Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...","Please remove your mask...":"Hay que quitarse el cubrebocas...","Live face not detected, please try again":"Rostro vivo no detectado. Por favor hay que intentar de nuevo.",Exit:"Salir","Face liveness has been verified!":"Se ha verificado la Prueba de Vida en rostro!",Done:"Terminar","Customer has been identified!":"¡Se ha identificado al cliente!","Customer not found":"Cliente no encontrado","Additional document capture":"Captura de otro documento",Next:"Siguiente","Please sign the box below":"Por favor, hay que firmar en el recuadro de abajo",Accept:"Aceptar",Clear:"Borrar","Video signature has been successfully captured!":"La video firma ha sido exitosa.","Network unreachable":"No hay conexión a internet.","We're having trouble reaching our services, please check your connection and try again.":"Estamos teniendo problemas para alcanzar nuestros servicios, por favor verificar la conexión a internet e intentar de nuevo.","We're sorry, an unexpected error has occurred.":"Lo sentimos, se ha producido un error inesperado.","Document Capture":"Captura de documento",Capture:"Capturar","Retry capture":"Reintentar la captura",Upload:"Enviar","Uploading...":"Procesando...","Upload succeeded!":"Proceso completo!","Display the front of your ID card...":"Hay que mostrar el frente de la identificación...","Display the back of your ID card...":"Hay que mostrar el reverso de la identificación...","Please move your face to the center...":"Por favor, hay que mover la cabeza hacia el centro...","Please read the following text aloud":"Hay que leer el siguiente texto en voz alta","Video ID has been successfully captured!":"Video ID capturado exitosamente!","We're having some trouble.":"Se ha presentado un problema.","On-device capture guidance failed, please capture a selfie manually.":"La captura automática para toma de selfie falló. Por favor, hay que tomarse la selfie manualmente.","Verifying...":"Verificando....","Please capture the front of your ID card.":"Hay que capturar el frente de la identificación.","Please capture the back of your ID card.":"Hay que capturar el reverso de la identificación.","Please capture the front of your ID card, or the ID page of your passport.":"Hay que capturar el frente de la identificación o la página de datos del pasaporte.","Please capture the back of your ID card, or click Done if submitting a passport.":"Hay que capturar el reverso de la identificación o hay que presionar el botón de Terminar si se trata de un pasaporte.","Please capture the ID page of your passport.":"Hay que capturar la página de datos del pasaporte.","On-device capture guidance failed, please capture a photo of your ID card manually.":"La captura automática falló. Por favor hay que tomar una foto de la identificación manualmente.","On-device capture guidance failed, please capture a photo of your passport manually.":"La captura automática falló. Por favor hay que tomar una foto de la pasaporte manualmente.","On-device capture guidance failed, please capture photos of your ID card and passport manually.":"La captura automática falló. Por favor hay que tomar una foto de la identificación y del pasaporte manualmente.","On-device capture guidance failed, please capture photos of your ID card or passport manually.":"La captura automática falló. Por favor hay que tomar una foto de la identificación o del pasaporte manualmente.","Downloading...":"Descargando...","Accessing camera...":"Accediendo a la cámara","Camera ready":"Cámara está lista","Loading guided capture experience...":"Cargando la experiencia guiada para la captura....","Guided capture experience ready":"La experiencia guiada está lista","Let's Go!":"Vamos!"},resources={en:{translation:enTranslation},es:{translation:esTranslation}};function initializeI18n(){i18n__default.default.use(LanguageDetector__default.default).use(reactI18next.initReactI18next).init({resources:resources,detection:{caches:[]},fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}})}var useLanguage=function(e){var t=reactI18next.useTranslation().i18n;React.useEffect((function(){"auto"!==e?t.changeLanguage(e):t.changeLanguage()}),[t,e])};function evaluateVerbiage(e,t,a,n){if("string"==typeof a)return a;if("object"==typeof a){var r=a;if(r[t])return r[t];var i=t.split("-")[0];if(r[i])return r[i]}return e(n)}function useVerbiage(e,t){var a=reactI18next.useTranslation(),n=a.t,r=a.i18n;return React.useMemo((function(){return evaluateVerbiage(n,r.language,e,t)}),[t,r.language,n,e])}function useTranslations(e,t){var a=reactI18next.useTranslation(),n=a.t,r=a.i18n;return React.useMemo((function(){return tslib.__assign(tslib.__assign({},e),Object.keys(t).reduce((function(a,i){var o;return tslib.__assign(tslib.__assign({},a),((o={})[i]=evaluateVerbiage(n,r.language,null==e?void 0:e[i],t[i]),o))}),{}))}),[t,r.language,n,e])}var templateObject_1$A,templateObject_2$p,templateObject_1$z,templateObject_2$o,templateObject_3$i,templateObject_4$d,templateObject_1$y,templateObject_1$x,GuidanceMessageContainerDiv=styled__default.default.div(templateObject_1$A||(templateObject_1$A=tslib.__makeTemplateObject(["\n position: absolute;\n top: calc(",");\n ","\n font-weight: bold;\n width: 100%;\n display: flex;\n"],["\n position: absolute;\n top: calc(",");\n ","\n font-weight: bold;\n width: 100%;\n display: flex;\n"])),(function(e){var t=e.$top;return null!=t?t:"10vh"}),(function(e){var t=e.$bottom;return t?"bottom: ".concat(t,";"):""})),GuidanceMessageContainer=function(e){var t=React__default.default.createElement(GuidanceMessageContainerDiv,tslib.__assign({},e)),a=document.getElementById("idmission-above-guides-content");return a?reactDom.createPortal(t,a):t},GuidanceMessage=styled__default.default.div(templateObject_2$p||(templateObject_2$p=tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"],["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"])),(function(e){var t,a,n,r,i,o;return null!==(o=null!==(t=e.$background)&&void 0!==t?t:null===(i=null===(n=null===(a=e.theme)||void 0===a?void 0:a.guidanceMessages)||void 0===n?void 0:n[null!==(r=e.$variant)&&void 0!==r?r:"default"])||void 0===i?void 0:i.backgroundColor)&&void 0!==o?o:"#ccc"}),(function(e){var t,a,n,r,i,o;return null!==(o=null!==(t=e.$textColor)&&void 0!==t?t:null===(i=null===(n=null===(a=e.theme)||void 0===a?void 0:a.guidanceMessages)||void 0===n?void 0:n[null!==(r=e.$variant)&&void 0!==r?r:"default"])||void 0===i?void 0:i.textColor)&&void 0!==o?o:"black"})),IdCapture=function(e){var t,a,n,r,i,o,l,s,d,c=e.requiredDocumentType,u=e.autoCaptureEnabled,m=void 0===u||u,f=e.autoCaptureScoreThreshold,p=void 0===f?.8:f,g=e.autoCaptureGoodFramesRequired,h=void 0===g?3:g,v=e.autoCaptureBarcodeRequired,b=void 0===v?"mobile":v,_=e.mrzDetectionScoreThreshold,y=void 0===_?.25:_,C=e.passportPageDetectionThreshold,x=void 0===C?.6:C,R=e.pdf417DetectionThreshold,E=void 0===R?.15:R,I=e.focusScoreThreshold,T=void 0===I?.3:I,w=e.barcodeScanningEnabled,M=void 0===w||w,S=e.maxBarcodeScanAttempts,D=void 0===S?10:S,k=e.guidanceMessage,N=e.guidanceSatisfied,O=e.onPrediction,j=e.onBarcodeScanned,A=e.onCapture,L=e.assets,B=void 0===L?{}:L,F=e.classNames,P=void 0===F?{}:F,$=e.colors,z=void 0===$?{}:$,U=e.verbiage,G=void 0===U?{}:U,W=e.debugMode,V=void 0!==W&&W,H=useResizeObserver__default.default(),q=H.ref,Y=H.width,Z=void 0===Y?1:Y,Q=H.height,X=void 0===Q?1:Q,K=useIdCaptureState(),J=K[0],ee=K[1],te=React.useContext(CameraStateContext),ae=te.cameraRef,ne=te.cameraReady,re=te.takePhoto,ie=te.videoRef,oe=te.videoLoaded,le=React.useRef(),se=React.useContext(IdCaptureModelsContext),de=se.ready,ce=se.working,ue=se.setThresholds,me=se.makePrediction,fe=se.onPredictionMade,pe=se.detectionTime,ge=se.focusPredictionTime,he=se.getBestFrame,ve=se.resetBestFrame;React.useEffect((function(){le.current=new Date}),[]),React.useEffect((function(){ee({type:"configureCapture",payload:{requiredDocumentType:c,goodFramesThreshold:h,autoCaptureBarcodeRequired:b,barcodeScanningEnabled:M,maxBarcodeScanAttempts:D}}),ve(),ue({document:p,passport:x,mrz:y,pdf417:E,focus:{mobile:T}})}),[c,p,T,y,h,b,M,D,x,E,ve,ue,ee]),React.useEffect((function(){ee({type:"pageRendered",payload:{pageWidth:Z,pageHeight:X}})}),[ee,X,Z]);var be=React.useRef(0),_e=React.useRef(!1);React.useEffect((function(){_e.current=oe&&ne&&de&&!J.capturing&&!J.captured}),[ne,J.captured,J.capturing,de,oe]);var ye=React.useState(null),Ce=ye[0],xe=ye[1];React.useEffect((function(){if(de&&ne&&oe)return be.current=requestAnimationFrame((function e(){return tslib.__awaiter(this,void 0,void 0,(function(){var t,a;return tslib.__generator(this,(function(n){switch(n.label){case 0:if(!_e.current||ce.current)return[3,5];n.label=1;case 1:return n.trys.push([1,4,,5]),J.shouldScanBarcode?[4,re()]:[3,3];case 2:if(!(t=n.sent()))return be.current=requestAnimationFrame(e),[2];xe(t),n.label=3;case 3:return ie.current&&me(ie.current),[3,5];case 4:return a=n.sent(),console.error("error capturing frame",a),[3,5];case 5:return be.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(be.current)}}),[ne,me,de,ce,J.shouldScanBarcode,re,oe,ie]),React.useEffect((function(){fe((function(e){ee({type:"objectsDetected",payload:{prediction:e}}),null==O||O(e)}))}),[ee,O,fe]),React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return J.shouldScanBarcode&&Ce?[4,scanBarcode(Ce,null===(t=J.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=a.sent())?(ee({type:"barcodeScanned",payload:{result:e}}),null==j||j(e)):ee({type:"barcodeScanFailed"}),a.label=2;case 2:return[2]}}))}))}),[j,J.shouldScanBarcode,null===(t=J.bestPdf417)||void 0===t?void 0:t.bbox,re,Ce,ee]);var Re=m&&J.goodFramesThresholdMet&&!J.capturing&&!J.captured&&!J.waitingForBarcodeScan&&timeSince(le.current)>=3e3;React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n,r,i,o,l,s,d;return tslib.__generator(this,(function(c){switch(c.label){case 0:return Re?(ee({type:"capturing"}),[4,he()]):[2];case 1:if(!(e=c.sent()))return console.log("uh oh, i did not get a photo"),ee({type:"captureFailed"}),[2];if(a=e.boundingBox,n=e.detectionScore,r=e.focusScore,o=(t=e.canvas).height,l=t,((i=t.width)>1920&&o>1080||i>1080&&o>1920)&&J.barcodeResult){if(l=document.createElement("canvas"),i>o?(l.width=1920,l.height=o*(1920/i)):(l.height=1920,l.width=i*(1920/o)),!(s=l.getContext("2d")))return[2];s.drawImage(t,0,0,l.width,l.height)}return d=l.toDataURL("image/jpeg",.95),ee({type:"frameCaptured",payload:{imageUrl:d}}),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=le.current)&&void 0!==e?e:new Date).getTime();null==A||A(d,i,o,{autoCapture:"Y",captureTime:t,boundingBox:a,bestDetectionScore:n,bestFocusScore:r}),ee({type:"captured"})}),0),[2]}}))}))}),[ee,he,A,Re,J.barcodeResult]),B.portraitGuidesImageUrl||(B.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),B.landscapeGuidesImageUrl||(B.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg"));var Ee=styled.useTheme();z.guideBoxUnsatisfiedColor||(z.guideBoxUnsatisfiedColor=null!==(r=null===(n=null===(a=Ee.idCapture)||void 0===a?void 0:a.guideBox)||void 0===n?void 0:n.unsatisfiedColor)&&void 0!==r?r:"white"),z.guideBoxSatisfiedColor||(z.guideBoxSatisfiedColor=null!==(l=null===(o=null===(i=Ee.idCapture)||void 0===i?void 0:i.guideBox)||void 0===o?void 0:o.satisfiedColor)&&void 0!==l?l:"green");var Ie=useTranslations(G,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!",guidanceSatisfiedText:"Document detected, hold still...",guidanceTooBlurryText:"Document out of focus – try improving the lighting",guidanceNotCenteredText:"Document is not centered",guidanceTooCloseText:"Document too close, please back up",guidanceNotDetectedText:"Document not detected"}),Te=useDebugScalingDetails({enabled:V,pageWidth:Z,pageHeight:X,videoWidth:J.videoWidth,videoHeight:J.videoHeight}),we=J.isGoodFrame;return"boolean"==typeof N&&(we=N),k||(k=we?Ie.guidanceSatisfiedText:J.documentDetectionThresholdMet?J.documentInBounds?J.documentTooClose?Ie.guidanceTooCloseText:J.focusThresholdMet?"":Ie.guidanceTooBlurryText:Ie.guidanceNotCenteredText:Ie.guidanceNotDetectedText),React__default.default.createElement(PageContainer,{ref:q,className:"flex ".concat(null!==(s=P.container)&&void 0!==s?s:"")},""!==k&&React__default.default.createElement(GuidanceMessageContainer,{$top:"",$bottom:"12.5dvh",className:P.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{$variant:we?"positive":"default",className:P.guidanceMessage},k)),V&&J.detectedObjects.length>0&&React__default.default.createElement(DebugBoundingBoxOverlay,{$flipX:!(null===(d=ae.current)||void 0===d?void 0:d.isRearFacing),scaling:Te},J.detectedObjects.map((function(e,t){var a;return React__default.default.createElement(IdCaptureDetectedObjectDebugBox,{key:t,obj:e,scaling:Te,flipX:!(null===(a=ae.current)||void 0===a?void 0:a.isRearFacing)})}))),V&&React__default.default.createElement(DebugStatsPane,null,ae.current?React__default.default.createElement(React__default.default.Fragment,null,"✅ Camera: ",ae.current.label," (",ae.current.width,"x",ae.current.height,")"):"❌ Camera not ready",React__default.default.createElement("br",null),J.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(J.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",pe,"ms doc detect, ",ge,"ms focus)",React__default.default.createElement("br",null),de?React__default.default.createElement(React__default.default.Fragment,null,J.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",J.documentDetectionScore," (",J.documentType,")",React__default.default.createElement("br",null),J.documentInBounds?"✅":"❌"," Document In Bounds",React__default.default.createElement("br",null),J.focusThresholdMet?"✅":"❌"," Focus Score:"," ",J.focusScore,React__default.default.createElement("br",null),J.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",J.goodFramesCount,"/",J.goodFramesThreshold,M&&J.autoCaptureBarcodeRequired?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("br",null),J.barcodeResult?"✅":"❌"," Barcode Scanned (",supportsNativeBarcodeScanning()?"Native":"ZXing",","," ",J.barcodeScanFailedAttempts,"/",J.maxBarcodeScanAttempts," failed attempts)"):null):React__default.default.createElement(React__default.default.Fragment,null,"❌ Models not ready")))},timeSince=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},CameraAccessDeniedOverlay=function(e){var t,a=e.assets,n=void 0===a?{}:a,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s,c=React.useContext(CameraStateContext).retryCameraAccess;n.imageUrl||(n.imageUrl=DEFAULT_CDN_URL+"/camera-disable-icon.png");var u=useTranslations(d,{headingText:"Your camera permission is disabled",descriptionText:"This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.",retryBtnText:"Retry"});return React__default.default.createElement(OverlayContainer,{className:"flex ".concat(null!==(t=i.container)&&void 0!==t?t:"")},React__default.default.createElement(StyledOverlayInner$2,{className:i.inner},React__default.default.createElement(StyledOverlayImageContainer$2,{className:i.imageContainer},React__default.default.createElement("img",{src:n.imageUrl,alt:"",className:i.image})),React__default.default.createElement("h3",{className:i.heading},u.headingText),React__default.default.createElement(Description$3,{className:i.description},u.descriptionText),React__default.default.createElement(RetryButton,{variant:"warning",onClick:c,colors:l.retryBtn,className:i.retryBtn,finished:!0},u.retryBtnText)))},StyledOverlayInner$2=styled__default.default(OverlayInner$2)(templateObject_1$z||(templateObject_1$z=tslib.__makeTemplateObject(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"],["\n max-width: 500px;\n height: auto;\n margin: auto;\n"]))),StyledOverlayImageContainer$2=styled__default.default(OverlayImageContainer)(templateObject_2$o||(templateObject_2$o=tslib.__makeTemplateObject(["\n flex-grow: 0;\n"],["\n flex-grow: 0;\n"]))),Description$3=styled__default.default.p(templateObject_3$i||(templateObject_3$i=tslib.__makeTemplateObject(["\n line-height: 1.5;\n margin-bottom: 50px;\n"],["\n line-height: 1.5;\n margin-bottom: 50px;\n"]))),RetryButton=styled__default.default(LoaderButton)(templateObject_4$d||(templateObject_4$d=tslib.__makeTemplateObject(["\n width: 200px;\n margin: 0 auto;\n"],["\n width: 200px;\n margin: 0 auto;\n"]))),ExitCaptureStyledButton=styled__default.default.button(templateObject_1$y||(templateObject_1$y=tslib.__makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"],["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"]))),ExitCaptureButton=function(e){return React__default.default.createElement(ExitCaptureStyledButton,{onClick:e.onClick,className:e.className},React__default.default.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"19.3 19.3 25.499999999999996 25.499999999999996",enableBackground:"new 0 0 64 64",width:16,height:16},React__default.default.createElement("g",{id:"close-outline-bot_x5F_s1g1_x5F_s2g2_x5F_s3g1_x5F_s4g1"},React__default.default.createElement("line",{fill:"none",stroke:"#000000",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:"10",x1:"19.75",y1:"44.25",x2:"44.25",y2:"19.75"})),React__default.default.createElement("g",{id:"close-outline-top_x5F_s1g1_x5F_s2g2_x5F_s3g1_x5F_s4g1"},React__default.default.createElement("line",{fill:"none",stroke:"#000000",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:"10",x1:"44.25",y1:"44.25",x2:"19.75",y2:"19.75"}))))},ButtonsRow=styled__default.default.div(templateObject_1$x||(templateObject_1$x=tslib.__makeTemplateObject(["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n"],["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n"])));function IdCaptureLoadingGraphic(e){var t=window.innerHeight>window.innerWidth;return React__default.default.createElement(t?IdCaptureLoadingGraphicMobile:IdCaptureLoadingGraphicDesktop,tslib.__assign({},e))}function IdCaptureLoadingGraphicDesktop(e){var t,a,n,r,i,o,l=e.width,s=void 0===l?698:l,d=e.height,c=void 0===d?452:d,u=e.className,m=React.useState(0),f=m[0],p=m[1];React.useEffect((function(){var e=setInterval((function(){p((function(e){return(e+1)%7}))}),1e3);return function(){clearInterval(e)}}),[]);var g=styled.useTheme(),h=null!==(n=null===(a=null===(t=g.idCapture)||void 0===t?void 0:t.loadingOverlay)||void 0===a?void 0:a.loadingGraphicAccentColor)&&void 0!==n?n:"var(--idm-color-positive-600)",v=null!==(o=null===(i=null===(r=g.idCapture)||void 0===r?void 0:r.loadingOverlay)||void 0===i?void 0:i.loadingGraphicAccentOpacity)&&void 0!==o?o:.2;return React__default.default.createElement("div",{style:{display:"flex",width:"100%",height:"100%"}},React__default.default.createElement("svg",{className:u,width:s,height:c,viewBox:"0 0 698 452",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"auto",transform:"scale(".concat(f>1?1:1===f?1.25:.75,")"),transition:"transform 0.2s linear, border-width 0.2s linear",border:"".concat(f>=5?10:0,"px solid ").concat(h)}},React__default.default.createElement("g",{filter:1===f?"url(#filter0_f_91_884)":void 0},React__default.default.createElement("path",{d:"M10 0.5L688 0.5C693.247 0.5 697.5 4.75329 697.5 10L697.5 442C697.5 447.246 693.247 451.5 688 451.5L9.99999 451.5C4.75328 451.5 0.5 447.246 0.5 442L0.5 9.99998C0.5 4.75328 4.75329 0.5 10 0.5Z",fill:"#F3F3F3",stroke:"#DCDCDC"}),React__default.default.createElement("mask",{id:"mask0_91_854",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"30",y:"60",width:"207",height:"266"},React__default.default.createElement("rect",{x:"30.7754",y:"60.5945",width:"205.426",height:"265.304",rx:"3",fill:"#D9D9D9"})),React__default.default.createElement("g",{mask:"url(#mask0_91_854)"},React__default.default.createElement("path",{d:"M161.429 226.164C161.472 226.322 161.474 226.488 161.438 226.647C157.252 244.639 146.071 257.508 132.955 257.508C119.837 257.508 108.632 244.59 104.447 226.595C104.411 226.439 104.413 226.276 104.453 226.121L107.568 214.051L108.337 211.118C108.453 210.678 108.85 210.371 109.305 210.371L156.578 210.371C157.034 210.371 157.432 210.68 157.546 211.122L160.976 224.435L161.305 225.701L161.429 226.164Z",fill:"#D2D4DA"}),React__default.default.createElement("path",{d:"M185.475 157.408C185.556 157.356 185.628 157.291 185.693 157.219C210.004 130.149 193.715 196.897 180.188 189.065C157.256 175.818 183.525 158.645 185.475 157.408Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M267.491 324.918C267.577 325.255 267.487 325.608 267.24 325.853C254.85 338.143 225.105 345.481 222.791 346.037C222.686 346.063 222.601 346.067 222.493 346.058C219.509 345.795 174.209 342.097 147.081 357.481C142.849 359.881 122.568 356.455 121.909 356.343C121.888 356.339 121.882 356.339 121.861 356.337L89.946 352.929C89.8715 352.921 89.8068 352.921 89.7323 352.929C87.9869 353.117 64.0883 355.438 45.1808 343.79C29.8522 334.346 9.55527 336.584 -1.36759 325.857C-1.61519 325.614 -1.71005 325.255 -1.62441 324.919L1.46107 312.802C6.33129 293.793 21.3654 279.026 40.5404 274.455L42.6579 273.963L66.162 268.361L72.5851 266.837C75.2907 266.181 77.8788 265.267 80.3256 264.095C82.3725 263.11 84.3253 261.962 86.1605 260.649C88.1368 259.243 89.9955 257.649 91.6659 255.891C96.1597 251.18 99.4771 245.367 101.171 238.827L103.665 229.17L104.324 226.568L104.371 226.357L107.571 214.051L108.319 211.123C108.433 210.681 108.831 210.371 109.288 210.371L156.558 210.371C157.013 210.371 157.411 210.679 157.526 211.12L160.978 224.435L161.308 225.701L161.475 226.325C161.489 226.377 161.496 226.431 161.496 226.486V226.486C161.496 226.54 161.503 226.595 161.517 226.647L162.202 229.193L164.696 238.827C167.025 247.781 172.413 255.446 179.73 260.649C183.729 263.532 188.317 265.665 193.282 266.837L199.211 268.244L225.326 274.455C244.501 279.026 259.535 293.793 264.406 312.802L267.491 324.918Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M161.429 226.164C161.472 226.322 161.474 226.488 161.438 226.647C157.252 244.639 146.071 257.508 132.955 257.508C119.837 257.508 108.632 244.59 104.447 226.595C104.411 226.439 104.413 226.276 104.453 226.121L107.568 214.051L108.337 211.118C108.453 210.678 108.85 210.371 109.305 210.371L156.578 210.371C157.034 210.371 157.432 210.68 157.546 211.122L160.976 224.435L161.305 225.701L161.429 226.164Z",fill:"#DC968D"}),React__default.default.createElement("path",{d:"M80.3983 157.408C80.3166 157.356 80.2445 157.291 80.1799 157.219C55.8686 130.149 72.1582 196.897 85.685 189.065C108.616 175.818 82.3476 158.645 80.3983 157.408Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M189.527 137.873C189.52 137.873 189.515 137.879 189.515 137.885C189.515 139.944 189.397 141.956 189.162 143.968C188.974 145.796 188.15 153.601 186.692 163.54C185.895 169.048 184.865 175.184 183.649 181.346C183.638 181.398 183.635 181.447 183.631 181.5V181.5C183.625 181.607 183.575 181.713 183.554 181.818C180.568 196.836 176.367 211.751 170.881 217.193C164.67 223.381 159.682 229.007 153.988 233.062C148.295 237.14 141.919 239.672 132.978 239.672C124.038 239.672 117.662 237.14 111.968 233.062C106.298 229.007 101.286 223.381 95.0752 217.193C89.5754 211.714 85.367 196.715 82.3561 181.682C82.3499 181.651 82.3467 181.628 82.3467 181.596V181.596C82.3467 181.566 82.3438 181.526 82.338 181.496C81.9648 179.566 81.6147 177.636 81.2645 175.728C81.1233 174.932 80.9821 174.135 80.841 173.338C80.2528 169.962 79.7352 166.657 79.2646 163.563C77.5768 152.19 76.7532 143.609 76.7472 143.546C76.747 143.544 76.7471 143.545 76.7469 143.543C76.5589 141.692 76.4648 139.794 76.4648 137.873C76.4648 137.381 76.4648 136.889 76.4648 136.397C76.5825 131.967 77.1942 127.654 78.3 123.528C78.3471 123.341 78.3941 123.153 78.4412 122.966C84.723 100.089 105.121 83.0011 129.731 81.6416C130.814 81.5713 131.872 81.5479 132.978 81.5479C148.601 81.5479 162.741 87.8531 172.975 98.0494C181.822 106.839 187.75 118.559 189.186 131.615C189.42 133.674 189.538 135.756 189.539 137.862C189.539 137.868 189.533 137.873 189.527 137.873V137.873Z",fill:"#FEAEA5"}),React__default.default.createElement("path",{d:"M141.871 188.529C141.871 192.42 137.895 195.561 132.977 195.561C128.06 195.561 124.107 192.42 124.107 188.529V188.529C124.107 188.132 124.593 188.105 124.773 188.459C126.079 191.03 129.266 192.842 132.977 192.842C136.689 192.842 139.893 191.03 141.204 188.458C141.381 188.112 141.871 188.14 141.871 188.529V188.529Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M267.512 325.037C267.599 325.374 267.509 325.727 267.264 325.974C232.886 360.672 133.16 359.767 132.956 359.765C132.95 359.765 132.962 359.765 132.956 359.765C132.752 359.767 33.0007 360.672 -1.3537 325.95C-1.59784 325.703 -1.68748 325.351 -1.60167 325.014L1.48353 312.922C6.35375 293.889 21.3879 279.122 40.5629 274.551L66.2315 268.456L72.6075 266.933C75.2325 266.311 77.7789 265.415 80.1745 264.28C80.5729 264.092 81.0485 264.176 81.3541 264.494C94.359 278.009 112.66 286.435 132.956 286.435C153.253 286.435 171.556 278.008 184.562 264.49C184.865 264.174 185.337 264.088 185.734 264.274C188.127 265.395 190.657 266.311 193.304 266.933L198.88 268.269L225.349 274.551C244.524 279.122 259.558 293.889 264.405 312.922L267.512 325.037Z",fill:"#6E7174"}),React__default.default.createElement("path",{d:"M197.318 267.895C198.038 268.068 198.334 268.924 197.847 269.481C190.872 277.457 169.982 297.251 132.954 298.717C92.046 300.357 71.408 275.554 67.0543 269.627C66.6418 269.065 66.9505 268.284 67.6281 268.122L72.606 266.933C75.231 266.311 77.7773 265.415 80.173 264.28C80.5713 264.092 81.0469 264.176 81.3526 264.494C94.3575 278.009 112.659 286.435 132.954 286.435C153.252 286.435 171.555 278.008 184.56 264.49C184.864 264.174 185.336 264.088 185.732 264.274C188.126 265.395 190.655 266.311 193.303 266.933L197.318 267.895Z",fill:"#555A5E"}),React__default.default.createElement("path",{d:"M75.4663 140.851C75.4663 152.603 78.3795 166.091 80.4253 174.114C80.713 175.242 82.458 175.01 82.5156 173.848C83.0875 162.287 85.7494 140.134 97.4904 130.033C108.545 120.523 117.526 131.201 132.13 131.201C145.353 131.201 157.695 120.704 168.836 130.033C181.053 140.264 183.463 159.992 183.739 171.736C183.767 172.936 185.717 173.218 186.003 172.053C187.986 163.959 190.429 151.77 190.429 140.851C190.429 100.426 174.665 81.3704 132.13 81.3704C93.3928 81.3704 75.4663 100.225 75.4663 140.851Z",fill:"#525252"})),React__default.default.createElement("rect",{x:"30.7754",y:"360.29",width:"640.93",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"267.427",y:"134.29",width:"402.636",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"267.427",y:"209.623",width:"180.775",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"481.069",y:"209.623",width:"188.992",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"267.427",y:"284.956",width:"180.775",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"481.069",y:"284.956",width:"188.992",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"266.829",y:"58.3618",width:"402.636",height:"40.942",rx:"3",fill:"#C1C1C1"}),React__default.default.createElement("g",{fillOpacity:3===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"672",y:"55",width:"47",height:"410",transform:"rotate(90 672 55)",fill:h}),React__default.default.createElement("rect",{x:"670",y:"206",width:"47",height:"194",transform:"rotate(90 670 206)",fill:h}),React__default.default.createElement("rect",{x:"242",y:"61",width:"271",height:"218",transform:"rotate(90 242 61)",fill:h}),React__default.default.createElement("rect",{x:"677",y:"357",width:"47",height:"653",transform:"rotate(90 677 357)",fill:h})),React__default.default.createElement("g",{fillOpacity:4===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"455",y:"281",width:"47",height:"194",transform:"rotate(90 455 281)",fill:h}),React__default.default.createElement("rect",{x:"672",y:"131",width:"47",height:"411",transform:"rotate(90 672 131)",fill:h})),React__default.default.createElement("g",{fillOpacity:f>=5?1:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("circle",{cx:"360",cy:"215",r:"41",fill:h}),React__default.default.createElement("path",{d:"M339.937 218.076L350.044 229.83L381.809 201.915",stroke:"white",strokeWidth:"10",strokeOpacity:f>=5?1:0,strokeLinecap:"round",strokeLinejoin:"round",style:{transition:"stroke-opacity 0.2s linear"}}))),React__default.default.createElement("filter",{id:"filter0_f_91_884",x:"0",y:"0",width:"848",height:"556",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},React__default.default.createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),React__default.default.createElement("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),React__default.default.createElement("feGaussianBlur",{stdDeviation:"5",result:"effect1_foregroundBlur_91_884"}))))}function IdCaptureLoadingGraphicMobile(e){var t,a,n,r,i,o,l=e.width,s=void 0===l?428:l,d=e.height,c=void 0===d?747:d,u=e.className,m=React.useState(0),f=m[0],p=m[1];React.useEffect((function(){var e=setInterval((function(){p((function(e){return(e+1)%7}))}),1e3);return function(){clearInterval(e)}}),[]);var g=styled.useTheme(),h=null!==(n=null===(a=null===(t=g.idCapture)||void 0===t?void 0:t.loadingOverlay)||void 0===a?void 0:a.loadingGraphicAccentColor)&&void 0!==n?n:"var(--idm-color-positive-600)",v=null!==(o=null===(i=null===(r=g.idCapture)||void 0===r?void 0:r.loadingOverlay)||void 0===i?void 0:i.loadingGraphicAccentOpacity)&&void 0!==o?o:.2;return React__default.default.createElement("svg",{className:u,width:s,height:c,viewBox:"0 0 428 747",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React__default.default.createElement("g",{id:"card",style:{transform:"translate(".concat(f<1?"-500px":"0",", 0)"),transition:"transform 0.3s linear"}},React__default.default.createElement("path",{d:"M76.5001 181.274C76.5001 176.027 80.7534 171.774 86.0001 171.774L342 171.774C347.247 171.774 351.5 176.027 351.5 181.274L351.5 586C351.5 591.247 347.247 595.5 342 595.5L86.0001 595.5C80.7534 595.5 76.5001 591.247 76.5001 586L76.5001 181.274Z",fill:"#F3F3F3",stroke:"#DCDCDC"}),React__default.default.createElement("mask",{id:"mask0_29_1815",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"113",y:"452",width:"163",height:"126"},React__default.default.createElement("rect",{x:"113",y:"577.273",width:"125",height:"162",rx:"3",transform:"rotate(-90 113 577.273)",fill:"#D9D9D9"})),React__default.default.createElement("g",{mask:"url(#mask0_29_1815)"},React__default.default.createElement("path",{d:"M214.008 497.796C214.165 497.754 214.33 497.751 214.489 497.788C225.426 500.352 233.24 507.14 233.24 515.098C233.24 523.058 225.395 529.861 214.455 532.423C214.3 532.46 214.138 532.458 213.983 532.418L206.704 530.546L205.204 530.154C204.764 530.039 204.457 529.641 204.457 529.186L204.457 501.028C204.457 500.571 204.766 500.173 205.208 500.059L213.044 498.048L213.817 497.847L214.008 497.796Z",fill:"#D2D4DA"}),React__default.default.createElement("path",{d:"M172.144 483.183C172.092 483.102 172.027 483.031 171.955 482.966C155.547 468.233 196.225 478.134 191.447 486.357C183.444 500.161 173.096 484.665 172.144 483.183Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M274.192 433.287C274.528 433.202 274.882 433.292 275.124 433.541C282.444 441.074 286.849 458.59 287.283 460.373C287.308 460.479 287.314 460.558 287.305 460.667C287.111 462.898 284.971 490.135 294.285 506.502C295.735 509.05 293.703 521.155 293.593 521.803C293.589 521.823 293.587 521.84 293.585 521.861L291.51 541.224C291.502 541.299 291.502 541.364 291.509 541.439C291.65 542.782 292.959 557.13 285.925 568.508C280.203 577.763 281.504 589.995 275.126 596.677C274.887 596.927 274.528 597.02 274.193 596.935L267.003 595.111C255.396 592.147 246.379 582.999 243.588 571.332L243.287 570.043L239.866 555.741L238.936 551.833C238.535 550.186 237.977 548.611 237.262 547.123C236.66 545.877 235.959 544.689 235.158 543.572C234.299 542.37 233.326 541.239 232.252 540.222C229.375 537.488 225.826 535.469 221.832 534.438L215.936 532.921L214.347 532.52L214.218 532.491L206.704 530.544L205.21 530.164C204.767 530.051 204.457 529.652 204.457 529.194L204.457 501.04C204.457 500.584 204.765 500.186 205.207 500.071L213.044 498.046L213.817 497.846L214.198 497.744C214.23 497.736 214.263 497.731 214.297 497.731C214.33 497.731 214.363 497.727 214.395 497.718L215.95 497.302L221.832 495.784C227.3 494.367 231.98 491.088 235.158 486.636C236.918 484.202 238.22 481.411 238.936 478.39L239.795 474.782L243.588 458.891C246.379 447.223 255.396 438.075 267.003 435.112L274.192 433.287Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M214.008 497.796C214.165 497.754 214.33 497.751 214.489 497.788C225.426 500.352 233.24 507.14 233.24 515.098C233.24 523.058 225.395 529.861 214.455 532.423C214.3 532.46 214.138 532.458 213.983 532.418L206.704 530.546L205.204 530.154C204.764 530.039 204.457 529.641 204.457 529.186L204.457 501.028C204.457 500.571 204.766 500.173 205.208 500.059L213.044 498.048L213.817 497.847L214.008 497.796Z",fill:"#DC968D"}),React__default.default.createElement("path",{d:"M172.144 547.035C172.092 547.117 172.027 547.188 171.955 547.252C155.547 561.986 196.225 552.085 191.447 543.861C183.444 530.057 173.096 545.553 172.144 547.035Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M160.188 480.675C160.188 480.679 160.191 480.682 160.195 480.682C161.452 480.682 162.681 480.754 163.91 480.897C165.026 481.011 169.792 481.512 175.861 482.4C179.224 482.885 182.971 483.511 186.733 484.252C186.765 484.258 186.795 484.26 186.827 484.262C186.893 484.266 186.958 484.296 187.022 484.309C196.192 486.126 205.299 488.682 208.623 492.02C212.401 495.8 215.836 498.835 218.312 502.3C220.803 505.764 222.348 509.644 222.348 515.084C222.348 520.524 220.803 524.404 218.312 527.869C215.836 531.319 212.401 534.368 208.623 538.148C205.277 541.494 196.118 544.055 186.939 545.887C186.92 545.891 186.906 545.893 186.886 545.893C186.867 545.893 186.844 545.895 186.825 545.898C185.646 546.125 184.468 546.338 183.303 546.551C182.817 546.637 182.33 546.723 181.843 546.809C179.782 547.167 177.764 547.482 175.875 547.768C168.946 548.793 163.714 549.294 163.652 549.3C163.651 549.3 163.651 549.3 163.649 549.3C162.519 549.415 161.361 549.472 160.188 549.472C159.888 549.472 159.587 549.472 159.287 549.472C156.581 549.4 153.948 549.028 151.429 548.355C151.314 548.327 151.2 548.298 151.085 548.269C137.116 544.447 126.682 532.035 125.852 517.06C125.809 516.401 125.795 515.757 125.795 515.084C125.795 505.578 129.645 496.974 135.871 490.746C141.238 485.363 148.395 481.756 156.367 480.882C157.624 480.739 158.895 480.668 160.181 480.668C160.185 480.668 160.188 480.671 160.188 480.675Z",fill:"#FEAEA5"}),React__default.default.createElement("path",{d:"M191.119 509.673C193.495 509.673 195.413 512.092 195.413 515.084C195.413 518.077 193.495 520.482 191.119 520.482C190.877 520.482 190.861 520.186 191.077 520.077C192.647 519.282 193.753 517.343 193.753 515.084C193.753 512.826 192.647 510.876 191.077 510.079C190.866 509.971 190.883 509.673 191.119 509.673Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M274.264 433.275C274.6 433.189 274.954 433.278 275.199 433.524C296.217 454.568 295.682 514.893 295.68 515.097C295.68 515.103 295.68 515.092 295.68 515.098C295.682 515.302 296.217 575.643 275.184 596.673C274.939 596.917 274.586 597.007 274.251 596.921L267.076 595.097C255.454 592.134 246.437 582.986 243.646 571.318L239.925 555.699L238.994 551.819C238.638 550.318 238.133 548.86 237.499 547.48C237.314 547.078 237.398 546.602 237.715 546.294C245.845 538.394 250.903 527.342 250.903 515.098C250.903 502.851 245.844 491.798 237.711 483.897C237.396 483.591 237.311 483.119 237.493 482.719C238.122 481.341 238.638 479.89 238.994 478.376L239.81 474.983L243.646 458.877C246.437 447.21 255.454 438.061 267.076 435.112L274.264 433.275Z",fill:"#6E7174"}),React__default.default.createElement("path",{d:"M239.436 476.54C239.609 475.821 240.466 475.529 241.015 476.024C246.147 480.64 257.535 493.254 258.403 515.098C259.367 539.068 245.359 551.601 241.088 554.862C240.535 555.285 239.753 554.982 239.59 554.305L238.994 551.82C238.638 550.319 238.133 548.86 237.499 547.48C237.314 547.079 237.398 546.603 237.715 546.295C245.845 538.394 250.903 527.343 250.903 515.098C250.903 502.852 245.844 491.799 237.711 483.898C237.396 483.592 237.311 483.119 237.493 482.72C238.122 481.342 238.638 479.891 238.994 478.377L239.436 476.54Z",fill:"#555A5E"}),React__default.default.createElement("path",{d:"M162.007 550.079C167.945 550.079 174.609 548.865 179.507 547.741C180.642 547.481 180.435 545.695 179.275 545.595C171.872 544.959 160.808 542.941 155.401 536.678C149.594 529.951 156.114 524.486 156.114 515.6C156.114 507.554 149.704 500.044 155.401 493.265C160.661 487.005 170.034 484.976 177.145 484.392C178.342 484.293 178.605 482.241 177.431 481.993C172.848 481.025 167.193 480.126 162.007 480.126C137.322 480.126 125.686 489.718 125.686 515.6C125.686 539.171 137.2 550.079 162.007 550.079Z",fill:"#525252"})),React__default.default.createElement("rect",{x:"296",y:"577.273",width:"390",height:"25",rx:"3",transform:"rotate(-90 296 577.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"158",y:"433.273",width:"245",height:"25",rx:"3",transform:"rotate(-90 158 433.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"204",y:"433.273",width:"110",height:"25",rx:"3",transform:"rotate(-90 204 433.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"204",y:"303.274",width:"115",height:"25",rx:"3",transform:"rotate(-90 204 303.274)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"250",y:"433.273",width:"110",height:"25",rx:"3",transform:"rotate(-90 250 433.273)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"250",y:"303.274",width:"115",height:"25",rx:"3",transform:"rotate(-90 250 303.274)",fill:"#C1C1C1"}),React__default.default.createElement("rect",{x:"111.637",y:"433.637",width:"245",height:"25",rx:"3",transform:"rotate(-90 111.637 433.637)",fill:"#C1C1C1"}),React__default.default.createElement("g",{fillOpacity:2===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"200",y:"188",width:"33",height:"118",fill:h}),React__default.default.createElement("rect",{x:"108",y:"444",width:"171",height:"136",fill:h}),React__default.default.createElement("rect",{x:"108",y:"187",width:"33",height:"247",fill:h}),React__default.default.createElement("rect",{x:"293",y:"186",width:"31",height:"394",fill:h})),React__default.default.createElement("g",{fillOpacity:3===f?v:0,style:{transition:"fill-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"154",y:"185",width:"33",height:"249",fill:h}),React__default.default.createElement("rect",{x:"247",y:"322",width:"31",height:"113",rx:"5",fill:h})),React__default.default.createElement("g",{fillOpacity:f>=4?1:0,strokeOpacity:f>=4?1:0,style:{transition:"fill-opacity 0.2s linear, stroke-opacity 0.2s linear"}},React__default.default.createElement("rect",{x:"78.5",y:"171.5",width:"271",height:"426",rx:"2.5",stroke:h,strokeWidth:"5"}),React__default.default.createElement("circle",{cx:"214.5",cy:"383.5",r:"23.5",fill:h}),React__default.default.createElement("path",{d:"M203 385.263L208.793 392L227 376",stroke:"white",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"}))),React__default.default.createElement("g",{id:"phone",clipPath:"url(#clip0_29_1778)",style:{transform:"translate(".concat(f<1?"40px":"0",", 0)"),transition:"transform 0.3s linear"}},React__default.default.createElement("rect",{x:"154",y:"693",width:"120",height:"5",rx:"2.5",fill:"#333343"}),React__default.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M372.869 156.244H373.495V156.241C376.342 156.241 378.647 158.551 378.647 161.396V234.788C378.647 237.637 376.339 239.944 373.495 239.944H372.869V677.09C372.869 698.895 355.203 716.571 333.411 716.571H94.2366C72.444 716.571 54.7781 698.895 54.7781 677.09V278.699H54.1523C51.3051 278.699 49 276.39 49 273.544V228.052C49 225.203 51.3082 222.897 54.1523 222.897H54.7781V212.047H54.1523C51.3051 212.047 49 209.737 49 206.892V161.399C49 158.551 51.3082 156.244 54.1523 156.244H54.7781V90.4813C54.7781 68.6761 72.444 51 94.2366 51H333.411C355.203 51 372.869 68.6761 372.869 90.4813V156.244ZM98.3077 60.7649H329.34C347.039 60.7649 361.387 75.1214 361.387 92.8311V674.734C361.387 692.444 347.039 706.8 329.34 706.8H98.3077C80.6082 706.8 66.26 692.444 66.26 674.734V92.8311C66.26 75.1214 80.6082 60.7649 98.3077 60.7649Z",fill:"#333343"}),React__default.default.createElement("rect",{x:"154",y:"71",width:"120",height:"20",rx:"10",fill:"#333343"})),React__default.default.createElement("defs",null,React__default.default.createElement("clipPath",{id:"clip0_29_1778"},React__default.default.createElement("rect",{width:"428",height:"747",fill:"white"}))))}var templateObject_1$w,templateObject_2$n,templateObject_3$h,templateObject_4$c,templateObject_5$8,templateObject_6$7,templateObject_7$5,templateObject_8$3,templateObject_9$1,templateObject_10$1,templateObject_11$1,templateObject_12$1,templateObject_13$1,templateObject_14$1,templateObject_15$1,templateObject_16,templateObject_17,templateObject_18,templateObject_1$v,templateObject_2$m,templateObject_1$u,templateObject_2$l,templateObject_3$g,templateObject_4$b,templateObject_5$7,templateObject_6$6,templateObject_7$4,templateObject_8$2,templateObject_1$t,legacyInstructionImageUrl$1="".concat(DEFAULT_CDN_URL,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"),IdCaptureLoadingOverlayDefault=function(e){var t,a,n,r,i=e.onDismissed,o=e.onUserCancel,l=e.instructions,s=e.rotateImage,d=void 0!==s&&s,c=e.assets,u=void 0===c?{}:c,m=e.classNames,f=void 0===m?{}:m,p=e.colors,g=void 0===p?{}:p,h=e.verbiage,v=void 0===h?{}:h,b=React.useContext(IdCaptureModelsContext),_=b.ready,y=b.modelDownloadProgress,C=React.useContext(CameraStateContext),x=C.cameraReady,R=C.cameraAccessDenied,E=C.iphoneContinuityCameraAvailable,I=C.setIphoneContinuityCameraAllowed,T=React.useState(!1),w=T[0],M=T[1];u.instructionImageUrl||(u.instructionImageUrl=legacyInstructionImageUrl$1);var S=useTranslations(v,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",downloadingText:"Downloading...",modelsWarmingUpText:"Loading guided capture experience...",modelsReadyText:"Guided capture experience ready",cameraInitializingText:"Camera initializing...",cameraInitializedText:"Camera ready",continueText:"Let's Go!"});React.useEffect((function(){if(_&&x)return function(){return null};var e=setTimeout((function(){M(!1)}),500);return function(){clearTimeout(e)}}),[x,_]);var D=React.useRef(null);if(w)return React__default.default.createElement(React__default.default.Fragment,null);if(R)return React__default.default.createElement(CameraAccessDeniedOverlay,{assets:u.cameraAccessDenied,classNames:f.cameraAccessDenied,colors:g.cameraAccessDenied,verbiage:v.cameraAccessDenied});var k={};if(d){var N=null!==(a=null===(t=D.current)||void 0===t?void 0:t.naturalWidth)&&void 0!==a?a:0,O=null!==(r=null===(n=D.current)||void 0===n?void 0:n.naturalHeight)&&void 0!==r?r:0;k={transform:"rotate(-90deg) scale(".concat(N>O?O/N:1,")")}}return React__default.default.createElement(OverlayContainer,{className:f.container},React__default.default.createElement(OverlayInner$1,{className:f.inner},React__default.default.createElement(OverlayHeader$1,null,React__default.default.createElement(StyledGuidanceMessage$2,{className:f.heading},S.headingText)),o&&React__default.default.createElement(ExitCaptureButton,{onClick:o,className:f.cancelBtn}),React__default.default.createElement(StyledOverlayImageContainer$1,{className:f.imageContainer,style:{pointerEvents:"none"}},(null==u?void 0:u.instructionImageUrl)&&u.instructionImageUrl!==legacyInstructionImageUrl$1?React__default.default.createElement(CustomLoadingGraphic$1,{ref:D,alt:S.headingText,src:u.instructionImageUrl,className:f.image,style:k}):React__default.default.createElement(IdCaptureLoadingGraphic,{className:f.image})),l,React__default.default.createElement(ContinuityCameraCheckboxContainer$1,{className:f.continuityCameraCheckboxContainer},E&&React__default.default.createElement(ContinuityCameraCheckboxInner,{className:f.continuityCameraCheckboxInner},React__default.default.createElement(ContinuityCameraCheckbox$1,{className:f.continuityCameraCheckbox,id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,onChange:function(e){I(e.target.checked)}}),React__default.default.createElement("label",{htmlFor:"use-continuity-camera",className:f.continuityCameraCheckboxLabel},S.useContinuityCameraText))),React__default.default.createElement(StyledButtonsRow$a,{className:f.buttonsRow},React__default.default.createElement(ProgressContainer$1,{className:f.progressContainer},React__default.default.createElement(ProgressBarBackground$1,{className:f.progressBackground}),React__default.default.createElement(ProgressBar$1,{$progress:y,className:f.progressBar},React__default.default.createElement(ProgressIndicator$1,{className:f.progressIndicator}))),React__default.default.createElement(LoadingListContainer$1,{className:f.loadingListContainer},React__default.default.createElement(LoadingList$1,{className:f.loadingList},React__default.default.createElement(LoadingListItem$1,{className:"".concat(f.loadingListItem," ").concat(x?"done":"running")},x?S.cameraInitializedText:S.cameraInitializingText),React__default.default.createElement(LoadingListItem$1,{className:"".concat(f.loadingListItem," ").concat(_?"done":"running")},_?S.modelsReadyText:y>=100?S.modelsWarmingUpText:"".concat(S.downloadingText," (").concat(y,"%)")))),React__default.default.createElement(ContinueButtonContainer$1,{className:f.continueBtnContainer},_&&x&&React__default.default.createElement(ContinueButton$1,{finished:!0,className:f.continueBtn,variant:"positive",colors:g.continueBtn,onClick:function(){M(!0),null==i||i()}},S.continueText)))))},OverlayInner$1=styled__default.default.div(templateObject_1$w||(templateObject_1$w=tslib.__makeTemplateObject(["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"],["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.backgroundColor)&&void 0!==r?r:"#ecedf3"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.textColor)&&void 0!==r?r:"black"})),OverlayHeader$1=styled__default.default.div(templateObject_2$n||(templateObject_2$n=tslib.__makeTemplateObject(["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"],["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"])),(function(e){var t;return null!==(t=e.theme.textAlign)&&void 0!==t?t:"center"}),(function(e){return e.theme.padding?"box-sizing: border-box; padding: ".concat(e.theme.padding,";"):""})),StyledGuidanceMessage$2=styled__default.default(GuidanceMessage)(templateObject_3$h||(templateObject_3$h=tslib.__makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"],["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"]))),StyledOverlayImageContainer$1=styled__default.default(OverlayImageContainer)(templateObject_4$c||(templateObject_4$c=tslib.__makeTemplateObject(["\n padding: 0 0 100px;\n\n & > svg {\n height: 100%;\n }\n"],["\n padding: 0 0 100px;\n\n & > svg {\n height: 100%;\n }\n"]))),ContinuityCameraCheckboxContainer$1=styled__default.default.div(templateObject_5$8||(templateObject_5$8=tslib.__makeTemplateObject(["\n position: fixed;\n bottom: 120px;\n width: 100dvw;\n display: flex;\n"],["\n position: fixed;\n bottom: 120px;\n width: 100dvw;\n display: flex;\n"]))),ContinuityCameraCheckboxInner=styled__default.default(GuidanceMessage)(templateObject_6$7||(templateObject_6$7=tslib.__makeTemplateObject(["\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"],["\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"]))),ContinuityCameraCheckbox$1=styled__default.default.input(templateObject_7$5||(templateObject_7$5=tslib.__makeTemplateObject(["\n margin-right: 8px;\n"],["\n margin-right: 8px;\n"]))),StyledButtonsRow$a=styled__default.default(ButtonsRow)(templateObject_8$3||(templateObject_8$3=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarTextColor)&&void 0!==r?r:"white"}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.idCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""})),LoadingListContainer$1=styled__default.default.div(templateObject_9$1||(templateObject_9$1=tslib.__makeTemplateObject(["\n display: flex;\n position: relative;\n z-index: 2;\n"],["\n display: flex;\n position: relative;\n z-index: 2;\n"]))),LoadingList$1=styled__default.default.ul(templateObject_10$1||(templateObject_10$1=tslib.__makeTemplateObject(["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"],["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"]))),LoadingListItem$1=styled__default.default.li(templateObject_11$1||(templateObject_11$1=tslib.__makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"],["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"]))),ProgressContainer$1=styled__default.default.div(templateObject_12$1||(templateObject_12$1=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),ProgressBarBackground$1=styled__default.default.div(templateObject_13$1||(templateObject_13$1=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundColor)&&void 0!==r?r:"var(--idm-color-positive-600)"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundOpacity)&&void 0!==r?r:.75})),ProgressBar$1=styled__default.default.span(templateObject_14$1||(templateObject_14$1=tslib.__makeTemplateObject(["\n display: block;\n width: ","%;\n height: 100%;\n"],["\n display: block;\n width: ","%;\n height: 100%;\n"])),(function(e){return e.$progress})),ProgressIndicator$1=styled__default.default.span(templateObject_15$1||(templateObject_15$1=tslib.__makeTemplateObject(["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"],["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarIndicatorColor)&&void 0!==r?r:"var(--idm-color-positive-600)"})),CustomLoadingGraphic$1=styled__default.default.img(templateObject_16||(templateObject_16=tslib.__makeTemplateObject([""],[""]))),ContinueButtonContainer$1=styled__default.default.div(templateObject_17||(templateObject_17=tslib.__makeTemplateObject(["\n display: flex;\n"],["\n display: flex;\n"]))),ContinueButton$1=styled__default.default(LoaderButton)(templateObject_18||(templateObject_18=tslib.__makeTemplateObject(["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"],["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.idCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.continueBtnBorder)?"border: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.idCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.continueBtnBorder,";"):""})),ContinuityCameraCheckboxContainer=styled__default.default.div(templateObject_1$v||(templateObject_1$v=tslib.__makeTemplateObject(["\n margin-top: 15px;\n margin-bottom: 15px;\n"],["\n margin-top: 15px;\n margin-bottom: 15px;\n"]))),ContinuityCameraCheckbox=styled__default.default.input(templateObject_2$m||(templateObject_2$m=tslib.__makeTemplateObject(["\n margin-right: 8px;\n"],["\n margin-right: 8px;\n"]))),IdCaptureLoadingOverlayLegacy=function(e){var t,a,n,r,i=e.onDismissed,o=e.onUserCancel,l=e.instructions,s=e.rotateImage,d=void 0!==s&&s,c=e.assets,u=void 0===c?{}:c,m=e.classNames,f=void 0===m?{}:m,p=e.colors,g=void 0===p?{}:p,h=e.verbiage,v=void 0===h?{}:h,b=React.useContext(IdCaptureModelsContext),_=b.ready,y=b.modelDownloadProgress,C=React.useContext(CameraStateContext),x=C.cameraReady,R=C.cameraAccessDenied,E=C.iphoneContinuityCameraAvailable,I=C.setIphoneContinuityCameraAllowed,T=React.useState(!1),w=T[0],M=T[1];u.instructionImageUrl||(u.instructionImageUrl="".concat(DEFAULT_CDN_URL,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"));var S=useTranslations(v,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",downloadingText:"Downloading...",modelsWarmingUpText:"Models warming up...",cameraInitializingText:"Camera initializing...",continueText:"Continue"});React.useEffect((function(){if(_&&x)return function(){return null};var e=setTimeout((function(){M(!1)}),500);return function(){clearTimeout(e)}}),[x,_]);var D=React.useRef(null);if(w)return React__default.default.createElement(React__default.default.Fragment,null);if(R)return React__default.default.createElement(CameraAccessDeniedOverlay,{assets:u.cameraAccessDenied,classNames:f.cameraAccessDenied,colors:g.cameraAccessDenied,verbiage:v.cameraAccessDenied});var k={};if(d){var N=null!==(a=null===(t=D.current)||void 0===t?void 0:t.naturalWidth)&&void 0!==a?a:0,O=null!==(r=null===(n=D.current)||void 0===n?void 0:n.naturalHeight)&&void 0!==r?r:0;k={transform:"rotate(-90deg) scale(".concat(N>O?O/N:1,")")}}return React__default.default.createElement(OverlayContainer,{className:f.container},React__default.default.createElement(OverlayInner$2,{className:f.inner},React__default.default.createElement("h3",{className:f.heading},S.headingText),o&&React__default.default.createElement(ExitCaptureButton,{onClick:o,className:f.cancelBtn}),React__default.default.createElement(OverlayImageContainer,{className:f.imageContainer,style:{pointerEvents:"none"}},React__default.default.createElement("img",{ref:D,alt:S.headingText,src:u.instructionImageUrl,className:f.image,style:k})),l,React__default.default.createElement(ContinuityCameraCheckboxContainer,{className:f.continuityCameraCheckboxContainer},E&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ContinuityCameraCheckbox,{className:f.continuityCameraCheckbox,id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,onChange:function(e){I(e.target.checked)}}),React__default.default.createElement("label",{htmlFor:"use-continuity-camera",className:f.continuityCameraCheckboxLabel},S.useContinuityCameraText))),React__default.default.createElement(LoaderButton,{className:f.continueBtn,variant:"positive",disabled:!x||!_,finished:_&&x,colors:g.continueBtn,onClick:function(){M(!0),null==i||i()}},x&&_?S.continueText:_?S.cameraInitializingText:y>=100?S.modelsWarmingUpText:"".concat(S.downloadingText," (").concat(y,"%)"))))},components$1={default:IdCaptureLoadingOverlayDefault,legacy:IdCaptureLoadingOverlayLegacy},IdCaptureLoadingOverlay=function(e){var t,a=e.mode,n=void 0===a?"default":a,r=tslib.__rest(e,["mode"]),i=null!==(t=components$1[n])&&void 0!==t?t:components$1.default;return React__default.default.createElement(i,tslib.__assign({},r))},CapturedDocumentImg=function(e){var t=e.alt,a=e.className,n=e.image,r=React.useState(n.imageData),i=r[0],o=r[1],l=React.useState(!1),s=l[0],d=l[1],c=n.boundingBox,u=React.useRef(null);return React__default.default.createElement("img",{ref:u,alt:t,className:a,src:i,onLoad:function(){c&&!s&&(d(!0),setTimeout((function(){o(cropToBoundingBox(u.current,c).toDataURL("image/jpeg",.95))}),100))}})},OverlayInstruction=styled__default.default.p(templateObject_1$u||(templateObject_1$u=tslib.__makeTemplateObject(["\n font-size: 18px;\n margin: 30px 0;\n"],["\n font-size: 18px;\n margin: 30px 0;\n"]))),IdCaptureSuccess=function(e){var t=e.capturedDocuments,a=e.onSubmitClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s,c=React.useContext(SubmissionContext).submissionStatus,u=t.idCardFront,m=t.idCardBack,f=t.passport,p=useTranslations(d,{headingText:"ID Capture Successful",idCardFrontText:"ID Card Front",idCardBackText:"ID Card Back",passportText:"Passport",instructionText:"Verify the entire ID was captured clearly with no glare.",retryText:"Retry",submittingText:"Submitting...",submitText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(ImagesContainer,{className:i.imageContainer},React__default.default.createElement(ImageRow,{className:i.imageRow},React__default.default.createElement(Heading$9,{className:i.heading},p.headingText),u&&React__default.default.createElement(ImageCol$1,{className:i.imageCol},React__default.default.createElement(ImageHeading,{className:i.imageHeading},p.idCardFrontText),React__default.default.createElement(CapturedImageWrapper,{className:i.imageWrapper},React__default.default.createElement(StyledImage,{image:u,className:i.image,alt:p.idCardFrontText}))),m&&React__default.default.createElement(ImageCol$1,{className:i.imageCol},React__default.default.createElement(ImageHeading,{className:i.imageHeading},p.idCardBackText),React__default.default.createElement(CapturedImageWrapper,{className:i.imageWrapper},React__default.default.createElement(StyledImage,{image:m,className:i.image,alt:p.idCardBackText}))),f&&React__default.default.createElement(ImageCol$1,{className:i.imageCol},React__default.default.createElement(ImageHeading,{className:i.imageHeading},p.passportText),React__default.default.createElement(CapturedImageWrapper,{className:i.imageWrapper},React__default.default.createElement(StyledImage,{image:f,className:i.image,alt:p.passportText}))))),React__default.default.createElement(OverlayInstruction,{className:i.instruction},p.instructionText),React__default.default.createElement(ButtonsRow,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{className:i.retryBtn,variant:"warning",onClick:n,colors:l.retryBtn,finished:!0},p.retryText),React__default.default.createElement(LoaderButton,{className:i.submitBtn,variant:"positive",onClick:a,disabled:c===SubmissionStatus.SUBMITTING,colors:l.doneBtn,finished:!0},c===SubmissionStatus.SUBMITTING?p.submittingText:p.submitText))))},Heading$9=styled__default.default.h1(templateObject_2$l||(templateObject_2$l=tslib.__makeTemplateObject(["\n margin-bottom: 12px;\n"],["\n margin-bottom: 12px;\n"]))),ImagesContainer=styled__default.default(OverlayImageContainer)(templateObject_3$g||(templateObject_3$g=tslib.__makeTemplateObject(["\n overflow-y: auto;\n"],["\n overflow-y: auto;\n"]))),ImageRow=styled__default.default(OverlayImageRow)(templateObject_4$b||(templateObject_4$b=tslib.__makeTemplateObject(["\n flex-direction: column;\n"],["\n flex-direction: column;\n"]))),ImageCol$1=styled__default.default.div(templateObject_5$7||(templateObject_5$7=tslib.__makeTemplateObject(["\n max-height: none !important;\n"],["\n max-height: none !important;\n"]))),ImageHeading=styled__default.default.h3(templateObject_6$6||(templateObject_6$6=tslib.__makeTemplateObject(["\n text-align: left;\n margin-top: 24px;\n margin-bottom: 8px;\n font-size: 16px;\n font-weight: normal;\n"],["\n text-align: left;\n margin-top: 24px;\n margin-bottom: 8px;\n font-size: 16px;\n font-weight: normal;\n"]))),CapturedImageWrapper=styled__default.default.div(templateObject_7$4||(templateObject_7$4=tslib.__makeTemplateObject(["\n border: 1px solid\n ",";\n border-radius: 6px;\n padding: 4px;\n background: white;\n display: flex;\n"],["\n border: 1px solid\n ",";\n border-radius: 6px;\n padding: 4px;\n background: white;\n display: flex;\n"])),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.idCapture)||void 0===t?void 0:t.success)||void 0===a?void 0:a.imageBorderColor)&&void 0!==n?n:"var(--idm-color-primary-400)"})),StyledImage=styled__default.default(CapturedDocumentImg)(templateObject_8$2||(templateObject_8$2=tslib.__makeTemplateObject(["\n width: 100%;\n border-radius: 4px;\n"],["\n width: 100%;\n border-radius: 4px;\n"]))),CameraVideoTag=function(e){var t,a=e.className,n=React.useContext(CameraStateContext),r=n.videoRef,i=n.setVideoLoaded,o=n.cameraRef;React.useEffect((function(){i(!1)}),[i]),React.useEffect((function(){var e;r.current&&(null===(e=o.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=o.current.stream)}),[o,r]);var l=React.useCallback((function(){i(!0)}),[i]);return React__default.default.createElement(FullscreenVideoTag,{className:a,autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:l,$isRearFacing:null===(t=o.current)||void 0===t?void 0:t.isRearFacing})},FullscreenVideoTag=styled__default.default.video(templateObject_1$t||(templateObject_1$t=tslib.__makeTemplateObject(["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"],["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"])),(function(e){return e.$isRearFacing?"":"scaleX(-1)"}));function useShowSuccessScreen(e,t,a){var n=this,r=React.useState(!1),i=r[0],o=r[1];return React.useEffect((function(){t&&e&&("function"==typeof e?tslib.__awaiter(n,void 0,void 0,(function(){return tslib.__generator(this,(function(t){switch(t.label){case 0:return[4,e()];case 1:return t.sent()?null==a||a():o(!0),[2]}}))})):null==a||a())}),[t,a,e]),!e||i}var templateObject_1$s,CameraFeedWrapper=styled__default.default.div(templateObject_1$s||(templateObject_1$s=tslib.__makeTemplateObject(["\n ","\n"],["\n ","\n"])),(function(e){return"snapToGuides"===e.$mode?"display: flex;\n position: absolute;\n left: ".concat(e.$x,"px;\n top: ").concat(e.$y,"px;\n width: ").concat(e.$w,"px;\n height: ").concat(e.$h,"px;"):""}));function setCanvasDimensions(e,t,a){var n,r=1;"undefined"!=typeof window&&(r=window.devicePixelRatio),e.width=t*r,e.height=a*r,e.style.width=t+"px",e.style.height=a+"px",null===(n=e.getContext("2d"))||void 0===n||n.scale(r,r)}function resetCanvasDimensions(e){e.width=0,e.height=0,e.style.width="0",e.style.height="0"}var templateObject_1$r,templateObject_2$k,templateObject_3$f,templateObject_4$a,templateObject_5$6,templateObject_6$5,templateObject_7$3,templateObject_8$1,templateObject_1$q,templateObject_2$j,templateObject_1$p,templateObject_2$i,GuideOrientationContext=React.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}}),StyledPageContainer=styled__default.default(PageContainer)(templateObject_1$r||(templateObject_1$r=tslib.__makeTemplateObject(["\n z-index: 1000;\n"],["\n z-index: 1000;\n"]))),GuidesContainer=styled__default.default.div(templateObject_2$k||(templateObject_2$k=tslib.__makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"],["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"]))),GuideCenterRow=styled__default.default.div(templateObject_3$f||(templateObject_3$f=tslib.__makeTemplateObject(["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n"],["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n"]))),GuideRegion=styled__default.default.div(templateObject_4$a||(templateObject_4$a=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n position: relative;\n z-index: 1000;\n background: ",";\n color: ",";\n text-align: center;\n ","\n ","\n"],["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n position: relative;\n z-index: 1000;\n background: ",";\n color: ",";\n text-align: center;\n ","\n ","\n"])),(function(e){var t,a,n,r,i;return null!==(i=null!==(t=e.$maskColor)&&void 0!==t?t:null===(r=null===(n=null===(a=e.theme)||void 0===a?void 0:a.idCapture)||void 0===n?void 0:n.guideOverlay)||void 0===r?void 0:r.backgroundColor)&&void 0!==i?i:"rgba(0, 0, 0, 0.5)"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.idCapture)||void 0===a?void 0:a.guideOverlay)||void 0===n?void 0:n.textColor)&&void 0!==r?r:"white"}),(function(e){return e.$minWidth?"min-width: ".concat(e.$minWidth,"px;"):""}),(function(e){return e.$minHeight?"min-width: ".concat(e.$minHeight,"px;"):""})),GuideCenterRegion=styled__default.default.div(templateObject_5$6||(templateObject_5$6=tslib.__makeTemplateObject(["\n ","\n ","\n box-sizing: border-box;\n"],["\n ","\n ","\n box-sizing: border-box;\n"])),(function(e){return e.$minWidth?"min-width: ".concat(e.$minWidth,"px;"):""}),(function(e){return e.$isMirrored?"transform: scaleX(-1);":""})),GuideCenterBorder=styled__default.default.div(templateObject_6$5||(templateObject_6$5=tslib.__makeTemplateObject(["\n box-sizing: border-box;\n position: relative;\n border: ",";\n"],["\n box-sizing: border-box;\n position: relative;\n border: ",";\n"])),(function(e){var t,a;return"".concat(null!==(t=e.$borderWidth)&&void 0!==t?t:4,"px solid ").concat(null!==(a=e.$borderColor)&&void 0!==a?a:"white")})),GuideText=styled__default.default.span(templateObject_7$3||(templateObject_7$3=tslib.__makeTemplateObject(["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"],["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"]))),GuideImage=styled__default.default.img(templateObject_8$1||(templateObject_8$1=tslib.__makeTemplateObject(["\n position: relative;\n z-index: 1;\n display: block;\n padding: ","px;\n box-sizing: border-box;\n ","\n ","\n opacity: ",";\n transition: opacity 0.5s;\n"],["\n position: relative;\n z-index: 1;\n display: block;\n padding: ","px;\n box-sizing: border-box;\n ","\n ","\n opacity: ",";\n transition: opacity 0.5s;\n"])),(function(e){return e.$padding}),(function(e){return e.$width?"width: ".concat(e.$width,"px;\n max-width: ").concat(e.$width,"px;"):"max-width: none;"}),(function(e){return e.$height?"height: ".concat(e.$height,"px;\n max-height: ").concat(e.$height,"px;"):"max-height: none;"}),(function(e){return e.$visible?1:0})),IdCaptureGuideOverlay=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f=e.classNames,p=void 0===f?{}:f,g=e.width,h=void 0===g?0:g,v=e.height,b=void 0===v?0:v,_=e.padding,y=e.imagePadding,C=e.imageVisible,x=void 0===C||C,R=e.borderWidth,E=e.borderColor,I=e.maskColor,T=e.isMirrored,w=void 0!==T&&T,M=e.instruction,S=void 0===M?"":M,D=e.portraitGuidesImageUrl,k=e.landscapeGuidesImageUrl,N=e.onClick,O=React.useContext(GuideOrientationContext),j=O.orientation,A=O.wrapperRef,L=O.wrapperWidth,B=O.wrapperHeight,F=O.imageAspectRatio,P=O.wrapperAspectRatio,$=O.onImageLoaded,z=O.setDimensions,U=useIdCaptureState()[1];var G=styled.useTheme();void 0===R&&(R=null!==(n=null===(a=null===(t=G.idCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),0==h&&(h=L),0==b&&(b=B),React.useEffect((function(){z({width:h,height:b})}),[b,z,h]);var W=(null!=_?_:isMobile())?null!==(o=null===(i=null===(r=G.idCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.mobilePadding)&&void 0!==o?o:0:null!==(d=null===(s=null===(l=G.idCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.desktopPadding)&&void 0!==d?d:50,V=2*W+2*R,H="portrait"===j?D:k,q=null!==(m=null!=y?y:null===(u=null===(c=G.idCapture)||void 0===c?void 0:c.guideBox)||void 0===u?void 0:u.imagePadding)&&void 0!==m?m:0,Y=void 0,Z=void 0;return F>=P?Y=L-V:Z=B-V,React__default.default.createElement(StyledPageContainer,{ref:A,onClick:N,className:p.container},React__default.default.createElement(GuidesContainer,{className:p.inner},React__default.default.createElement(GuideRegion,{$maskColor:I,$minHeight:W,className:regionClsx$1(p,"Top")},""!==S&&React__default.default.createElement(GuideText,{className:p.guideText},S)),React__default.default.createElement(GuideCenterRow,{className:p.centerRow},React__default.default.createElement(GuideRegion,{$maskColor:I,$minWidth:W,className:regionClsx$1(p,"Left")}),React__default.default.createElement(GuideCenterRegion,{$minWidth:Y,$isMirrored:w,className:p.centerRegion},React__default.default.createElement(GuideCenterBorder,{$borderWidth:R,$borderColor:E,className:p.centerRegionInner},React__default.default.createElement(GuideImage,{src:H,alt:"",onLoad:function(e){$(e);var t=e.target;U({type:"guideImageLoaded",payload:{width:t.naturalWidth,height:t.naturalHeight}})},className:p.image,$width:Y,$height:Z,$padding:q,$visible:x}))),React__default.default.createElement(GuideRegion,{$maskColor:I,$minWidth:W,className:regionClsx$1(p,"Right")})),React__default.default.createElement(GuideRegion,{$maskColor:I,$minHeight:W,className:regionClsx$1(p,"Bottom")},""!==S&&React__default.default.createElement(GuideText,{style:{opacity:0}},S))))},regionClsx$1=function(e,t){return[e.dimmingRegion,e["dimmingRegion".concat(t)]].filter((function(e){return e})).join(" ")},FlippingImage=styled__default.default(GuideImage)(templateObject_1$q||(templateObject_1$q=tslib.__makeTemplateObject(["\n backface-visibility: hidden;\n transform-style: preserve-3d;\n position: relative;\n top: 0;\n left: 0;\n transition: transform ","s;\n transform: ",";\n"],["\n backface-visibility: hidden;\n transform-style: preserve-3d;\n position: relative;\n top: 0;\n left: 0;\n transition: transform ","s;\n transform: ",";\n"])),(function(e){return e.$transitionTime}),(function(e){return e.$transforms})),FlippingImageBack=styled__default.default(FlippingImage)(templateObject_2$j||(templateObject_2$j=tslib.__makeTemplateObject(["\n position: absolute;\n"],["\n position: absolute;\n"]))),FlipIdPrompt=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p=e.padding,g=e.imagePadding,h=e.borderWidth,v=e.borderColor,b=e.maskColor,_=e.assets,y=void 0===_?{}:_,C=e.classNames,x=void 0===C?{}:C,R=e.verbiage,E=void 0===R?{}:R,I=useResizeObserver__default.default(),T=I.ref,w=I.width,M=void 0===w?1:w,S=I.height,D=void 0===S?1:S,k=React.useContext(CameraStateContext).cameraRef,N=styled.useTheme();y.frontPortraitGuidesImageUrl||(y.frontPortraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),y.frontLandscapeGuidesImageUrl||(y.frontLandscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),y.backPortraitGuidesImageUrl||(y.backPortraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),y.backLandscapeGuidesImageUrl||(y.backLandscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var O=useVerbiage(E.instructionText,"Please flip your ID card..."),j=(null!=p?p:isMobile())?null!==(n=null===(a=null===(t=N.idCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.mobilePadding)&&void 0!==n?n:0:null!==(o=null===(i=null===(r=N.idCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.desktopPadding)&&void 0!==o?o:50;void 0===h&&(h=null!==(d=null===(s=null===(l=N.idCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.borderWidth)&&void 0!==d?d:4);var A=!(null===(c=k.current)||void 0===c?void 0:c.isRearFacing),L=React.useContext(GuideOrientationContext),B=L.orientation,F=L.wrapperRef,P=L.wrapperWidth,$=L.wrapperHeight,z=L.imageAspectRatio,U=L.wrapperAspectRatio,G=L.onImageLoaded,W=L.setDimensions;React.useEffect((function(){W({width:M,height:D})}),[D,W,M]);var V=2*j+2*h,H=null!==(f=null!=g?g:null===(m=null===(u=N.idCapture)||void 0===u?void 0:u.guideBox)||void 0===m?void 0:m.imagePadding)&&void 0!==f?f:0,q=void 0,Y=void 0;z>=U?q=P-V:Y=$-V;var Z=React.useState(1),Q=Z[0],X=Z[1],K=React.useState(0),J=K[0],ee=K[1],te=["rotateY(".concat(J,"deg)")];A&&te.push("scaleX(-1)");var ae=["rotateY(".concat(180-J,"deg)")];return A&&ae.push("scaleX(-1)"),React.useEffect((function(){var e=function(){X(1),ee(180),setTimeout((function(){X(0),ee(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),React__default.default.createElement(PageContainer,{ref:T,className:x.container},React__default.default.createElement(GuidesContainer,{ref:F,className:x.inner},React__default.default.createElement(GuideRegion,{$minHeight:j,$maskColor:b,className:regionClsx(x,"Top")},""!==O&&React__default.default.createElement(GuideText,{className:x.guideText},O)),React__default.default.createElement(GuideCenterRow,{className:x.centerRow},React__default.default.createElement(GuideRegion,{$minWidth:j,$maskColor:b,className:regionClsx(x,"Left")}),React__default.default.createElement(GuideCenterRegion,null,React__default.default.createElement(GuideCenterBorder,{$borderWidth:h,$borderColor:v,className:x.centerRegion},React__default.default.createElement(FlippingImage,{src:"portrait"===B?y.frontPortraitGuidesImageUrl:y.frontLandscapeGuidesImageUrl,alt:"",className:x.image,$width:q,$height:Y,$padding:H,$transitionTime:Q,$transforms:te.join(" "),$visible:!0,onLoad:G}),React__default.default.createElement(FlippingImageBack,{src:"portrait"===B?y.backPortraitGuidesImageUrl:y.backLandscapeGuidesImageUrl,alt:"",className:x.image,$width:q,$height:Y,$padding:H,$transitionTime:Q,$transforms:ae.join(" "),$visible:!0}))),React__default.default.createElement(GuideRegion,{$minWidth:j,$maskColor:b,className:regionClsx(x,"Right")})),React__default.default.createElement(GuideRegion,{$minHeight:j,$maskColor:b,className:regionClsx(x,"Bottom")},""!==O&&React__default.default.createElement(GuideText,{style:{opacity:0}},O))))},regionClsx=function(e,t){return[e.dimmingRegion,e["dimmingRegion".concat(t)]].filter((function(e){return e})).join(" ")},IdCaptureFitGuide=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f=e.aspectRatio,p=e.maskColor,g=e.borderRadius,h=void 0===g?33:g,v=e.borderColor,b=e.borderWidth,_=e.padding,y=e.imageUrl,C=e.imageVisible,x=e.frontImageUrl,R=e.backImageUrl,E=e.isMirrored,I=e.instruction,T=e.requestingFlip,w=void 0!==T&&T,M=e.classNames,S=void 0===M?{}:M,D=useIdCaptureState(),k=D[0],N=k.redrawing,O=k.guideImageWidth,j=k.guideImageHeight,A=D[1],L=React.useRef(null),B=useResizeObserver__default.default(),F=B.ref,P=B.width,$=void 0===P?1:P,z=B.height,U=void 0===z?1:z,G=styled.useTheme();return void 0===b&&(b=null!==(n=null===(a=null===(t=G.idCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),void 0===_&&(_=isMobile()?null!==(o=null===(i=null===(r=G.idCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.mobilePadding)&&void 0!==o?o:0:null!==(d=null===(s=null===(l=G.idCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.desktopPadding)&&void 0!==d?d:0),void 0===f&&0!==O&&(f=O/j),void 0===p&&(p=null!==(m=null===(u=null===(c=G.idCapture)||void 0===c?void 0:c.guideOverlay)||void 0===u?void 0:u.backgroundColor)&&void 0!==m?m:"#708090"),React.useEffect((function(){var e=L.current;if(e){if(N)return resetCanvasDimensions(e),void setTimeout((function(){A({type:"redrawInProgress"})}),10);var t=$-2*_-2*b,a=U-2*_-2*b,n=[_+b,_+b,t,a],r=n[0],i=n[1],o=n[2],l=n[3];if(void 0!==f){var s=a*f;s<t?r+=(t-(o=s))/2:i+=(a-(l=t/f))/2}setCanvasDimensions(e,$,U);var d=e.getContext("2d");if(d)d.fillStyle=p,d.clearRect(0,0,$,U),d.fillRect(0,0,$,U),d.beginPath(),d.roundRect(r,i,o,l,h),d.lineWidth=b,d.strokeStyle=null!=v?v:"white",(null==v?void 0:v.startsWith("var("))&&(d.strokeStyle=getComputedStyle(document.documentElement).getPropertyValue(v.slice(4,-1))),d.stroke(),d.fillStyle="rgba(0,0,0,1)",d.globalCompositeOperation="destination-out",d.fill(),d.globalCompositeOperation="source-over",A({type:"redrawCompleted",payload:{guideRectX:r,guideRectY:i,guideRectWidth:o,guideRectHeight:l,guideRectOffsetTop:e.offsetTop}})}}),[f,v,h,b,A,p,_,N,U,$]),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(CanvasWrapper$1,{ref:F,$maskColor:p,className:S.canvasWrapper},React__default.default.createElement(Canvas$1,{ref:L,className:S.canvas})),w?React__default.default.createElement(FlipIdPrompt,{maskColor:"transparent",borderWidth:0,classNames:S,assets:{frontLandscapeGuidesImageUrl:x,backLandscapeGuidesImageUrl:R}}):React__default.default.createElement(IdCaptureGuideOverlay,{landscapeGuidesImageUrl:y,maskColor:"transparent",borderWidth:0,isMirrored:E,instruction:I,classNames:S,imageVisible:C}))},CanvasWrapper$1=styled__default.default.div(templateObject_1$p||(templateObject_1$p=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n z-index: -1;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n z-index: -1;\n"])),(function(e){return e.$maskColor})),Canvas$1=styled__default.default.canvas(templateObject_2$i||(templateObject_2$i=tslib.__makeTemplateObject(["\n display: block;\n"],["\n display: block;\n"])));function IdCaptureGuides(e){var t,a,n=e.guideType,r=void 0===n?"fit":n,i=e.portraitGuidesOnMobile,o=void 0!==i&&i,l=e.requestingFlip,s=void 0!==l&&l,d=e.flipIdPromptAssets,c=void 0===d?{}:d,u=e.classNames,m=void 0===u?{}:u,f=e.assets,p=void 0===f?{}:f,g=e.colors,h=void 0===g?{}:g,v=e.verbiage,b=void 0===v?{}:v,_=useIdCaptureState()[0],y=React.useContext(CameraStateContext).cameraRef,C=useTranslations(b,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!",guidanceSatisfiedText:"Document detected, hold still...",guidanceTooBlurryText:"Document out of focus – try improving the lighting",guidanceNotCenteredText:"Document is not centered",guidanceNotDetectedText:"Document not detected"}),x=window.innerWidth<window.innerHeight,R=o&&x?null==c?void 0:c.frontPortraitGuidesImageUrl:null==c?void 0:c.frontLandscapeGuidesImageUrl,E=o&&x?null==c?void 0:c.backPortraitGuidesImageUrl:null==c?void 0:c.backLandscapeGuidesImageUrl;return React__default.default.createElement(React__default.default.Fragment,null,"overlay"===r&&React__default.default.createElement(IdCaptureGuideOverlay,{classNames:m,width:_.pageWidth,height:_.pageHeight,instruction:_.captureFailed?C.captureFailedText:_.capturing?null==C?void 0:C.capturingText:C.instructionText,portraitGuidesImageUrl:p.portraitGuidesImageUrl,landscapeGuidesImageUrl:p.landscapeGuidesImageUrl,isMirrored:!(null===(t=y.current)||void 0===t?void 0:t.isRearFacing),borderColor:_.isGoodFrame?h.guideBoxSatisfiedColor:h.guideBoxUnsatisfiedColor,imageVisible:s||!_.documentDetectionThresholdMet||!_.documentInBounds||_.documentTooClose}),"fit"===r&&React__default.default.createElement(IdCaptureFitGuide,{classNames:m,requestingFlip:s,instruction:_.captureFailed?C.captureFailedText:_.capturing?null==C?void 0:C.capturingText:C.instructionText,imageUrl:o&&x?null==p?void 0:p.portraitGuidesImageUrl:null==p?void 0:p.landscapeGuidesImageUrl,frontImageUrl:R,backImageUrl:E,isMirrored:!(null===(a=y.current)||void 0===a?void 0:a.isRearFacing),borderColor:_.isGoodFrame?h.guideBoxSatisfiedColor:h.guideBoxUnsatisfiedColor,imageVisible:s||!_.documentDetectionThresholdMet||!_.documentInBounds||_.documentTooClose}))}var templateObject_1$o,templateObject_1$n,templateObject_2$h,templateObject_3$e,templateObject_4$9,templateObject_1$m,templateObject_2$g,templateObject_1$l,templateObject_2$f,templateObject_3$d,templateObject_4$8,templateObject_5$5,templateObject_6$4,templateObject_7$2,templateObject_1$k,templateObject_2$e,templateObject_3$c,templateObject_4$7,templateObject_5$4,templateObject_6$3,templateObject_1$j,templateObject_2$d,templateObject_1$i,templateObject_2$c,templateObject_3$b,templateObject_4$6,templateObject_5$3,templateObject_1$h,templateObject_1$g,templateObject_1$f,templateObject_2$b,Spinner=styled__default.default.div(templateObject_1$o||(templateObject_1$o=tslib.__makeTemplateObject(["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"],["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$thickness;return null!=t?t:6}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"})),IdCaptureImagePreview=function(e){var t=e.classNames,a=void 0===t?{}:t,n=e.text,r=e.imageUrl,i=React.useRef(null),o=React.useState(!1),l=o[0],s=o[1],d=React.useState(0),c=d[1];return React__default.default.createElement(ImagePreviewWrapper,{className:a.container,style:{aspectRatio:d[0],opacity:l?1:0}},n&&React__default.default.createElement(ImagePreviewText,{className:a.text},n),React__default.default.createElement(ImagePreviewImageWrapper,{className:a.imageContainer},React__default.default.createElement("img",{ref:i,src:r,alt:"",className:a.image,onLoad:function(){c(i.current.naturalWidth/i.current.naturalHeight),s(!0)},onError:function(){console.error("failed to load image from url",r)}})))},SelfieProgressPreview=function(e){var t=e.classNames,a=void 0===t?{}:t,n=e.text,r=e.imageUrl,i=React.useRef(null),o=React.useState(!1),l=o[0],s=o[1],d=React.useState(0),c=d[1];return React__default.default.createElement(ImagePreviewWrapper,{className:a.container,style:{aspectRatio:d[0],opacity:l?1:0}},React__default.default.createElement(ImagePreviewText,{className:a.text},React__default.default.createElement(StyledSpinner,{className:a.spinner,$size:24,$color:"white",$thickness:3}),n),React__default.default.createElement(ImagePreviewImageWrapper,{className:a.imageContainer},React__default.default.createElement("img",{ref:i,src:r,alt:"",className:a.image,onLoad:function(){c(i.current.naturalWidth/i.current.naturalHeight),s(!0)},onError:function(){console.error("failed to load image from url",r)}})))},StyledSpinner=styled__default.default(Spinner)(templateObject_1$n||(templateObject_1$n=tslib.__makeTemplateObject(["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"],["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"]))),ImagePreviewWrapper=styled__default.default.div(templateObject_2$h||(templateObject_2$h=tslib.__makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"],["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"]))),ImagePreviewText=styled__default.default.div(templateObject_3$e||(templateObject_3$e=tslib.__makeTemplateObject(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"],["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"]))),ImagePreviewImageWrapper=styled__default.default.div(templateObject_4$9||(templateObject_4$9=tslib.__makeTemplateObject(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"],["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"]))),documentCaptureInitialState={documents:[],currentDocumentIndex:0,initialDrawComplete:!1,redrawing:!1,capturing:!1,rectX:0,rectY:0,rectWidth:0,rectHeight:0,rectOffsetTop:0,uploadCapturedDocument:function(){return Promise.resolve()}},DocumentCaptureStateContext=React.createContext(documentCaptureInitialState),DocumentCaptureDispatchContext=React.createContext((function(){})),documentCaptureStateReducer=function(e,t){var a,n,r,i,o;switch(t.type){case"setDocuments":return tslib.__assign(tslib.__assign({},e),{documents:t.payload,currentDocumentIndex:0});case"setHooks":return tslib.__assign(tslib.__assign({},e),t.payload);case"redrawRequested":return tslib.__assign(tslib.__assign({},e),{redrawing:!0,rectX:0,rectY:0,rectWidth:0,rectHeight:0,rectOffsetTop:0});case"redrawInProgress":return tslib.__assign(tslib.__assign({},e),{redrawing:!1,rectX:0,rectY:0,rectWidth:0,rectHeight:0,rectOffsetTop:0});case"redrawCompleted":return tslib.__assign(tslib.__assign(tslib.__assign({},e),t.payload),{initialDrawComplete:!0});case"captureRequested":return tslib.__assign(tslib.__assign({},e),{capturing:!0});case"captureCompleted":return(l=tslib.__assign(tslib.__assign({},e),{capturing:!1})).documents[s=e.currentDocumentIndex].content=t.payload.content,l.documents[s].contentUrl=t.payload.contentUrl,null===(a=e.onDocumentCaptured)||void 0===a||a.call(e,l.documents[s]),l;case"retryCapture":return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].content=void 0,l.documents[s].contentUrl=void 0,l;case"uploadStarted":return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].uploadState="in_progress",l;case"uploadCompleted":return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].documentId=t.payload.documentId,l.documents[s].uploadState="succeeded",null===(r=(n=l.documents[s]).onUploaded)||void 0===r||r.call(n,l.documents[s]),null===(i=e.onDocumentUploaded)||void 0===i||i.call(e,l.documents[s]),e.documents.length-1>s?l.currentDocumentIndex+=1:null===(o=e.onAllDocumentsUploaded)||void 0===o||o.call(e,l.documents),l;case"uploadFailed":var l,s;return(l=tslib.__assign({},e)).documents[s=e.currentDocumentIndex].uploadState="failed",l;default:return e}},DocumentCaptureStateProvider=function(e){var t=e.documents,a=void 0===t?[]:t,n=e.aspectRatio,r=e.cameraFeedMode,i=e.instructions,o=e.onDocumentCaptured,l=e.onDocumentUploaded,s=e.onAllDocumentsUploaded,d=e.children,c=React.useReducer(documentCaptureStateReducer,documentCaptureInitialState),u=c[0],m=c[1],f=React.useContext(CameraStateContext),p=f.cameraRef,g=f.videoRef,h=React.useContext(SubmissionContext).uploadDocument,v=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),m({type:"uploadStarted"}),[4,h(e)];case 1:return t=a.sent(),setTimeout((function(){m({type:"uploadCompleted",payload:{documentId:t}})}),0),[3,3];case 2:return a.sent(),m({type:"uploadFailed"}),[3,3];case 3:return[2]}}))}))}),[h]);React.useEffect((function(){var e,t=(null==a?void 0:a.length)?a.map((function(e){return tslib.__assign(tslib.__assign({title:"Document Capture",aspectRatio:n,cameraFeedMode:"snapToGuides",instructions:i},e),{uploadState:"not_started"})})):[{title:"Document Capture",aspectRatio:n,cameraFeedMode:null!=r?r:"snapToGuides",instructions:i,uploadState:"not_started"}];m({type:"setDocuments",payload:t}),(null===(e=t[0])||void 0===e?void 0:e.content)&&v(t[0].content)}),[n,r,a,i,v]),React.useEffect((function(){m({type:"setHooks",payload:{onDocumentCaptured:o,onDocumentUploaded:l,onAllDocumentsUploaded:s}})}),[o,s,l]);var b=useDebounce.useDebouncedCallback((function(){m({type:"redrawRequested"})}),500);React.useLayoutEffect((function(){if("undefined"!=typeof window)return window.addEventListener("resize",b),function(){window.removeEventListener("resize",b)}}),[b]);var _=g.current;React.useEffect((function(){if(u.capturing&&p.current)if("undefined"!=typeof ImageCapture)new ImageCapture(p.current.stream.getTracks()[0]).takePhoto().then(t).catch((function(){}));else if(_){var e=document.createElement("canvas");drawToCanvas(e,_),e.toBlob(t)}function t(e){if(e){var t=URL.createObjectURL(e);m({type:"captureCompleted",payload:{content:e,contentUrl:t}})}}}),[p,u.capturing,_]);var y=React.useMemo((function(){return tslib.__assign(tslib.__assign({},u),{uploadCapturedDocument:v})}),[u,v]);return React__default.default.createElement(DocumentCaptureStateContext.Provider,{value:y},React__default.default.createElement(DocumentCaptureDispatchContext.Provider,{value:m},d))},useDocumentCaptureState=function(){var e=React.useContext(DocumentCaptureStateContext),t=React.useContext(DocumentCaptureDispatchContext);if(!e||!t)throw new Error("useDocumentCaptureState cannot be used without DocumentCaptureStateProvider");return[e,t]},DocumentCaptureGuideOverlay=function(e){var t,a,n,r,i,o,l,s,d,c=e.aspectRatio,u=e.borderRadius,m=void 0===u?25:u,f=e.borderColor,p=e.borderWidth,g=e.maskColor,h=e.padding,v=e.classNames,b=void 0===v?{}:v,_=useResizeObserver__default.default(),y=_.ref,C=_.width,x=void 0===C?1:C,R=_.height,E=void 0===R?1:R,I=useDocumentCaptureState(),T=I[0].redrawing,w=I[1],M=React.useRef(null),S=styled.useTheme();return void 0===p&&(p=null!==(n=null===(a=null===(t=S.documentCapture)||void 0===t?void 0:t.guideBox)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),void 0===h&&(h=isMobile()?null!==(o=null===(i=null===(r=S.documentCapture)||void 0===r?void 0:r.guideBox)||void 0===i?void 0:i.mobilePadding)&&void 0!==o?o:0:null!==(d=null===(s=null===(l=S.documentCapture)||void 0===l?void 0:l.guideBox)||void 0===s?void 0:s.desktopPadding)&&void 0!==d?d:0),React.useEffect((function(){var e=M.current;if(e){if(T)return resetCanvasDimensions(e),void setTimeout((function(){w({type:"redrawInProgress"})}),10);var t=x-2*h-2*p,a=E-2*h-2*p,n=[h+p,h+p,t,a],r=n[0],i=n[1],o=n[2],l=n[3];if(void 0!==c){var s=a*c;s<t?r+=(t-(o=s))/2:i+=(a-(l=t/c))/2}setCanvasDimensions(e,x,E);var d=e.getContext("2d");if(d)d.fillStyle=g,d.clearRect(0,0,x,E),d.fillRect(0,0,x,E),d.beginPath(),d.roundRect(r,i,o,l,m),d.lineWidth=p,d.strokeStyle=null!=f?f:"white",d.stroke(),d.fillStyle="rgba(0,0,0,1)",d.globalCompositeOperation="destination-out",d.fill(),d.globalCompositeOperation="source-over",w({type:"redrawCompleted",payload:{rectX:r,rectY:i,rectWidth:o,rectHeight:l,rectOffsetTop:e.offsetTop}})}}),[c,f,m,p,w,g,h,T,E,x]),React__default.default.createElement(CanvasWrapper,{ref:y,className:b.container,$maskColor:g},React__default.default.createElement(Canvas,{ref:M}))},CanvasWrapper=styled__default.default.div(templateObject_1$m||(templateObject_1$m=tslib.__makeTemplateObject(["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n"],["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ",";\n"])),(function(e){return e.$maskColor})),Canvas=styled__default.default.canvas(templateObject_2$g||(templateObject_2$g=tslib.__makeTemplateObject(["\n display: block;\n"],["\n display: block;\n"]))),DocumentCaptureScreen=function(e){var t,a,n,r,i,o=e.onCaptureClicked,l=e.classNames,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=useDocumentCaptureState(),m=u[0],f=m.rectX,p=m.rectY,g=m.rectWidth,h=m.rectHeight,v=m.rectOffsetTop,b=m.capturing,_=m.uploadCapturedDocument,y=u[1],C=null!==(t=m.documents[m.currentDocumentIndex])&&void 0!==t?t:{},x=C.title,R=C.aspectRatio,E=C.cameraFeedMode,I=C.instructions,T=C.contentUrl,w=C.content,M=C.uploadState,S=React.useContext(CameraStateContext),D=S.cameraReady,k=S.cameraAccessDenied,N=S.retryCameraAccess,O=null!==(r=null===(n=null===(a=styled.useTheme().documentCapture)||void 0===a?void 0:a.guideBox)||void 0===n?void 0:n.maskColor)&&void 0!==r?r:"snapToGuides"===E?"#708090":"rgba(0, 0, 0, 0.5)",j=useTranslations(c,{headingText:x,loadingBtnText:"Camera initializing...",retryCameraAccessBtnText:"Retry",captureBtnText:"Capture",capturingBtnText:"Capturing...",retryCaptureBtnText:"Retry capture",uploadBtnText:"Upload",uploadingBtnText:"Uploading...",retryUploadBtnText:"Retry",successBtnText:"Upload succeeded!"});function A(){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return[4,_(w)];case 1:return e.sent(),[2]}}))}))}return React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(i=s.container)&&void 0!==i?i:"")},React__default.default.createElement(CameraFeedWrapper,{className:s.cameraFeedWrapper,$mode:null!=E?E:"snapToGuides",$x:f,$y:p+v,$w:g,$h:h},T?React__default.default.createElement(PreviewImage,{alt:"",src:T,className:s.previewImage}):React__default.default.createElement(CameraVideoTag,{className:s.cameraFeed})),React__default.default.createElement(CaptureContainer,{className:s.captureContainer},React__default.default.createElement(HeadingRow,{$maskColor:O,className:s.headingRow},React__default.default.createElement(Heading$8,{className:s.heading},j.headingText)),React__default.default.createElement(DocumentCaptureGuideOverlay,{aspectRatio:R,classNames:s,maskColor:O}),React__default.default.createElement(FooterRow,{$maskColor:O,className:s.footerRow},I&&React__default.default.createElement(Instructions,{className:s.instructions},I),React__default.default.createElement(StyledButtonsRow$9,{className:s.buttonsRow},k?React__default.default.createElement(LoaderButton,{className:s.retryCameraAccessBtn,variant:"negative",finished:!0,onClick:N},j.retryCameraAccessBtnText):T?React__default.default.createElement(React__default.default.Fragment,null,"not_started"===M?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(LoaderButton,{className:s.retryCaptureBtn,finished:!0,variant:"warning",onClick:function(){y({type:"retryCapture"})}},j.retryCaptureBtnText),React__default.default.createElement(LoaderButton,{className:s.uploadBtn,finished:!0,variant:"positive",onClick:A},j.uploadBtnText)):React__default.default.createElement(LoaderButton,{className:s.uploadProgressBtn,finished:"in_progress"!==M,variant:"failed"===M?"negative":"positive",onClick:A,disabled:["in_progress","succeeded"].includes(null!=M?M:"")},"succeeded"===M?j.successBtnText:"failed"===M?j.retryUploadBtnText:j.uploadingBtnText)):React__default.default.createElement(LoaderButton,{className:s.captureBtn,finished:D,variant:"primary",onClick:function(){y({type:"captureRequested"}),null==o||o()},disabled:!D||b},D?b?j.capturingBtnText:j.captureBtnText:j.loadingBtnText)))))},CaptureContainer=styled__default.default.div(templateObject_1$l||(templateObject_1$l=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--app-height);\n"],["\n display: flex;\n flex-direction: column;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--app-height);\n"]))),HeadingRow=styled__default.default.div(templateObject_2$f||(templateObject_2$f=tslib.__makeTemplateObject(["\n background: ",";\n text-align: center;\n color: white;\n"],["\n background: ",";\n text-align: center;\n color: white;\n"])),(function(e){return e.$maskColor})),Heading$8=styled__default.default.h1(templateObject_3$d||(templateObject_3$d=tslib.__makeTemplateObject(["\n font-size: 22px;\n"],["\n font-size: 22px;\n"]))),FooterRow=styled__default.default.div(templateObject_4$8||(templateObject_4$8=tslib.__makeTemplateObject(["\n background: ",";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"],["\n background: ",";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"])),(function(e){return e.$maskColor})),Instructions=styled__default.default.div(templateObject_5$5||(templateObject_5$5=tslib.__makeTemplateObject(["\n max-height: ",";\n overflow-y: auto;\n"],["\n max-height: ",";\n overflow-y: auto;\n"])),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.documentCapture)||void 0===t?void 0:t.instructions)||void 0===a?void 0:a.maxHeight)&&void 0!==n?n:"8rem"})),StyledButtonsRow$9=styled__default.default(ButtonsRow)(templateObject_6$4||(templateObject_6$4=tslib.__makeTemplateObject(["\n padding-top: 20px;\n"],["\n padding-top: 20px;\n"]))),PreviewImage=styled__default.default.img(templateObject_7$2||(templateObject_7$2=tslib.__makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"],["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"]))),DocumentCaptureWizard=function(e){var t=e.documents,a=e.classNames,n=e.verbiage;return React__default.default.createElement(DocumentCaptureStateProvider,{documents:void 0===t?[]:t,aspectRatio:e.aspectRatio,cameraFeedMode:e.cameraFeedMode,instructions:e.instructions,onDocumentCaptured:e.onDocumentCaptured,onDocumentUploaded:e.onDocumentUploaded,onAllDocumentsUploaded:e.onSuccess},React__default.default.createElement(DocumentCaptureScreen,{classNames:void 0===a?{}:a,verbiage:void 0===n?{}:n}))},IdCaptureFallback=function(e){var t=e.idCaptureRequirement,a=void 0===t?"idCardOrPassport":t,n=e.onCapture,r=e.onFinished,i=e.classNames,o=void 0===i?{}:i,l=e.colors,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=React.useRef(null),m=React.useState([]),f=m[0],p=m[1],g=allowedImageCountForOption(a),h=requiredImageCountForOption(a),v="idCard"===a?"ID card":"passport"===a?"passport":"idCardOrPassport"===a?"ID card or passport":"ID card and passport",b="idCard"===a||"idCardAndPassport"===a?"Please capture the front of your ID card.":"passport"===a?"Please capture the ID page of your passport.":"Please capture the front of your ID card, or the ID page of your passport.",_="idCardOrPassport"===a?"Please capture the back of your ID card, or click Done if submitting a passport.":"Please capture the back of your ID card.",y=useTranslations(c,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture ".concat(h>1?"photos":" a photo"," of your ").concat(v," manually."),firstInstructionText:b,secondInstructionText:_,thirdInstructionText:"Please capture the ID page of your passport.",captureBtnText:"Capture",captureMoreBtnText:"Capture ".concat(2===f.length?"ID page of passport":"back of ID card"),doneBtnText:"Done"});var C=0===f.length?y.firstInstructionText:1===f.length?y.secondInstructionText:y.thirdInstructionText;console.log({imagesLength:f.length,instructionText:C,idCaptureRequirement:a,requiredImageCount:h});var x=React.useState(),R=x[0],E=x[1];return R?React__default.default.createElement(DocumentCaptureWizard,{documents:[{title:R}],onDocumentCaptured:function(e){var t=e.contentUrl;p((function(e){return tslib.__spreadArray(tslib.__spreadArray([],e,!0),[t],!1)})),null==n||n(t),E(void 0)}}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(OverlayContainer,{className:o.container},React__default.default.createElement(StyledOverlayInner$1,{className:o.inner},React__default.default.createElement(Heading$7,{className:o.heading},y.headingText),React__default.default.createElement(Description$2,{className:o.description},y.descriptionText),f.length>0&&React__default.default.createElement(OverlayImageRow,{className:o.imageContainer},f.map((function(e,t){return React__default.default.createElement(ImageCol,{key:t,className:o.imageCol},React__default.default.createElement("img",{src:e,alt:"",className:o.image}))}))),f.length<h&&React__default.default.createElement(Instruction,{className:o.instruction},C),React__default.default.createElement("input",{ref:u,type:"file",accept:"image/*",capture:"environment",onChange:function(e){var t,a=null===(t=e.target.files)||void 0===t?void 0:t[0];if(a){var r=new FileReader;r.addEventListener("load",(function(e){var t,a=null===(t=e.target)||void 0===t?void 0:t.result;p((function(e){return tslib.__spreadArray(tslib.__spreadArray([],e,!0),[a],!1)})),null==n||n(a)})),r.readAsDataURL(a)}},hidden:!0}),React__default.default.createElement(StyledButtonsRow$8,{className:o.buttonsRow},f.length<g&&React__default.default.createElement(LoaderButton,{variant:f.length>0?"secondary":"positive",className:f.length>0?o.captureMoreBtn:o.captureBtn,colors:f.length>0?s.captureMoreBtn:s.captureBtn,finished:!0,onClick:function(){var e;isMobile()?null===(e=u.current)||void 0===e||e.click():E(C)}},f.length>0?y.captureMoreBtnText:y.captureBtnText),f.length>=h&&React__default.default.createElement(LoaderButton,{variant:"positive",className:o.doneBtn,colors:s.doneBtn,finished:!0,onClick:function(){null==r||r(f)}},y.doneBtnText)))))},StyledOverlayInner$1=styled__default.default(OverlayInner$2)(templateObject_1$k||(templateObject_1$k=tslib.__makeTemplateObject(["\n justify-content: center;\n"],["\n justify-content: center;\n"]))),Heading$7=styled__default.default.h3(templateObject_2$e||(templateObject_2$e=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Description$2=styled__default.default.p(templateObject_3$c||(templateObject_3$c=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Instruction=styled__default.default.p(templateObject_4$7||(templateObject_4$7=tslib.__makeTemplateObject(["\n font-weight: bold;\n"],["\n font-weight: bold;\n"]))),ImageCol=styled__default.default.div(templateObject_5$4||(templateObject_5$4=tslib.__makeTemplateObject(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"],["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"]))),StyledButtonsRow$8=styled__default.default(ButtonsRow)(templateObject_6$3||(templateObject_6$3=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),IdCaptureWizard=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v=e.onSuccess,b=e.onExitCapture,_=e.onUserCancel,y=e.loadingOverlayMode,C=void 0===y?"default":y,x=e.precapturedDocuments,R=e.captureRequirement,E=void 0===R?"idCardOrPassport":R,I=e.autoCaptureEnabled,T=void 0===I||I,w=e.autoCaptureGoodFramesRequired,M=void 0===w?3:w,S=e.autoCaptureBarcodeRequired,D=void 0===S?"mobile":S,k=e.barcodeScanningEnabled,N=void 0!==k&&k,O=e.idCardAutoCaptureScoreThreshold,j=void 0===O?.8:O,A=e.passportAutoCaptureScoreThreshold,L=void 0===A?.75:A,B=e.mrzDetectionScoreThreshold,F=void 0===B?.25:B,P=e.idCardFocusScoreThreshold,$=void 0===P?.3:P,z=e.passportFocusScoreThreshold,U=void 0===z?.3:z,G=e.skipSuccessScreen,W=void 0!==G&&G,V=e.instructions,H=e.releaseCameraAccessOnExit,q=void 0===H||H,Y=e.guideType,Z=void 0===Y?"fit":Y,Q=e.portraitGuidesOnMobile,X=void 0!==Q&&Q,K=e.rotateLoadingOverlayImageWhenPortrait,J=void 0===K||K,ee=e.assets,te=void 0===ee?{}:ee,ae=e.classNames,ne=void 0===ae?{}:ae,re=e.colors,ie=void 0===re?{}:re,oe=e.verbiage,le=void 0===oe?{}:oe,se=e.debugMode,de=void 0!==se&&se,ce=useIdCaptureState(),ue=ce[0],me=ce[1],fe=React.useContext(CameraStateContext).releaseCameraAccess,pe=React.useState(!1),ge=pe[0],he=pe[1],ve=React.useContext(SubmissionContext),be=ve.submissionStatus,_e=ve.setIdFrontImage,ye=ve.setIdBackImage,Ce=ve.setPassportImage,xe=ve.logIdFrontCaptureAttempt,Re=ve.logIdBackCaptureAttempt,Ee=React.useContext(IdCaptureModelsContext).modelError,Ie=React.useRef();React.useEffect((function(){me({type:"configureWizard",payload:{captureRequirement:E,precapturedDocuments:x}})}),[E,me,x]);var Te=Object.keys(ue.capturedDocuments).length;React.useEffect((function(){Ie.current=new Date}),[Te]);var we=React.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=Ie.current)&&void 0!==t?t:new Date).getTime(),"idCardBack"===ue.requestedDocumentType?Re(e):xe(e)}),[Re,xe,ue.requestedDocumentType]),Me=React.useCallback((function(e){me({type:"predictionMade",payload:e})}),[me]),Se=React.useCallback((function(e,t,a,n){we(n),me({type:"documentCaptured",payload:{imageData:e,width:t,height:a,boundingBox:n.boundingBox}})}),[me,we]),De=React.useCallback((function(){var e=ue.capturedDocuments,t=e.idCardFront,a=e.idCardBack,n=e.passport,r=t&&dataUrlToBase64Sync(t.imageData),i=a&&dataUrlToBase64Sync(a.imageData),o=n&&dataUrlToBase64Sync(n.imageData);r&&_e(r),i&&ye(i),o&&Ce(o),q&&fe(),setTimeout((function(){null==v||v({idFrontImage:r,idBackImage:i,passportImage:o})}),0)}),[v,fe,q,ye,_e,Ce,ue.capturedDocuments]),ke=useShowSuccessScreen(W,"complete"===ue.captureState,De),Ne=React.useCallback((function(){me({type:"resetWizard"})}),[me]),Oe=React.useState(0),je=Oe[0],Ae=Oe[1],Le=React.useCallback((function(){he(!1),Ae((function(e){return e+1})),me({type:"resetWizard"}),null==b||b()}),[me,b]);React.useEffect((function(){be!==SubmissionStatus.READY&&q&&fe()}),[fe,q,be]),te.idCardFront||(te.idCardFront={}),(l=te.idCardFront).portraitGuidesImageUrl||(l.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),(s=te.idCardFront).landscapeGuidesImageUrl||(s.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),te.idCardBack||(te.idCardBack={}),(d=te.idCardBack).portraitGuidesImageUrl||(d.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),(c=te.idCardBack).landscapeGuidesImageUrl||(c.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg")),te.passport||(te.passport={}),(u=te.passport).portraitGuidesImageUrl||(u.portraitGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-Passport-Front-SVG-Portrait-2.svg")),(m=te.passport).landscapeGuidesImageUrl||(m.landscapeGuidesImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-Passport-Front-SVG-Landscape-2.svg")),te.flipIdPrompt||(te.flipIdPrompt={}),(f=te.flipIdPrompt).frontPortraitGuidesImageUrl||(f.frontPortraitGuidesImageUrl=te.idCardFront.portraitGuidesImageUrl),(p=te.flipIdPrompt).frontLandscapeGuidesImageUrl||(p.frontLandscapeGuidesImageUrl=te.idCardFront.landscapeGuidesImageUrl),(g=te.flipIdPrompt).backPortraitGuidesImageUrl||(g.backPortraitGuidesImageUrl=te.idCardBack.portraitGuidesImageUrl),(h=te.flipIdPrompt).backLandscapeGuidesImageUrl||(h.backLandscapeGuidesImageUrl=te.idCardBack.landscapeGuidesImageUrl);var Be={idCardFront:useTranslations(le.idCardFront,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured."}),idCardBack:useTranslations(le.idCardBack,{instructionText:"Scan the back of ID"}),passport:useTranslations(le.passport,{instructionText:"Scan the ID page of passport"})},Fe=styled.useTheme(),Pe=useIdCaptureState()[0],$e=Pe.guideRectX,ze=Pe.guideRectY,Ue=Pe.guideRectWidth,Ge=Pe.guideRectHeight,We=Pe.imageUrl,Ve=te[ue.requestedDocumentType],He=Be[ue.requestedDocumentType];return React.useEffect((function(){"requestingFlip"===ue.captureState&&setTimeout((function(){me({type:"flipRequestCompleted"})}),6e3)}),[me,ue.captureState]),Ee?React__default.default.createElement(IdCaptureFallback,{idCaptureRequirement:E,onFinished:De,onCapture:function(e){me({type:"documentCapturedManually",payload:{imageData:e}})},classNames:ne.fallback,colors:ie.fallback,verbiage:le.fallback}):React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=null==ne?void 0:ne.container)&&void 0!==t?t:"")},"complete"!==ue.captureState&&React__default.default.createElement(CameraFeedWrapper,{$x:$e,$y:ze,$w:Ue,$h:Ge,$mode:"fit"===Z?"snapToGuides":"fullscreen"},React__default.default.createElement(CameraVideoTag,{className:null==ne?void 0:ne.cameraFeed})),ge&&"requestingFlip"!==ue.captureState&&function(){var e=Te;switch(ue.requestedDocumentType){case"idCardFront":return React__default.default.createElement(IdCapture,{key:"capture".concat(e),requiredDocumentType:ue.requestedDocumentType,autoCaptureEnabled:T,autoCaptureScoreThreshold:j,autoCaptureGoodFramesRequired:M,autoCaptureBarcodeRequired:D,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:F,focusScoreThreshold:$,onPrediction:Me,onCapture:Se,assets:Ve,classNames:null==ne?void 0:ne.capture,colors:ie,verbiage:He,debugMode:de});case"idCardBack":return React__default.default.createElement(IdCapture,{key:"capture".concat(e),requiredDocumentType:ue.requestedDocumentType,autoCaptureEnabled:T,autoCaptureScoreThreshold:j,autoCaptureGoodFramesRequired:M,autoCaptureBarcodeRequired:D,barcodeScanningEnabled:N,mrzDetectionScoreThreshold:F,focusScoreThreshold:$,onPrediction:Me,onCapture:Se,assets:Ve,classNames:null==ne?void 0:ne.capture,colors:ie,verbiage:He,debugMode:de});case"passport":return React__default.default.createElement(IdCapture,{key:"capture".concat(e),requiredDocumentType:ue.requestedDocumentType,autoCaptureEnabled:T,autoCaptureScoreThreshold:L,mrzDetectionScoreThreshold:F,autoCaptureGoodFramesRequired:M,autoCaptureBarcodeRequired:D,barcodeScanningEnabled:!1,focusScoreThreshold:U,onPrediction:Me,onCapture:Se,assets:Ve,classNames:null==ne?void 0:ne.capture,colors:ie,verbiage:He,debugMode:de});default:return null}}(),React__default.default.createElement(IdCaptureGuides,{guideType:Z,portraitGuidesOnMobile:X,requestingFlip:"requestingFlip"===ue.captureState,flipIdPromptAssets:null==te?void 0:te.flipIdPrompt,classNames:ne,assets:Ve,colors:ie,verbiage:He}),!(null===(n=null===(a=Fe.idCapture)||void 0===a?void 0:a.capturePreview)||void 0===n?void 0:n.disabled)&&"requestingFlip"===ue.captureState&&We&&React__default.default.createElement(IdCaptureImagePreview,{classNames:null===(r=ne.capture)||void 0===r?void 0:r.imagePreview,text:null===(i=null==Be?void 0:Be.idCardFront)||void 0===i?void 0:i.processingIdCardText,imageUrl:We}),"complete"!==ue.captureState&&React__default.default.createElement("div",{id:"idmission-above-guides-content"}),React__default.default.createElement(ExitCaptureButton,{onClick:Le,className:null===(o=ne.capture)||void 0===o?void 0:o.exitCaptureBtn}),!ge&&React__default.default.createElement(IdCaptureLoadingOverlay,{key:je,mode:C,instructions:V,assets:te.loadingOverlay,classNames:ne.loadingOverlay,colors:ie.loadingOverlay,verbiage:le.loadingOverlay,onUserCancel:_,onDismissed:function(){he(!0)},rotateImage:J&&X&&window.innerWidth<window.innerHeight}),"complete"===ue.captureState&&ke&&React__default.default.createElement(IdCaptureSuccess,{capturedDocuments:ue.capturedDocuments,barcodeResult:ue.barcodeResult,classNames:ne.success,onSubmitClick:De,onRetryClick:Ne,colors:ie.success,verbiage:le.success}))},FaceCaptureGuideContainer=styled__default.default.div(templateObject_1$j||(templateObject_1$j=tslib.__makeTemplateObject(["\n position: absolute;\n z-index: 1000;\n width: 100%;\n height: 100%;\n display: flex;\n"],["\n position: absolute;\n z-index: 1000;\n width: 100%;\n height: 100%;\n display: flex;\n"]))),FaceCaptureGuideOval=styled__default.default.div(templateObject_2$d||(templateObject_2$d=tslib.__makeTemplateObject(["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 50%;\n margin: auto;\n"],["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 50%;\n margin: auto;\n"])),(function(e){return e.$borderWidth}),(function(e){var t,a,n,r;return null!==(r=null!==(t=e.$borderColor)&&void 0!==t?t:null===(n=null===(a=e.theme.selfieCapture)||void 0===a?void 0:a.guides)||void 0===n?void 0:n["".concat(e.$variant,"Color")])&&void 0!==r?r:"white"})),FaceCaptureGuideOverlay=function(e){var t=e.classNames,a=void 0===t?{}:t,n=e.variant,r=e.borderWidth;return React__default.default.createElement(FaceCaptureGuideContainer,{className:a.container},React__default.default.createElement(FaceCaptureGuideOval,{className:a.oval,$variant:void 0===n?"unsatisfied":n,$borderWidth:void 0===r?3:r,$borderColor:e.borderColor}))},useTimeout=function(e,t,a,n,r){void 0===r&&(r=!0);var i=React.useState(!1),o=i[0],l=i[1],s=React.useState(),d=s[0],c=s[1];return React.useEffect((function(){if(e&&r){c(new Date);var t=setTimeout((function(){l(!0)}),e);return function(){t&&clearTimeout(t)}}}),[e,r]),React.useEffect((function(){if(o&&!a){if(n){var e=setTimeout((function(){null==t||t()}),12e4);return function(){clearTimeout(e)}}null==t||t()}}),[t,n,o,a]),{timedOut:o,timeoutStartedAt:d}},SelfieCaptureFallback=function(e){var t=e.onFinished,a=e.onCapture,n=e.classNames,r=void 0===n?{}:n,i=e.colors,o=void 0===i?{}:i,l=e.verbiage,s=void 0===l?{}:l,d=React.useState(null),c=d[0],u=d[1],m=React.useRef(null),f=React.useState(!1),p=f[0],g=f[1],h=React.useState(!1),v=h[0],b=h[1],_=useTranslations(s,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture a selfie manually.",captureBtnText:"Capture",doneBtnText:"Done",doneBtnLoadingText:"Verifying..."});return v?React__default.default.createElement(DocumentCaptureWizard,{documents:[{title:_.descriptionText}],onDocumentCaptured:function(e){var t=e.contentUrl;u(t),null==a||a(t),b(!1)}}):React__default.default.createElement(OverlayContainer,{className:r.container},React__default.default.createElement(StyledOverlayInner,{className:r.inner},React__default.default.createElement(Heading$6,{className:r.heading},_.headingText),React__default.default.createElement(Description$1,{className:r.description},_.descriptionText),c&&React__default.default.createElement(ImageContainer$5,{className:r.imageContainer},React__default.default.createElement("img",{src:c,alt:"",className:r.image})),React__default.default.createElement("input",{ref:m,type:"file",accept:"image/*",capture:"user",onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(n){var r=new FileReader;r.addEventListener("load",(function(e){var t,n=null===(t=e.target)||void 0===t?void 0:t.result;u(n),null==a||a(n)})),r.readAsDataURL(n)}},hidden:!0}),React__default.default.createElement(StyledButtonsRow$7,{className:r.buttonsRow},!c&&React__default.default.createElement(LoaderButton,{variant:"positive",className:r.captureBtn,colors:o.captureBtn,finished:!0,onClick:function(){var e;isMobile()?null===(e=m.current)||void 0===e||e.click():b(!0)}},_.captureBtnText),c&&React__default.default.createElement(LoaderButton,{variant:"positive",key:p?"loading-btn":"ready-btn",className:r.doneBtn,colors:o.doneBtn,finished:!p,onClick:function(){g(!0),null==t||t(c)}},p?_.doneBtnLoadingText:_.doneBtnText))))},StyledOverlayInner=styled__default.default(OverlayInner$2)(templateObject_1$i||(templateObject_1$i=tslib.__makeTemplateObject(["\n justify-content: center;\n"],["\n justify-content: center;\n"]))),Heading$6=styled__default.default.h3(templateObject_2$c||(templateObject_2$c=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Description$1=styled__default.default.p(templateObject_3$b||(templateObject_3$b=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),ImageContainer$5=styled__default.default(OverlayImageContainer)(templateObject_4$6||(templateObject_4$6=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),StyledButtonsRow$7=styled__default.default(ButtonsRow)(templateObject_5$3||(templateObject_5$3=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),initialState$3={videoWidth:0,videoHeight:0,capturing:!1,captured:!1,captureFailed:!1,frame:null,faces:[],faceNotCentered:!1,faceLookingAway:!1,faceTooClose:!1,faceTooFar:!1,faceReady:!1,faceReadyAt:null,goodFramesCount:0,goodFramesThreshold:1,goodFramesThresholdMet:!1},reducer$3=function(e,t){switch(t.type){case"configure":return tslib.__assign(tslib.__assign({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return tslib.__assign(tslib.__assign({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return tslib.__assign(tslib.__assign({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return tslib.__assign(tslib.__assign({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var a=t.payload.faces,n=a[0],r=!0,i=!1,o=!1,l=!1,s=e.faceReadyAt,d=e.goodFramesCount;if(n){var c=e.videoHeight/2,u=(n.box.xMin+n.box.xMax)/2,m=(n.box.yMin+n.box.yMax)/2,f=.125*e.videoWidth,p=.125*e.videoHeight,g=.2*n.box.width,h=.2*n.box.height,v=n.keypoints[2];v&&(r=Math.abs(e.videoWidth/2-u)>f||Math.abs(c+50-m)>p,i=Math.abs(u-v.x)>g||Math.abs(m-v.y)>h);var b=e.videoWidth<e.videoHeight;o=n.box.width>e.videoWidth/(b?2:4.5),l=n.box.width<e.videoWidth/(b?6:7)}var _=!(r||i||o||l);return _?e.faceReady||(s=new Date):(s=null,d=0),tslib.__assign(tslib.__assign({},e),{faces:a,faceNotCentered:r,faceLookingAway:i,faceTooClose:o,faceTooFar:l,faceReady:_,faceReadyAt:s,goodFramesCount:d})}},SelfieCapture=function(e){var t,a=e.onGuidanceSatisfied,n=e.onGuidanceNotSatisfied,r=e.onSelfieCaptured,i=e.onTimeout,o=e.onExit,l=e.timeoutDurationMs,s=void 0===l?15e3:l,d=e.guidanceMessage,c=e.guidanceSatisfied,u=e.classNames,m=void 0===u?{}:u,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,h=void 0===g?{}:g,v=e.debugMode,b=void 0!==v&&v,_=useResizeObserver__default.default(),y=_.ref,C=_.width,x=void 0===C?1:C,R=_.height,E=void 0===R?1:R,I=React.useReducer(reducer$3,initialState$3),T=I[0],w=I[1],M=React.useRef(null),S=React.useContext(CameraStateContext),D=S.cameraRef,k=S.cameraReady,N=S.videoRef,O=React.useContext(HighPerformanceSelfieGuidanceModelsContext),j=O.onPredictionMade,A=O.error;React.useEffect((function(){k&&N.current&&0!==N.current.videoWidth&&w({type:"configure",payload:{videoWidth:N.current.videoWidth,videoHeight:N.current.videoHeight}})}),[k,N]),React.useEffect((function(){j((function(e){w({type:"facesDetected",payload:{faces:e}})}))}),[j]);var L=React.useState(!1),B=L[0],F=L[1];React.useEffect((function(){var e;return T.faceReady?(null==a||a(),e=setTimeout((function(){F(!0)}),1e3)):null==n||n(),function(){e&&clearTimeout(e)}}),[n,a,T.faceReady]),React.useEffect((function(){tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){if(B&&N.current&&M.current&&T.faces.length>0){if(drawToCanvas(M.current,N.current),!(e=M.current.getContext("2d")))return[2];t=e.getImageData(0,0,N.current.videoWidth,N.current.videoHeight),null==r||r(t,T.faces[0]),clearCanvas(M.current)}return[2]}))}))}),[B,r,T.faces,N]);var P=useTimeout(s,i),$=P.timedOut,z=P.timeoutStartedAt,U=useDebugScalingDetails({enabled:b,pageWidth:x,pageHeight:E,videoWidth:T.videoWidth,videoHeight:T.videoHeight});p.guidesUnsatisfiedColor||(p.guidesUnsatisfiedColor="white"),p.guidesSatisfiedColor||(p.guidesSatisfiedColor="green");var G=useTranslations(h,{guidanceHoldStillText:"Hold still for a few seconds...",guidanceLookStraightText:"Look straight into the camera...",guidanceMoveBackText:"Move back...",guidanceMoveForwardText:"Move forward...",guidanceMoveToCenterText:"Move to the center..."}),W=T.faceReady;return"boolean"==typeof c&&(W=c),d||(d=W?G.guidanceHoldStillText:T.faceLookingAway?G.guidanceLookStraightText:T.faceTooClose?G.guidanceMoveBackText:T.faceTooFar?G.guidanceMoveForwardText:T.faceNotCentered?G.guidanceMoveToCenterText:""),A?React__default.default.createElement(SelfieCaptureFallback,{classNames:m.fallback}):React__default.default.createElement(PageContainer,{ref:y,className:"flex ".concat(null!==(t=m.container)&&void 0!==t?t:"")},React__default.default.createElement(InvisibleCanvas,{ref:M}),React__default.default.createElement(FaceCaptureGuideOverlay,{classNames:m.guides,variant:W?"satisfied":"unsatisfied"}),""!==d&&React__default.default.createElement(GuidanceMessageContainer,{className:m.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{$variant:W?"positive":"negative",className:m.guidanceMessage},d)),b&&T.faces.length>0&&React__default.default.createElement(ObjectDetectionDebugOverlayDiv,null,T.faces.map((function(e,t){return React__default.default.createElement(SelfieCaptureFaceDebugBox,{key:t,face:e,scaling:U,color:W?"green":"red"})}))),b&&React__default.default.createElement(DebugStatsPane,null,D.current?React__default.default.createElement(React__default.default.Fragment,null,"✅ Camera: ",D.current.label," (",D.current.width,"x",D.current.height,")"):"❌ Camera not ready",React__default.default.createElement("br",null),T.faceNotCentered?"❌":"✅"," Face Centered",React__default.default.createElement("br",null),T.faceTooClose||T.faceTooFar?"❌":"✅"," Face"," ",T.faceTooClose?"Too Close":T.faceTooFar?"Too Far":"Distance Correct",React__default.default.createElement("br",null),T.faceLookingAway?"❌":"✅"," Face Looking Forward",React__default.default.createElement("br",null),T.goodFramesThresholdMet?"✅":"❌"," ",T.goodFramesCount," ","Good Frames",React__default.default.createElement("br",null),$?"❌":"✅"," Time Remaining:"," ",Math.max(0,s-((new Date).getTime()-(null!=z?z:new Date).getTime())),"ms"),React__default.default.createElement(ExitCaptureButton,{onClick:o,className:m.exitCaptureBtn}))},initialState$2={frame:null,face:null,requestState:"CAPTURING",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},reducer$2=function(e,t){var a,n;switch(t.type){case"livenessReady":return["CAPTURING","FAILED","ERROR"].includes(e.requestState)?tslib.__assign(tslib.__assign({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return tslib.__assign(tslib.__assign({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var r=t.payload.response,i=r.status,o=i.statusMessage,l=i.errorData,s=r.resultData;if("000"!==i.statusCode)return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(l))});var d="Live Face Detected"===s.verificationResult,c="true"===s.eyeCovering,u="true"===s.faceMask,m="true"===s.headCovering,f="true"===s.cellPhone,p=d&&!c&&!u&&!m,g=p?"PASSED":"FAILED",h=e.timesLivenessCheckFailed;return p?h=0:h+=1,tslib.__assign(tslib.__assign({},e),{frame:null!==(a=t.payload.frame)&&void 0!==a?a:null,face:null!==(n=t.payload.face)&&void 0!==n?n:null,imageUrl:t.payload.imageUrl,requestState:g,faceLive:d,eyeCoveringDetected:c,maskDetected:u,headCoveringDetected:m,phoneDetected:f,timesLivenessCheckFailed:h});case"livenessCheckFailed":return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},FaceLivenessCapture=function(e){var t,a,n,r=e.onCapture,i=e.onSuccess,o=e.onTimeout,l=e.onExit,s=e.timeoutDurationMs,d=void 0===s?15e3:s,c=e.classNames,u=void 0===c?{}:c,m=e.colors,f=void 0===m?{}:m,p=e.verbiage,g=void 0===p?{}:p,h=e.debugMode,v=React.useContext(SubmissionContext),b=v.checkLiveness,_=v.submissionError,y=React.useContext(HighPerformanceSelfieGuidanceModelsContext).error,C=React.useReducer(reducer$2,initialState$2),x=C[0],R=C[1],E=React.useState(null),I=E[0],T=E[1],w=React.useRef(null),M=React.useRef(null),S=styled.useTheme(),D=React.useCallback((function(e,t){null==r||r(),R({type:"livenessReady",payload:{frame:e,face:t}})}),[r]),k=x.frame,N=x.face,O="CAPTURED"===x.requestState,j="PASSED"===x.requestState;React.useEffect((function(){k&&N&&O&&!_&&(R({type:"livenessChecking"}),tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),e=cropToShoulders(w.current,M.current,k,N),T(e),a=b,[4,dataUrlToBase64(e)];case 1:return[4,a.apply(void 0,[r.sent()])];case 2:return t=r.sent(),R({type:"livenessChecked",payload:{frame:k,face:N,imageUrl:e,response:t}}),[3,4];case 3:return n=r.sent(),R({type:"livenessCheckFailed",payload:{error:n}}),[3,4];case 4:return[2]}}))})))}),[b,N,k,O,_]);var A=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t,a,n;return tslib.__generator(this,(function(r){switch(r.label){case 0:R({type:"livenessChecking"}),r.label=1;case 1:return r.trys.push([1,4,,5]),a=b,[4,dataUrlToBase64(e)];case 2:return[4,a.apply(void 0,[r.sent()])];case 3:return t=r.sent(),R({type:"livenessChecked",payload:{imageUrl:e,response:t}}),[3,5];case 4:return n=r.sent(),R({type:"livenessCheckFailed",payload:{error:n}}),[3,5];case 5:return[2]}}))}))}),[b]);React.useEffect((function(){j&&x.imageUrl&&(null==i||i(x.imageUrl))}),[i,x.imageUrl,j]),React.useEffect((function(){x.timesLivenessCheckFailed>=(y?1:2)&&(null==o||o())}),[y,o,x.timesLivenessCheckFailed]),useTimeout(d,o,"PASSED"===x.requestState||!!y,"IN_PROGRESS"===x.requestState);var L=useTranslations(g,{guidanceRemoveEyeCoveringsText:"Please remove your eye coverings (sunglasses, eye patch, etc.)...",guidanceRemoveHeadCoveringsText:"Please remove your head coverings (hat, scarf, etc.)...",guidanceRemoveMaskText:"Please remove your mask...",progressPreviewText:"Processing..."}),B=x.eyeCoveringDetected?L.guidanceRemoveEyeCoveringsText:x.headCoveringDetected?L.guidanceRemoveHeadCoveringsText:x.maskDetected?L.guidanceRemoveMaskText:void 0;return y?React__default.default.createElement(SelfieCaptureFallback,{onFinished:A}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(InvisibleCanvas,{ref:w}),React__default.default.createElement(InvisibleCanvas,{ref:M}),React__default.default.createElement(SelfieCapture,{onSelfieCaptured:D,onExit:l,timeoutDurationMs:d,guidanceMessage:B,guidanceSatisfied:!B&&void 0,classNames:u,colors:f,verbiage:L,debugMode:h}),!(null===(a=null===(t=S.selfieCapture)||void 0===t?void 0:t.capturePreview)||void 0===a?void 0:a.disabled)&&I&&React__default.default.createElement(SelfieProgressPreview,{classNames:u.imagePreview,imageUrl:I,text:null!==(n=L.progressPreviewText)&&void 0!==n?n:""}))},FaceLivenessSuccess=function(e){var t=e.imageUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=useTranslations(void 0===s?{}:s,{headingText:"Face liveness has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(Heading$5,{className:i.heading},d.headingText),React__default.default.createElement(OverlayImageContainer,{className:i.imageContainer},React__default.default.createElement("img",{alt:d.headingText,src:t,className:i.image})),React__default.default.createElement(ButtonsRow,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",onClick:n,colors:l.retryBtn,className:i.retryBtn,finished:!0},d.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",onClick:a,colors:l.doneBtn,className:i.doneBtn,finished:!0},d.doneBtnText))))},Heading$5=styled__default.default.h3(templateObject_1$h||(templateObject_1$h=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),FaceLivenessFailure=function(e){var t=e.canRetry,a=void 0===t||t,n=e.onRetryClick,r=e.onExitClick,i=e.assets,o=void 0===i?{}:i,l=e.classNames,s=void 0===l?{}:l,d=e.colors,c=void 0===d?{}:d,u=e.verbiage,m=void 0===u?{}:u;o.imageUrl||(o.imageUrl="".concat(DEFAULT_CDN_URL,"/manual_capture.png"));var f=useTranslations(m,{headingText:"Live face not detected, please try again",retryBtnText:"Retry",exitBtnText:"Exit"});return React__default.default.createElement(OverlayContainer,{className:s.container},React__default.default.createElement(OverlayInner$2,{className:s.inner},React__default.default.createElement("h3",{className:s.heading},f.headingText),React__default.default.createElement(ImageContainer$4,{className:s.imageContainer},React__default.default.createElement("img",{alt:f.headingText,src:o.imageUrl,className:s.image})),React__default.default.createElement(ButtonsRow,{className:s.buttonsRow},a&&React__default.default.createElement(LoaderButton,{variant:"warning",className:s.retryBtn,onClick:n,colors:c.retryBtn,finished:!0},f.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"secondary",className:s.exitBtn,onClick:r,colors:c.exitBtn,finished:!0},f.exitBtnText))))},ImageContainer$4=styled__default.default(OverlayImageContainer)(templateObject_1$g||(templateObject_1$g=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n margin: 0 24px;\n"],["\n max-height: calc(100vh - 185px);\n margin: 0 24px;\n"]))),SelfieCaptureLoadingOverlayLegacy=function(e){var t=e.onDismissed,a=e.onUserCancel,n=e.assets,r=void 0===n?{}:n,i=e.classNames,o=void 0===i?{}:i,l=e.colors,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=React.useContext(CameraStateContext),m=u.cameraReady,f=u.cameraAccessDenied,p=React.useContext(HighPerformanceSelfieGuidanceModelsContext),g=p.ready,h=p.modelDownloadProgress;r.instructionImageUrl||(r.instructionImageUrl="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"));var v=useTranslations(c,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Continue",cameraInitializingText:"Camera initializing...",downloadingText:"Downloading...",modelsWarmingUpText:"Models warming up..."}),b=React.useState(!1),_=b[1];return b[0]?React__default.default.createElement(React__default.default.Fragment,null):f?React__default.default.createElement(CameraAccessDeniedOverlay,{assets:r.cameraAccessDenied,classNames:o.cameraAccessDenied,colors:s.cameraAccessDenied,verbiage:c.cameraAccessDenied}):React__default.default.createElement(OverlayContainer,{className:o.container},React__default.default.createElement(OverlayInner$2,{className:o.inner},React__default.default.createElement("h3",{className:o.heading},v.headingText),a&&React__default.default.createElement(ExitCaptureButton,{onClick:a,className:o.cancelBtn}),React__default.default.createElement(StyledGuidanceMessage$1,null,v.removeEyeCoveringsText,React__default.default.createElement("br",null),v.avoidExcessiveBacklightingText),React__default.default.createElement(OverlayImageContainer,{className:o.imageContainer},React__default.default.createElement("img",{className:o.image,alt:v.headingText,src:r.instructionImageUrl})),React__default.default.createElement(StyledButtonsRow$6,{className:o.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"positive",disabled:!m||!g,finished:m&&g,className:o.continueBtn,colors:s.continueBtn,onClick:function(){_(!0),null==t||t()}},m&&g?v.continueText:g?v.cameraInitializingText:h>=100?"".concat(v.modelsWarmingUpText):"".concat(v.downloadingText," (").concat(h,"%)")))))},StyledGuidanceMessage$1=styled__default.default(GuidanceMessage)(templateObject_1$f||(templateObject_1$f=tslib.__makeTemplateObject(["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"],["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"]))),StyledButtonsRow$6=styled__default.default(ButtonsRow)(templateObject_2$b||(templateObject_2$b=tslib.__makeTemplateObject(["\n flex-direction: column;\n padding-top: 25px;\n"],["\n flex-direction: column;\n padding-top: 25px;\n"])));function SelfieCaptureLoadingGraphic(e){var t,a,n,r=e.width,i=void 0===r?840:r,o=e.height,l=void 0===o?740:o,s=e.className,d=React.useState(1),c=d[0],u=d[1];React.useEffect((function(){var e=setInterval((function(){u((function(e){return(e+1)%10}))}),750);return function(){clearInterval(e)}}),[]);var m=null!==(n=null===(a=null===(t=styled.useTheme().selfieCapture)||void 0===t?void 0:t.loadingOverlay)||void 0===a?void 0:a.loadingGraphicAccentColor)&&void 0!==n?n:"var(--idm-color-positive-600)";return React__default.default.createElement("svg",{width:i,height:l,className:s,viewBox:"0 0 840 740",fill:"none",preserveAspectRatio:"xMidYMax slice",xmlns:"http://www.w3.org/2000/svg"},React__default.default.createElement("g",{clipPath:"url(#clip0_428_1188)"},React__default.default.createElement("mask",{id:"mask0_428_1188",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"840",height:"740"},React__default.default.createElement("rect",{width:"840",height:"740",fill:"#D9D9D9"})),React__default.default.createElement("g",{mask:"url(#mask0_428_1188)"},React__default.default.createElement("path",{d:"M503.781 449.497C491.561 503.154 458.442 541.609 419.561 541.609C380.68 541.609 347.492 503.015 335.272 449.358L344.645 412.916L347.492 402.019H491.561L502.253 443.667L503.225 447.415L503.781 449.497Z",fill:"#D2D4DA"}),React__default.default.createElement("path",{d:"M574.88 244.97C647.073 163.885 598.921 362.155 558.945 338.928C488.709 298.211 574.88 244.97 574.88 244.97Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M816.983 742.838C779.698 781.432 736.86 814.612 689.786 841.127C617.161 882.012 534.399 906.862 446.153 911.027C437.335 911.513 428.448 911.721 419.491 911.721C374.986 911.721 331.731 906.446 290.281 896.519C232.514 882.706 178.358 859.8 129.271 829.397C89.9033 805.033 53.9382 775.948 22 742.838L31.512 705.355C45.8842 649.061 90.2505 605.33 146.837 591.795L153.085 590.337L222.447 573.747L241.401 569.235C249.386 567.292 257.023 564.585 264.244 561.114C270.285 558.199 276.047 554.797 281.463 550.91C287.295 546.745 292.78 542.025 297.71 536.819C310.971 522.867 320.761 505.653 325.76 486.286L333.119 457.688L335.064 449.983L335.202 449.358L344.645 412.916L347.422 402.019H491.491L502.253 443.667L503.225 447.415L503.78 449.497V449.983L505.863 457.757L513.223 486.286C520.097 512.802 535.996 535.5 557.589 550.91C569.393 559.448 582.932 565.765 597.581 569.235L615.078 573.4L692.146 591.795C748.732 605.33 793.099 649.061 807.471 705.355L816.983 742.838Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M503.781 449.497C491.561 503.154 458.442 541.609 419.561 541.609C380.68 541.609 347.492 503.015 335.272 449.358L344.645 412.916L347.492 402.019H491.561L502.253 443.667L503.225 447.415L503.781 449.497Z",fill:"#DC968D"}),React__default.default.createElement("path",{d:"M264.123 244.97C191.93 163.885 240.082 362.155 280.058 338.928C350.294 298.211 264.123 244.97 264.123 244.97Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M586.473 187.324C586.473 193.432 586.126 199.402 585.432 205.371C584.876 210.785 582.446 233.9 578.141 263.331C575.781 279.713 572.726 297.969 569.115 316.294C569.115 316.502 569.115 316.78 568.976 316.988C560.159 361.621 547.731 406.045 531.484 422.219C513.154 440.544 498.435 457.203 481.632 469.211C464.83 481.289 446.014 488.786 419.631 488.786C393.247 488.786 374.431 481.289 357.629 469.211C340.896 457.203 326.107 440.544 307.778 422.219C291.531 405.976 279.103 361.482 270.216 316.918C270.216 316.918 270.216 316.71 270.216 316.641C269.105 310.879 268.063 305.118 267.022 299.426C266.605 297.066 266.189 294.706 265.772 292.346C264.036 282.351 262.509 272.563 261.12 263.401C256.121 229.596 253.691 204.122 253.691 204.122C253.136 198.638 252.858 193.016 252.858 187.324C252.858 185.866 252.858 184.408 252.858 182.951C253.205 169.832 255.01 157.06 258.274 144.843C258.412 144.287 258.551 143.732 258.69 143.177C277.228 75.4294 337.425 24.8271 410.049 20.8011C413.243 20.5928 416.368 20.5234 419.631 20.5234C465.733 20.5234 507.461 39.1956 537.663 69.3904C563.769 95.4205 581.266 130.127 585.501 168.79C586.195 174.899 586.542 181.077 586.542 187.324H586.473Z",fill:"#FEAEA5"}),React__default.default.createElement("path",{d:"M445.867 337.327C445.867 348.849 434.133 358.151 419.622 358.151C405.111 358.151 393.447 348.849 393.447 337.327C393.447 335.939 393.586 334.55 394.002 333.301C396.293 342.88 406.916 350.099 419.622 350.099C432.328 350.099 443.02 342.88 445.312 333.301C445.728 334.62 445.867 335.939 445.867 337.327Z",fill:"#F7A69C"}),React__default.default.createElement("path",{d:"M817.053 743.187C716.586 847.238 575.642 912 419.561 912C263.481 912 122.467 847.238 22.0698 743.118L31.5818 705.704C45.954 649.34 90.3203 605.61 146.906 592.074L222.655 574.027L241.471 569.515C249.942 567.502 258.135 564.517 265.772 560.699C304.237 601.653 358.879 627.267 419.561 627.267C480.244 627.267 534.886 601.653 573.351 560.699C580.988 564.448 589.111 567.502 597.651 569.515L614.106 573.471L692.216 592.074C748.802 605.61 793.168 649.34 807.471 705.704L817.053 743.187Z",fill:"#6E7174"}),React__default.default.createElement("path",{d:"M614.106 573.471C597.165 594.018 534.886 659.058 419.561 663.639C286.671 668.984 226.266 579.441 222.655 574.027L241.471 569.515C249.942 567.502 258.134 564.517 265.772 560.699C304.236 601.653 358.879 627.267 419.561 627.267C480.244 627.267 534.886 601.653 573.35 560.699C580.988 564.448 589.111 567.502 597.651 569.515L614.106 573.471Z",fill:"#555A5E"}),React__default.default.createElement("path",{d:"M249.898 196.144C249.898 249.777 270.317 315.623 270.317 315.623C270.317 315.623 266.862 205.572 314.892 164.108C347.514 135.946 374.019 167.565 417.115 167.565C456.137 167.565 492.558 136.481 525.436 164.108C578.852 208.994 568.738 315.623 568.738 315.623C568.738 315.623 589.157 250.557 589.157 196.144C589.157 76.4319 542.638 20 417.115 20C302.8 20 249.898 75.8365 249.898 196.144Z",fill:"#525252"})),c>=8?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("path",{d:"M565.5 295C565.5 350.583 549.016 400.803 522.488 437.067C495.958 473.332 459.517 495.5 419.5 495.5C379.483 495.5 343.042 473.332 316.512 437.067C289.984 400.803 273.5 350.583 273.5 295C273.5 239.417 289.984 189.197 316.512 152.933C343.042 116.668 379.483 94.5 419.5 94.5C459.517 94.5 495.958 116.668 522.488 152.933C549.016 189.197 565.5 239.417 565.5 295Z",stroke:m,strokeWidth:"5"}),React__default.default.createElement("circle",{cx:"518.5",cy:"438.5",r:"25.5",fill:m}),React__default.default.createElement("path",{d:"M504 440.5L512 448L531 427",stroke:"white",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"})):React__default.default.createElement(React__default.default.Fragment,null,c>2&&React__default.default.createElement(React__default.default.Fragment,null,c>3&&React__default.default.createElement(React__default.default.Fragment,null,c>4&&React__default.default.createElement(React__default.default.Fragment,null,c>5&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("path",{d:"M298.5 182.5L419 164.5L540 182",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("circle",{cx:"419",cy:"165",r:"7",fill:"white"})),React__default.default.createElement("path",{d:"M565.5 295C565.5 350.583 549.016 400.803 522.488 437.067C495.958 473.332 459.517 495.5 419.5 495.5C379.483 495.5 343.042 473.332 316.512 437.067C289.984 400.803 273.5 350.583 273.5 295C273.5 239.417 289.984 189.197 316.512 152.933C343.042 116.668 379.483 94.5 419.5 94.5C459.517 94.5 495.958 116.668 522.488 152.933C549.016 189.197 565.5 239.417 565.5 295Z",stroke:"white",strokeOpacity:c>7?.8:c>5?.3:.1,strokeWidth:"5"}),React__default.default.createElement("path",{d:"M299.939 262.805L419 478.5L538.5 261.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("path",{d:"M298.5 182.5L418.871 230.054L540 182",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("path",{d:"M298.5 182.5L299.939 262.805",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("path",{d:"M540.001 182L538.501 261.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React__default.default.createElement("circle",{cx:"299.914",cy:"182",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"540",cy:"182",r:"7",fill:"white"})),React__default.default.createElement("path",{d:"M418.828 230L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M300 263.001L419 342.501",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M538.5 261.5L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M301.5 409L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M536.5 410L419 342.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M300 263L419 230",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("path",{d:"M538.5 261.5L419 230",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>4&&c<7?.3:1}),React__default.default.createElement("circle",{cx:"419",cy:"229.971",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"419",cy:"342.4",r:"7",fill:"white"})),React__default.default.createElement("path",{d:"M538.5 261.5L536.5 410",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>3&&c<7?.3:1}),React__default.default.createElement("path",{d:"M419 478.5L536.5 410",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>3&&c<7?.3:1}),React__default.default.createElement("circle",{cx:"537",cy:"263",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"537",cy:"409",r:"7",fill:"white"})),c>1&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("path",{d:"M301.501 409L300.001 263",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>2&&c<7?.3:1}),React__default.default.createElement("path",{d:"M301.501 409L419.001 478.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:c>2&&c<7?.3:1}),React__default.default.createElement("circle",{cx:"419",cy:"477.576",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"301.914",cy:"263",r:"7",fill:"white"}),React__default.default.createElement("circle",{cx:"301.444",cy:"409",r:"7",fill:"white"})))),React__default.default.createElement("defs",null,React__default.default.createElement("clipPath",{id:"clip0_428_1188"},React__default.default.createElement("rect",{width:"840",height:"740",fill:"white"}))))}var templateObject_1$e,templateObject_2$a,templateObject_3$a,templateObject_4$5,templateObject_5$2,templateObject_6$2,templateObject_7$1,templateObject_8,templateObject_9,templateObject_10,templateObject_11,templateObject_12,templateObject_13,templateObject_14,templateObject_15,legacyInstructionImageUrl="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"),SelfieCaptureLoadingOverlayDefault=function(e){var t=e.onDismissed,a=e.onUserCancel,n=e.assets,r=void 0===n?{}:n,i=e.classNames,o=void 0===i?{}:i,l=e.colors,s=void 0===l?{}:l,d=e.verbiage,c=void 0===d?{}:d,u=React.useContext(CameraStateContext),m=u.cameraReady,f=u.cameraAccessDenied,p=React.useContext(HighPerformanceSelfieGuidanceModelsContext),g=p.ready,h=p.modelDownloadProgress,v=useTranslations(c,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Let's Go!",cameraInitializingText:"Accessing camera...",cameraInitializedText:"Camera ready",downloadingText:"Downloading...",modelsWarmingUpText:"Loading guided capture experience...",modelsReadyText:"Guided capture experience ready"}),b=React.useState(0),_=b[1],y=[v.headingText,v.removeEyeCoveringsText,v.avoidExcessiveBacklightingText][b[0]];React.useEffect((function(){setInterval((function(){_((function(e){return(e+1)%3}))}),3e3)}),[]);var C=React.useState(!1),x=C[1];return C[0]?React__default.default.createElement(React__default.default.Fragment,null):f?React__default.default.createElement(CameraAccessDeniedOverlay,{assets:r.cameraAccessDenied,classNames:o.cameraAccessDenied,colors:s.cameraAccessDenied,verbiage:c.cameraAccessDenied}):React__default.default.createElement(OverlayContainer,{className:o.container},React__default.default.createElement(OverlayInner,{className:o.inner},a&&React__default.default.createElement(ExitCaptureButton,{onClick:a,className:o.cancelBtn}),React__default.default.createElement(OverlayHeader,{className:o.headingContainer},React__default.default.createElement(StyledGuidanceMessage,{className:o.heading},y)),React__default.default.createElement(StyledOverlayImageContainer,{className:o.imageContainer},(null==r?void 0:r.instructionImageUrl)&&r.instructionImageUrl!==legacyInstructionImageUrl?React__default.default.createElement(CustomLoadingGraphic,{className:o.image,alt:v.headingText,src:r.instructionImageUrl}):React__default.default.createElement(SelfieCaptureLoadingGraphic,{className:o.image})),React__default.default.createElement(StyledButtonsRow$5,{className:o.buttonsRow},React__default.default.createElement(ProgressContainer,{className:o.progressContainer},React__default.default.createElement(ProgressBarBackground,{className:o.progressBackground}),React__default.default.createElement(ProgressBar,{$progress:h,className:o.progressBar},React__default.default.createElement(ProgressIndicator,{className:o.progressIndicator}))),React__default.default.createElement(LoadingListContainer,{className:o.loadingListContainer},React__default.default.createElement(LoadingList,{className:o.loadingList},React__default.default.createElement(LoadingListItem,{className:"".concat(o.loadingListItem," ").concat(m?"done":"running")},m?v.cameraInitializedText:v.cameraInitializingText),React__default.default.createElement(LoadingListItem,{className:"".concat(o.loadingListItem," ").concat(g?"done":"running")},g?v.modelsReadyText:h>=100?v.modelsWarmingUpText:"".concat(v.downloadingText," (").concat(h,"%)")))),React__default.default.createElement(ContinueButtonContainer,{className:o.continueBtnContainer},g&&m&&React__default.default.createElement(ContinueButton,{finished:!0,className:o.continueBtn,variant:"positive",colors:s.continueBtn,onClick:function(){x(!0),null==t||t()}},v.continueText)))))},OverlayInner=styled__default.default.div(templateObject_1$e||(templateObject_1$e=tslib.__makeTemplateObject(["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"],["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.backgroundColor)&&void 0!==r?r:"#ecedf3"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.textColor)&&void 0!==r?r:"black"})),OverlayHeader=styled__default.default.div(templateObject_2$a||(templateObject_2$a=tslib.__makeTemplateObject(["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"],["\n text-align: ",";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ","\n padding-bottom: 0;\n"])),(function(e){var t;return null!==(t=e.theme.textAlign)&&void 0!==t?t:"center"}),(function(e){return e.theme.padding?"box-sizing: border-box; padding: ".concat(e.theme.padding,";"):""})),StyledGuidanceMessage=styled__default.default(GuidanceMessage)(templateObject_3$a||(templateObject_3$a=tslib.__makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"],["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"]))),StyledButtonsRow$5=styled__default.default(ButtonsRow)(templateObject_4$5||(templateObject_4$5=tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ",";\n ","\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarTextColor)&&void 0!==r?r:"white"}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.selfieCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""})),StyledOverlayImageContainer=styled__default.default(OverlayImageContainer)(templateObject_5$2||(templateObject_5$2=tslib.__makeTemplateObject(["\n padding: 0;\n\n & > svg {\n height: 100%;\n }\n"],["\n padding: 0;\n\n & > svg {\n height: 100%;\n }\n"]))),LoadingListContainer=styled__default.default.div(templateObject_6$2||(templateObject_6$2=tslib.__makeTemplateObject(["\n display: flex;\n position: relative;\n z-index: 2;\n"],["\n display: flex;\n position: relative;\n z-index: 2;\n"]))),LoadingList=styled__default.default.ul(templateObject_7$1||(templateObject_7$1=tslib.__makeTemplateObject(["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"],["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"]))),LoadingListItem=styled__default.default.li(templateObject_8||(templateObject_8=tslib.__makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"],["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n\n &::before {\n content: '';\n display: inline-block;\n height: 1rem;\n min-width: 1rem;\n vertical-align: middle;\n background-size: cover;\n background-repeat: no-repeat;\n margin: auto 0.5rem auto 0;\n }\n\n &.done::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\n }\n\n &.running::before {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\n }\n"]))),ProgressContainer=styled__default.default.div(templateObject_9||(templateObject_9=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),ProgressBarBackground=styled__default.default.div(templateObject_10||(templateObject_10=tslib.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ",";\n opacity: ",";\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundColor)&&void 0!==r?r:"var(--idm-color-positive-600)"}),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarBackgroundOpacity)&&void 0!==r?r:.75})),ProgressBar=styled__default.default.span(templateObject_11||(templateObject_11=tslib.__makeTemplateObject(["\n display: block;\n width: ","%;\n height: 100%;\n"],["\n display: block;\n width: ","%;\n height: 100%;\n"])),(function(e){return e.$progress})),ProgressIndicator=styled__default.default.span(templateObject_12||(templateObject_12=tslib.__makeTemplateObject(["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"],["\n display: block;\n height: 100%;\n background: ",";\n animation: progressBar 3s ease-in-out;\n animation-fill-mode: both;\n\n @keyframes progressBar {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n"])),(function(e){var t,a,n,r;return null!==(r=null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarIndicatorColor)&&void 0!==r?r:"var(--idm-color-positive-600)"})),CustomLoadingGraphic=styled__default.default.img(templateObject_13||(templateObject_13=tslib.__makeTemplateObject([""],[""]))),ContinueButtonContainer=styled__default.default.div(templateObject_14||(templateObject_14=tslib.__makeTemplateObject(["\n display: flex;\n"],["\n display: flex;\n"]))),ContinueButton=styled__default.default(LoaderButton)(templateObject_15||(templateObject_15=tslib.__makeTemplateObject(["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"],["\n margin: auto;\n white-space: nowrap;\n ","\n ","\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.progressBarFontSize)?"font-size: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.selfieCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.progressBarFontSize,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme)||void 0===t?void 0:t.selfieCapture)||void 0===a?void 0:a.loadingOverlay)||void 0===n?void 0:n.continueBtnBorder)?"border: ".concat(null===(o=null===(i=null===(r=e.theme)||void 0===r?void 0:r.selfieCapture)||void 0===i?void 0:i.loadingOverlay)||void 0===o?void 0:o.continueBtnBorder,";"):""})),components={default:SelfieCaptureLoadingOverlayDefault,legacy:SelfieCaptureLoadingOverlayLegacy},SelfieCaptureLoadingOverlay=function(e){var t,a=e.mode,n=void 0===a?"default":a,r=tslib.__rest(e,["mode"]),i=null!==(t=components[n])&&void 0!==t?t:components.default;return React__default.default.createElement(i,tslib.__assign({},r))},FaceLivenessWizard=function(e){var t,a,n,r=e.onComplete,i=e.onSuccess,o=e.onTimeout,l=e.onExitCapture,s=e.onExitAfterFailure,d=e.onUserCancel,c=e.loadingOverlayMode,u=void 0===c?"default":c,m=e.timeoutDurationMs,f=void 0===m?15e3:m,p=e.maxRetries,g=void 0===p?2:p,h=e.skipSuccessScreen,v=void 0!==h&&h,b=e.renderCameraFeed,_=void 0===b||b,y=e.releaseCameraAccessOnExit,C=void 0===y||y,x=e.assets,R=void 0===x?{}:x,E=e.classNames,I=void 0===E?{}:E,T=e.colors,w=void 0===T?{}:T,M=e.verbiage,S=void 0===M?{}:M,D=e.debugMode,k=void 0!==D&&D,N=React.useContext(SubmissionContext),O=N.submissionResponse,j=N.livenessCheckRequest,A=N.setSelfieImage,L=N.logSelfieCaptureAttempt,B=React.useContext(CameraStateContext).releaseCameraAccess,F=React.useState(""),P=F[0],$=F[1],z=React.useState(0),U=z[0],G=z[1],W=React.useState("LOADING"),V=W[0],H=W[1],q=React.useRef(),Y=React.useRef(),Z=React.useRef();React.useEffect((function(){Z.current=new Date}),[]),React.useEffect((function(){"CAPTURING"===V&&(q.current=new Date)}),[V]);var Q=React.useCallback((function(){Y.current=new Date}),[]),X=React.useCallback((function(){var e,t,a;L({autoCapture:"Y",captureTime:(null!==(e=Y.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=q.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(a=Z.current)&&void 0!==a?a:new Date).getTime()}),Z.current=new Date}),[L]),K=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return j&&O?(H("SUCCESS"),$(e),t=A,[4,dataUrlToBase64(e)]):[2];case 1:return t.apply(void 0,[a.sent()]),null==i||i(O,j),[2]}}))}))}),[i,A,j,O]),J=React.useCallback((function(){H("FAILED"),null==o||o(O,j)}),[o,j,O]),ee=React.useState(0),te=ee[0],ae=ee[1],ne=React.useCallback((function(){ae((function(e){return e+1})),H("LOADING"),null==l||l()}),[l]),re=React.useCallback((function(){X(),C&&B(),setTimeout((function(){null==r||r(O,j)}),0)}),[X,r,B,C,j,O]),ie=useShowSuccessScreen(v,"SUCCESS"===V,re);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(a=null===(t=I.capture)||void 0===t?void 0:t.container)&&void 0!==a?a:"")},_&&React__default.default.createElement(CameraVideoTag,{className:null===(n=I.capture)||void 0===n?void 0:n.cameraFeed}),"LOADING"!==V&&function(){switch(V){case"CAPTURING":return React__default.default.createElement(FaceLivenessCapture,{key:"capture".concat(te),onCapture:Q,onSuccess:K,onTimeout:J,onExit:ne,timeoutDurationMs:f,classNames:I.capture,colors:w,verbiage:S,debugMode:k});case"SUCCESS":return ie?React__default.default.createElement(FaceLivenessSuccess,{key:"success",imageUrl:P,classNames:I.success,colors:w.success,verbiage:S.success,onDoneClick:re,onRetryClick:function(){X(),H("CAPTURING")}}):null;case"FAILED":return React__default.default.createElement(FaceLivenessFailure,{key:"failure",assets:R.failure,classNames:I.failure,colors:w.failure,verbiage:S.failure,canRetry:g>-1&&U<g,onRetryClick:function(){X(),G((function(e){return e+1})),H("CAPTURING")},onExitClick:function(){C&&B(),setTimeout((function(){null==s||s(O,j)}),0)}});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:te,mode:u,assets:R.loadingOverlay,classNames:I.loadingOverlay,colors:w.loadingOverlay,verbiage:S.loadingOverlay,onUserCancel:d,onDismissed:function(){H("CAPTURING")}}))},GuideOrientationProvider=function(e){var t=e.children,a=React.useState({width:1,height:1}),n=a[1],r=React.useState(1),i=r[0],o=r[1],l=useResizeObserver__default.default(),s=l.ref,d=l.width,c=void 0===d?1:d,u=l.height,m=void 0===u?1:u,f=c/m,p=React.useCallback((function(e){var t=e.target;o(t.naturalWidth/t.naturalHeight)}),[]);return React__default.default.createElement(GuideOrientationContext.Provider,{value:{orientation:"landscape",wrapperWidth:c,wrapperHeight:m,wrapperAspectRatio:f,imageAspectRatio:i,setDimensions:n,wrapperRef:s,onImageLoaded:p}},t)},SubmissionSuccess=function(){var e=React.useContext(SubmissionContext),t=e.submissionRequest,a=e.submissionResponse,n=React.useState(!1),r=n[0],i=n[1],o=React.useState(!0),l=o[0],s=o[1],d=React.useMemo((function(){var e,a,n,r,i,o,s=JSON.parse(JSON.stringify(t));return l&&((null===(a=null===(e=null==s?void 0:s.customerData)||void 0===e?void 0:e.idData)||void 0===a?void 0:a.idImageFront)&&(s.customerData.idData.idImageFront=truncate(s.customerData.idData.idImageFront,200)),(null===(r=null===(n=null==s?void 0:s.customerData)||void 0===n?void 0:n.idData)||void 0===r?void 0:r.idImageBack)&&(s.customerData.idData.idImageBack=truncate(s.customerData.idData.idImageBack,200)),(null===(o=null===(i=null==s?void 0:s.customerData)||void 0===i?void 0:i.biometricData)||void 0===o?void 0:o.selfie)&&(s.customerData.biometricData.selfie=truncate(s.customerData.biometricData.selfie,200))),JSON.stringify(s,null,2)}),[t,l]);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("h3",null,"Submission completed!"),React__default.default.createElement("button",{onClick:function(){i(!r)}},r?"Hide":"Show"," request body"),r&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("button",{style:{marginLeft:8},onClick:function(){s(!l)}},l?"Display full images":"Truncate images"),React__default.default.createElement("h5",null,"Request Body"),React__default.default.createElement("pre",null,d)),React__default.default.createElement("h5",null,"Response Body"),React__default.default.createElement("pre",null,JSON.stringify(a,null,2)))};function truncate(e,t){var a=e.split("").splice(0,t).join("");return a.length<e.length&&(a+="..."),a}var templateObject_1$d,templateObject_2$9,templateObject_3$9,templateObject_4$4,AdditionalDocumentCapture=function(e){var t=e.document,a=e.onComplete,n=e.classNames,r=void 0===n?{}:n,i=e.verbiage,o=void 0===i?{}:i,l=React.useRef(null),s=React.useState(null),d=s[0],c=s[1],u=useTranslations(o,{headingText:"Additional document capture",captureBtnText:"Capture",nextBtnText:"Next"});return React__default.default.createElement(OverlayContainer,{className:r.container},React__default.default.createElement(Inner,{className:r.inner},React__default.default.createElement(Heading$4,{className:r.heading},u.headingText,": ",t.name),t.description&&React__default.default.createElement(Description,{className:r.description},t.description),React__default.default.createElement("input",{ref:l,type:"file",accept:"image/*,.pdf",onChange:function(e){var t,a=null===(t=e.target.files)||void 0===t?void 0:t[0];a&&c(a)},hidden:!0}),React__default.default.createElement(StyledButtonsRow$4,{className:r.buttonsRow},d?React__default.default.createElement(LoaderButton,{variant:"positive",className:r.nextBtn,disabled:!d,finished:!0,onClick:function(){if(d){var e=new FileReader;e.onloadend=function(){if(e.result){var n=e.result.toString();null==a||a({documentName:t.name,additionalDocument:{name:d.name,fileContent:dataUrlToBase64Sync(n),type:contentDispositionFromDataUrl(n),fileUploadType:"Y",isImageControlData:"Y",fieldId:""}})}},e.readAsDataURL(d)}}},u.nextBtnText):React__default.default.createElement(LoaderButton,{variant:"primary",className:r.captureBtn,finished:!0,onClick:function(){var e;null===(e=l.current)||void 0===e||e.click()}},u.captureBtnText))))},Inner=styled__default.default(OverlayInner$2)(templateObject_1$d||(templateObject_1$d=tslib.__makeTemplateObject(["\n justify-content: center;\n"],["\n justify-content: center;\n"]))),Heading$4=styled__default.default.h3(templateObject_2$9||(templateObject_2$9=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),Description=styled__default.default.p(templateObject_3$9||(templateObject_3$9=tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"],["\n margin-bottom: 8px;\n"]))),StyledButtonsRow$4=styled__default.default(ButtonsRow)(templateObject_4$4||(templateObject_4$4=tslib.__makeTemplateObject(["\n margin-top: 32px;\n"],["\n margin-top: 32px;\n"]))),AdditionalDocumentCaptureWizard=function(e){var t=e.documents,a=e.onComplete,n=e.classNames,r=void 0===n?{}:n,i=e.verbiage,o=void 0===i?{}:i,l=React.useState([]),s=l[0],d=l[1],c=s.length,u=t[c],m=c>=t.length;return React.useEffect((function(){(null==u?void 0:u.skip)&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e;return tslib.__generator(this,(function(t){switch(t.label){case 0:return[4,null===(e=u.skip)||void 0===e?void 0:e.call(u)];case 1:return t.sent()&&d((function(e){return tslib.__spreadArray(tslib.__spreadArray([],e,!0),[null],!1)})),[2]}}))}))}),[u]),React.useEffect((function(){m&&(null==a||a(s.filter((function(e){return!!e}))))}),[m,a,s]),m?React__default.default.createElement(React__default.default.Fragment,null,"Thanks, your documents have been received."):React__default.default.createElement(AdditionalDocumentCapture,{key:c,document:u,classNames:r,verbiage:o,onComplete:function(e){d((function(t){return tslib.__spreadArray(tslib.__spreadArray([],t,!0),[e],!1)}))}})};function signatureDataToIdmissionFormat(e){var t,a=null!==(t=e.toDataURL())&&void 0!==t?t:null,n={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:a?dataUrlToBase64Sync(a):""};return e.toData().forEach((function(e){var t=[],a=[],r=[];e.forEach((function(e){t.push(e.x),a.push(e.y),r.push(new Date(e.time).toString())})),n.clickX_simple.push(t),n.clickY_simple.push(a),n.time_simple.push(r)})),n}var templateObject_1$c,templateObject_2$8,templateObject_3$8,templateObject_4$3,templateObject_1$b,templateObject_1$a,templateObject_1$9,templateObject_1$8,templateObject_1$7,templateObject_2$7,templateObject_3$7,templateObject_4$2,templateObject_5$1,templateObject_6$1,templateObject_7,SignaturePaperBacking=styled__default.default.div(templateObject_1$c||(templateObject_1$c=tslib.__makeTemplateObject(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ","\n ","\n ","\n"],["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ","\n ","\n ","\n"])),(function(e){var t,a;return(null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.background)?"background: ".concat(null===(a=e.theme.signatureCapture)||void 0===a?void 0:a.background,";"):""}),(function(e){var t,a;return(null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.backgroundSize)?"background-size: ".concat(null===(a=e.theme.signatureCapture)||void 0===a?void 0:a.backgroundSize,";"):""}),(function(e){var t,a;return(null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.backgroundPosition)?"background-position: ".concat(null===(a=e.theme.signatureCapture)||void 0===a?void 0:a.backgroundPosition,";"):""})),SignatureCanvasContainer=styled__default.default.div(templateObject_2$8||(templateObject_2$8=tslib.__makeTemplateObject(["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"],["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"]))),SignaturePad=styled__default.default.div(templateObject_3$8||(templateObject_3$8=tslib.__makeTemplateObject(["\n position: relative;\n background: ",";\n border: ",";\n border-radius: ",";\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"],["\n position: relative;\n background: ",";\n border: ",";\n border-radius: ",";\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"])),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.canvas)||void 0===a?void 0:a.background)&&void 0!==n?n:"rgba(255, 255, 255, 0.5)"}),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.canvas)||void 0===a?void 0:a.border)&&void 0!==n?n:"1px solid #dedede"}),(function(e){var t,a,n;return null!==(n=null===(a=null===(t=e.theme.signatureCapture)||void 0===t?void 0:t.canvas)||void 0===a?void 0:a.borderRadius)&&void 0!==n?n:"16px"})),SignatureButtonsContainer=styled__default.default(ButtonsRow)(templateObject_4$3||(templateObject_4$3=tslib.__makeTemplateObject(["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"],["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"]))),SignatureCapture=function(e){var t,a=e.onAccept,n=e.classNames,r=void 0===n?{}:n,i=e.verbiage,o=void 0===i?{}:i,l=useResizeObserver__default.default(),s=l.ref,d=l.width,c=l.height,u=React.useRef(null),m=useTranslations(o,{headingText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"});return React__default.default.createElement(PageContainer,{className:r.container},React__default.default.createElement(SignaturePaperBacking,{className:r.inner},React__default.default.createElement(GuidanceMessageContainer,{className:r.guidanceMessageContainer,$top:"5vh"},React__default.default.createElement(GuidanceMessage,{className:r.guidanceMessage},m.headingText)),React__default.default.createElement(SignatureCanvasContainer,{className:r.canvasContainer},React__default.default.createElement(SignaturePad,{ref:s,className:r.canvasInner},React__default.default.createElement(SignatureCanvas__default.default,{ref:u,canvasProps:{width:d,height:c,className:r.canvas}})),React__default.default.createElement(SignatureButtonsContainer,{className:r.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"secondary",className:r.clearBtn,onClick:null===(t=u.current)||void 0===t?void 0:t.clear,finished:!0},m.clearBtnText),React__default.default.createElement(AcceptBtn$1,{variant:"positive",className:r.acceptBtn,onClick:function(){if(u.current){var e=signatureDataToIdmissionFormat(u.current);null==a||a(e,u.current.toDataURL())}},finished:!0},m.acceptBtnText)))))},AcceptBtn$1=styled__default.default(LoaderButton)(templateObject_1$b||(templateObject_1$b=tslib.__makeTemplateObject(["\n margin-left: auto;\n"],["\n margin-left: auto;\n"]))),useVideoRecorder=function(e){var t=React.useRef(null),a=React.useRef([]),n=React.useState(null),r=n[0],i=n[1],o=React.useState(!1),l=o[0],s=o[1],d=null==e?void 0:e.stream,c=React.useCallback((function(){d&&(a.current=[],s(!0),t.current=new MediaRecorder(d,{videoBitsPerSecond:27e4,audioBitsPerSecond:32e3}),t.current.ondataavailable=function(e){a.current.push(e.data)},t.current.onstop=function(){var t=new Blob(a.current,{type:"video/mp4"});a.current=[],i(URL.createObjectURL(t)),s(!1),null==e||e.release()},t.current.start())}),[e,d]),u=React.useCallback((function(){var e;null===(e=t.current)||void 0===e||e.stop()}),[]);return{isRecording:l,startRecording:c,stopRecording:u,videoUrl:r}},VideoSignatureCapture=function(e){var t,a,n,r,i=e.onVideoCaptured,o=e.onFaceNotDetected,l=e.onExit,s=e.classNames,d=void 0===s?{}:s,c=e.colors,u=void 0===c?{}:c,m=e.verbiage,f=void 0===m?{}:m,p=e.debugMode,g=void 0!==p&&p,h=React.useContext(CameraStateContext),v=h.cameraRef,b=h.videoRef,_=useResizeObserver__default.default(),y=_.ref,C=_.width,x=_.height,R=React.useRef(null),E=React.useRef(null),I=React.useRef([]),T=React.useContext(HighPerformanceSelfieGuidanceModelsContext).onPredictionMade,w=useVideoRecorder(v.current),M=w.isRecording,S=w.startRecording,D=w.stopRecording,k=w.videoUrl,N=React.useState(null),O=N[0],j=N[1],A=React.useState(null),L=A[0],B=A[1],F=React.useState(null),P=F[0],$=F[1];u.guidanceMessageBackgroundColor||(u.guidanceMessageBackgroundColor="#ccc"),u.guidanceMessageTextColor||(u.guidanceMessageTextColor="black");var z=useTranslations(f,{guidanceMessageText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"}),U=React.useRef(null);React.useEffect((function(){setTimeout((function(){if(!M&&!k&&U.current){S();var e=U.current.captureStream(25);E.current=new MediaRecorder(e,{videoBitsPerSecond:27e4}),E.current.start(),E.current.ondataavailable=function(e){var t;I.current.push(e.data),"recording"===(null===(t=E.current)||void 0===t?void 0:t.state)&&E.current.stop()},E.current.onstop=function(){var e=new Blob(I.current,{type:"video/mp4"});$(e)}}}),100)}),[M,S,k]),React.useEffect((function(){P&&O&&L&&(null==i||i(P,O,L))}),[i,O,L,P]);var G=React.useRef(0);React.useEffect((function(){var e;if(R.current&&b.current&&U.current&&v.current&&M){var t=[v.current.width,v.current.height],a=t[0],n=t[1],r="undefined"!=typeof window&&window.innerWidth<window.innerHeight;r&&a>n&&(a=(e=[n,a])[0],n=e[1]),U.current.width=a,U.current.height=n;var i=U.current.getContext("2d");if(i)return G.current=requestAnimationFrame((function e(){return tslib.__awaiter(this,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(o){return R.current&&b.current&&U.current?(t=[a*(r?.02:.15),n*(r?.15:.25),a*(r?.96:.7),n*(r?.7:.5)],i.drawImage(b.current,0,0,a,n),i.beginPath(),i.fillStyle="rgba(255,255,255,0.5)",i.roundRect.apply(i,tslib.__spreadArray(tslib.__spreadArray([],t,!1),[16],!1)),i.fill(),i.drawImage.apply(i,tslib.__spreadArray([R.current.getCanvas()],t,!1)),G.current=requestAnimationFrame(e),[2]):(cancelAnimationFrame(G.current),[2])}))}))})),function(){cancelAnimationFrame(G.current)}}}),[v,M,o,b]);var W=React.useState(0),V=W[0],H=W[1];return React.useEffect((function(){T((function(e){H((function(t){return 0===e.length?t+1:0}))}))}),[T]),React.useEffect((function(){V>=2&&(null==o||o())}),[V,o]),React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=d.container)&&void 0!==t?t:"")},z.guidanceMessageText&&React__default.default.createElement(GuidanceMessageContainer,{$top:"5vh",className:d.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{className:d.guidanceMessage,$background:u.guidanceMessageBackgroundColor,$textColor:u.guidanceMessageTextColor},z.guidanceMessageText)),React__default.default.createElement(SignatureCanvasContainer,{className:d.canvasContainer},React__default.default.createElement(SignaturePad,{ref:y,className:d.canvasInner},React__default.default.createElement(SignatureCanvas__default.default,{ref:R,canvasProps:{width:C,height:x,className:d.canvas}})),React__default.default.createElement(SignatureButtonsContainer,{className:d.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"secondary",className:d.clearBtn,onClick:null===(a=R.current)||void 0===a?void 0:a.clear,finished:!0},z.clearBtnText),React__default.default.createElement(AcceptBtn,{variant:"positive",className:d.acceptBtn,style:{marginLeft:"auto"},onClick:function(){var e;if(R.current){var t=signatureDataToIdmissionFormat(R.current);j(t),B(R.current.toDataURL()),D(),null===(e=E.current)||void 0===e||e.stop()}},finished:!0},z.acceptBtnText))),g&&React__default.default.createElement(DebugStatsPane,null,"Video: ",null===(n=v.current)||void 0===n?void 0:n.width,"x",null===(r=v.current)||void 0===r?void 0:r.height),React__default.default.createElement(ExitCaptureButton,{onClick:l,className:d.exitCaptureBtn}),React__default.default.createElement(InvisibleCanvas,{ref:U}))},AcceptBtn=styled__default.default(LoaderButton)(templateObject_1$a||(templateObject_1$a=tslib.__makeTemplateObject(["\n margin-left: auto;\n"],["\n margin-left: auto;\n"]))),VideoSignatureSuccess=function(e){var t=e.videoUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=useTranslations(void 0===s?{}:s,{headingText:"Video signature has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement("h1",{className:i.heading},d.headingText),React__default.default.createElement(OverlayImageContainer,{className:i.videoContainer},React__default.default.createElement(StyledVideo$1,{className:i.video,src:t,poster:t+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0})),React__default.default.createElement(ButtonsRow,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:i.retryBtn,onClick:n,colors:l.retryBtn,finished:!0},d.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:i.doneBtn,onClick:a,colors:l.doneBtn,finished:!0},d.doneBtnText))))},StyledVideo$1=styled__default.default.video(templateObject_1$9||(templateObject_1$9=tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),VideoSignatureWizard=function(e){var t,a=e.onComplete,n=e.onVideoCaptured,r=e.onRetryClicked,i=e.onExitCapture,o=e.onUserCancel,l=e.onModelError,s=e.loadingOverlayMode,d=void 0===s?"default":s,c=e.modelLoadTimeoutMs,u=void 0===c?defaultSelfieCaptureModelLoadTimeoutMs:c,m=e.skipSuccessScreen,f=void 0!==m&&m,p=e.assets,g=void 0===p?{}:p,h=e.classNames,v=void 0===h?{}:h,b=e.colors,_=void 0===b?{}:b,y=e.verbiage,C=void 0===y?{}:y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submit,T=E.selfieImage,w=E.signatureVideoUrl,M=E.setSelfieImage,S=E.setSignatureData,D=E.setSignatureVideoUrl,k=E.logSelfieCaptureAttempt,N=React.useState("LOADING"),O=N[0],j=N[1],A=React.useRef(),L=React.useRef(),B=React.useRef();React.useEffect((function(){A.current=new Date}),[]),React.useEffect((function(){"CHECKING_LIVENESS"===O&&(L.current=new Date)}),[O]);var F=React.useCallback((function(){var e,t,a;k({autoCapture:"Y",captureTime:(null!==(e=B.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=L.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(a=A.current)&&void 0!==a?a:new Date).getTime()}),A.current=new Date}),[k]),P=React.useCallback((function(){j("CHECKING_LIVENESS")}),[]),$=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){var t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return j("CAPTURING_SIGNATURE"),F(),T?[3,2]:(t=M,[4,dataUrlToBase64(e)]);case 1:t.apply(void 0,[a.sent()]),a.label=2;case 2:return[2]}}))}))}),[F,T,M]),z=React.useCallback((function(e,t,a){S(t),D(URL.createObjectURL(e)),j("SUCCESS"),null==n||n(e,t,a)}),[n,S,D]),U=React.useCallback((function(){j("CHECKING_LIVENESS")}),[]),G=React.useState(0),W=G[0],V=G[1],H=React.useCallback((function(){V((function(e){return e+1})),j("LOADING"),null==i||i()}),[i]),q=React.useCallback((function(){null==r||r(),H()}),[H,r]),Y=useShowSuccessScreen(f,"SUCCESS"===O,a),Z=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){switch(e.label){case 0:return[4,I()];case 1:return e.sent(),null==a||a(),[2]}}))}))}),[a,I]);return React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{throttleMs:"CAPTURING_SIGNATURE"===O?250:0,onModelError:l,modelLoadTimeoutMs:u},React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=null==v?void 0:v.container)&&void 0!==t?t:"")},React__default.default.createElement(CameraVideoTag,{className:v.cameraFeed}),"LOADING"!==O&&function(){switch(O){case"CHECKING_LIVENESS":return React__default.default.createElement(FaceLivenessCapture,{onSuccess:$,onExit:H,classNames:v.faceLiveness,colors:_.faceLiveness,verbiage:C.faceLiveness,debugMode:R});case"CAPTURING_SIGNATURE":return React__default.default.createElement(VideoSignatureCapture,{onVideoCaptured:z,onFaceNotDetected:U,onExit:H,classNames:v,colors:_,verbiage:C,debugMode:R});case"SUCCESS":if(!Y)return;return React__default.default.createElement(VideoSignatureSuccess,{videoUrl:null!=w?w:"",onDoneClick:Z,onRetryClick:q,classNames:v.success,colors:_.success,verbiage:C.success});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:W,mode:d,assets:g.loadingOverlay,classNames:v.loadingOverlay,colors:_.loadingOverlay,verbiage:C.loadingOverlay,onDismissed:P,onUserCancel:o}))},IdVideoCaptureFlipIdPrompt=function(e){var t,a=e.className,n=e.imageWidth,r=e.imageHeight,i=e.borderWidth,o=void 0===i?4:i,l=e.assets,s=void 0===l?{}:l,d=React.useContext(CameraStateContext).cameraRef;s.frontImageUrl||(s.frontImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),s.backImageUrl||(s.backImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var c=!(null===(t=d.current)||void 0===t?void 0:t.isRearFacing),u=React.useState(1),m=u[0],f=u[1],p=React.useState(0),g=p[0],h=p[1],v=["rotateY(".concat(g,"deg)")];c&&v.push("scaleX(-1)");var b=["rotateY(".concat(180-g,"deg)")];return c&&b.push("scaleX(-1)"),React.useEffect((function(){var e;function t(){f(1),h(180),e=setTimeout((function(){f(0),h(0)}),1500)}var a=setInterval(t,2500);return e=setTimeout(t,250),function(){clearInterval(a),clearTimeout(e)}}),[]),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(FlipImage,{src:s.frontImageUrl,alt:"",className:a,$transforms:v.join(" "),$transitionTime:m,$borderWidth:o,$imageWidth:n,$imageHeight:r}),React__default.default.createElement(FlipImage,{src:s.backImageUrl,alt:"",className:a,$transforms:b.join(" "),$transitionTime:m,$borderWidth:o,$imageWidth:n,$imageHeight:r,$isBack:!0}))},FlipImage=styled__default.default.img(templateObject_1$8||(templateObject_1$8=tslib.__makeTemplateObject(["\n backface-visibility: hidden;\n transition: transform ","s;\n transform: ",";\n transform-style: preserve-3d;\n position: ",";\n display: block;\n top: ","px;\n width: ","px;\n height: ","px;\n"],["\n backface-visibility: hidden;\n transition: transform ","s;\n transform: ",";\n transform-style: preserve-3d;\n position: ",";\n display: block;\n top: ","px;\n width: ","px;\n height: ","px;\n"])),(function(e){return e.$transitionTime}),(function(e){return e.$transforms}),(function(e){return e.$isBack?"absolute":"relative"}),(function(e){return-e.$borderWidth/2}),(function(e){return e.$imageWidth}),(function(e){return e.$imageHeight+e.$borderWidth})),IdVideoCaptureGuides=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b,_,y,C,x=e.requestedAction,R=void 0===x?"SHOW_ID_FRONT":x,E=e.satisfied,I=void 0!==E&&E,T=e.faceGuideBorderWidth,w=e.faceGuideBorderColor,M=e.idCardGuideBorderWidth,S=e.idCardGuideBorderColor,D=e.assets,k=void 0===D?{}:D,N=e.classNames,O=void 0===N?{}:N,j=e.verbiage,A=void 0===j?{}:j,L=React.useContext(CameraStateContext).cameraRef,B=React.useRef(null),F=React.useState(0),P=F[0],$=F[1],z=React.useState(0),U=z[0],G=z[1];k.frontImageUrl||(k.frontImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),k.backImageUrl||(k.backImageUrl="".concat(DEFAULT_CDN_URL,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var W=useTranslations(A,{idFrontInstructionText:"Display the front of your ID card...",idBackInstructionText:"Display the back of your ID card...",flipIdInstructionText:"Please flip your ID card..."}),V="SHOW_ID_FRONT"===R?W.idFrontInstructionText:"FLIP_ID"===R?W.flipIdInstructionText:W.idBackInstructionText,H=styled.useTheme();void 0===T&&(T=null!==(n=null===(a=null===(t=H.idVideoCapture)||void 0===t?void 0:t.faceGuides)||void 0===a?void 0:a.borderWidth)&&void 0!==n?n:4),void 0===w&&(w=null!==(s=I?null===(i=null===(r=H.idVideoCapture)||void 0===r?void 0:r.faceGuides)||void 0===i?void 0:i.satisfiedColor:null===(l=null===(o=H.idVideoCapture)||void 0===o?void 0:o.faceGuides)||void 0===l?void 0:l.unsatisfiedColor)&&void 0!==s?s:"white"),void 0===M&&(M=null!==(u=null===(c=null===(d=H.idVideoCapture)||void 0===d?void 0:d.idCardGuides)||void 0===c?void 0:c.borderWidth)&&void 0!==u?u:4),void 0===S&&(S=null!==(h=I?null===(f=null===(m=H.idVideoCapture)||void 0===m?void 0:m.idCardGuides)||void 0===f?void 0:f.satisfiedColor:null===(g=null===(p=H.idVideoCapture)||void 0===p?void 0:p.idCardGuides)||void 0===g?void 0:g.unsatisfiedColor)&&void 0!==h?h:"white");var q=function(){var e,t,a,n;P||$(null!==(t=null===(e=B.current)||void 0===e?void 0:e.width)&&void 0!==t?t:0),U||G(null!==(n=null===(a=B.current)||void 0===a?void 0:a.height)&&void 0!==n?n:0)};return React__default.default.createElement(Container,{className:O.container},React__default.default.createElement(FaceGuide,{className:O.faceGuide,$borderWidth:T,$borderColor:w}),React__default.default.createElement(IdCardGuideContainer,{className:O.idCardGuideContainer},React__default.default.createElement(IdCardGuideInstructionsContainer,{className:O.idCardGuideInstructionsContainer},React__default.default.createElement(IdCardGuideInstructions,{className:O.idCardGuideInstructions,$textColor:null===(b=null===(v=H.idVideoCapture)||void 0===v?void 0:v.idCardGuides)||void 0===b?void 0:b.instructionsTextColor,$background:null===(y=null===(_=H.idVideoCapture)||void 0===_?void 0:_.idCardGuides)||void 0===y?void 0:y.instructionsBackgroundColor},V)),React__default.default.createElement(IdCardGuideImageContainer,{$borderWidth:M,$borderColor:S,className:O.idCardGuideImageContainer},"FLIP_ID"===R?React__default.default.createElement(IdVideoCaptureFlipIdPrompt,{assets:k,imageWidth:P,imageHeight:U,borderWidth:M,className:O.flipIdPromptImage}):React__default.default.createElement(IdCardGuideImage,{ref:B,src:"SHOW_ID_BACK"===R?k.backImageUrl:k.frontImageUrl,alt:"",className:O.idCardGuideImage,$isMirrored:!(null===(C=L.current)||void 0===C?void 0:C.isRearFacing),onLoad:q,onResize:q}))))},Container=styled__default.default.div(templateObject_1$7||(templateObject_1$7=tslib.__makeTemplateObject(["\n position: fixed;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n display: flex;\n flex-direction: column;\n font-family: ",";\n"],["\n position: fixed;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n display: flex;\n flex-direction: column;\n font-family: ",";\n"])),(function(e){var t;return null===(t=e.theme)||void 0===t?void 0:t.fontFamily})),FaceGuide=styled__default.default.div(templateObject_2$7||(templateObject_2$7=tslib.__makeTemplateObject(["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 50%;\n min-height: 33dvh;\n margin: 4% auto auto;\n"],["\n border-width: ","px;\n border-color: ",";\n border-style: solid;\n border-radius: 50%;\n aspect-ratio: 1 / 1.618;\n height: 50%;\n min-height: 33dvh;\n margin: 4% auto auto;\n"])),(function(e){var t;return null!==(t=e.$borderWidth)&&void 0!==t?t:0}),(function(e){var t;return null!==(t=e.$borderColor)&&void 0!==t?t:"white"})),IdCardGuideContainer=styled__default.default.div(templateObject_3$7||(templateObject_3$7=tslib.__makeTemplateObject(["\n height: 50%;\n display: flex;\n flex-flow: column nowrap;\n margin: 2% auto;\n"],["\n height: 50%;\n display: flex;\n flex-flow: column nowrap;\n margin: 2% auto;\n"]))),IdCardGuideInstructionsContainer=styled__default.default.div(templateObject_4$2||(templateObject_4$2=tslib.__makeTemplateObject(["\n width: 100%;\n text-align: center;\n color: white;\n display: flex;\n flex-direction: column;\n justify-content: end;\n"],["\n width: 100%;\n text-align: center;\n color: white;\n display: flex;\n flex-direction: column;\n justify-content: end;\n"]))),IdCardGuideInstructions=styled__default.default(GuidanceMessage)(templateObject_5$1||(templateObject_5$1=tslib.__makeTemplateObject(["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n padding: 8px 12px;\n font-weight: bold;\n"],["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n padding: 8px 12px;\n font-weight: bold;\n"]))),IdCardGuideImageContainer=styled__default.default.div(templateObject_6$1||(templateObject_6$1=tslib.__makeTemplateObject(["\n position: relative;\n border: ","px solid\n ",";\n"],["\n position: relative;\n border: ","px solid\n ",";\n"])),(function(e){return e.$borderWidth}),(function(e){return e.$borderColor})),IdCardGuideImage=styled__default.default.img(templateObject_7||(templateObject_7=tslib.__makeTemplateObject(["\n width: 100%;\n max-height: 100%;\n ","\n"],["\n width: 100%;\n max-height: 100%;\n ","\n"])),(function(e){return e.$isMirrored?"transform: scaleX(-1);":""})),ReadTextPrompt=function(e){var t=e.text,a=e.onComplete,n=e.startedAt,r=e.durationMs,i=void 0===r?15e3:r,o=e.classNames,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s;t=useVerbiage(t,"");var c=useTranslations(d,{headingText:"Please read the following text aloud",doneBtnText:"Done"}),u=msToTime(Math.max(0,i-((new Date).getTime()-(null!=n?n:new Date).getTime())));return React__default.default.createElement(ReadTextPromptContainer,{className:l.container},React__default.default.createElement(ReadTextPromptHeading,{className:l.heading},c.headingText),React__default.default.createElement(ReadTextPromptText,{className:l.prompt},t),React__default.default.createElement(ReadTextPromptButtonsRow,{className:l.buttonsRow},React__default.default.createElement(ReadTextPromptTimeRemaining,{className:l.timeRemaining},u),React__default.default.createElement(DoneButton,{variant:"positive",className:l.doneBtn,onClick:a,finished:!0},c.doneBtnText)))};function msToTime(e){var t=(e=(e-e%1e3)/1e3)%60;return(e=(e-t)/60)%60+":"+("00"+(t+=1)).slice(-2)}var templateObject_1$6,templateObject_2$6,templateObject_3$6,templateObject_4$1,templateObject_5,templateObject_6,templateObject_1$5,templateObject_2$5,templateObject_3$5,templateObject_4,templateObject_1$4,templateObject_2$4,templateObject_3$4,templateObject_1$3,templateObject_2$3,templateObject_3$3,templateObject_1$2,templateObject_2$2,templateObject_3$2,templateObject_1$1,templateObject_2$1,templateObject_3$1,templateObject_1,templateObject_2,templateObject_3,ReadTextPromptContainer=styled__default.default.div(templateObject_1$6||(templateObject_1$6=tslib.__makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n"],["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n"]))),ReadTextPromptHeading=styled__default.default.div(templateObject_2$6||(templateObject_2$6=tslib.__makeTemplateObject(["\n padding: 20px;\n font-weight: bold;\n margin: auto auto 32px;\n\n ",";\n ",";\n ",";\n"],["\n padding: 20px;\n font-weight: bold;\n margin: auto auto 32px;\n\n ",";\n ",";\n ",";\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.heading)||void 0===n?void 0:n.backgroundColor)?"background: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.heading)||void 0===o?void 0:o.backgroundColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.heading)||void 0===n?void 0:n.textColor)?"color: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.heading)||void 0===o?void 0:o.textColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.heading)||void 0===n?void 0:n.borderRadius)?"border-radius: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.heading)||void 0===o?void 0:o.borderRadius,";"):""})),ReadTextPromptText=styled__default.default.div(templateObject_3$6||(templateObject_3$6=tslib.__makeTemplateObject(["\n margin: 0 auto;\n text-align: center;\n padding: 50px;\n font-size: 24px;\n max-width: ",";\n\n ",";\n ",";\n ",";\n"],["\n margin: 0 auto;\n text-align: center;\n padding: 50px;\n font-size: 24px;\n max-width: ",";\n\n ",";\n ",";\n ",";\n"])),"undefined"!=typeof window&&window.innerWidth>window.innerHeight?"40%":"90%",(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.prompt)||void 0===n?void 0:n.backgroundColor)?"background: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.prompt)||void 0===o?void 0:o.backgroundColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.prompt)||void 0===n?void 0:n.textColor)?"color: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.prompt)||void 0===o?void 0:o.textColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.prompt)||void 0===n?void 0:n.borderRadius)?"border-radius: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.prompt)||void 0===o?void 0:o.borderRadius,";"):""})),ReadTextPromptButtonsRow=styled__default.default(ButtonsRow)(templateObject_4$1||(templateObject_4$1=tslib.__makeTemplateObject(["\n margin: 32px auto auto;\n gap: 20px;\n"],["\n margin: 32px auto auto;\n gap: 20px;\n"]))),ReadTextPromptTimeRemaining=styled__default.default.div(templateObject_5||(templateObject_5=tslib.__makeTemplateObject(["\n padding: 20px;\n\n ",";\n ",";\n ",";\n"],["\n padding: 20px;\n\n ",";\n ",";\n ",";\n"])),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.timeRemaining)||void 0===n?void 0:n.backgroundColor)?"background: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.timeRemaining)||void 0===o?void 0:o.backgroundColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.timeRemaining)||void 0===n?void 0:n.textColor)?"color: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.timeRemaining)||void 0===o?void 0:o.textColor,";"):""}),(function(e){var t,a,n,r,i,o;return(null===(n=null===(a=null===(t=e.theme.idVideoCapture)||void 0===t?void 0:t.readTextPrompt)||void 0===a?void 0:a.timeRemaining)||void 0===n?void 0:n.borderRadius)?"border-radius: ".concat(null===(o=null===(i=null===(r=e.theme.idVideoCapture)||void 0===r?void 0:r.readTextPrompt)||void 0===i?void 0:i.timeRemaining)||void 0===o?void 0:o.borderRadius,";"):""})),DoneButton=styled__default.default(LoaderButton)(templateObject_6||(templateObject_6=tslib.__makeTemplateObject(["\n margin: auto 0;\n"],["\n margin: auto 0;\n"]))),edgeBoundary=.05,IdVideoCapture=function(e){var t,a,n,r,i,o,l,s,d,c,u,m,f,p,g,h,v,b=e.onComplete,_=e.onIdFrontImageCaptured,y=e.onIdBackImageCaptured,C=e.onFaceNotDetected,x=e.idCaptureModelsEnabled,R=void 0===x||x,E=e.idCardFrontDelay,I=void 0===E?1e3:E,T=e.idCardFrontDetectionThreshold,w=void 0===T?.6:T,M=e.idCardFrontFocusThreshold,S=void 0===M?0:M,D=e.goodIdCardFrontFramesThreshold,k=void 0===D?1:D,N=e.idCardBackDetectionThreshold,O=void 0===N?.6:N,j=e.idCardBackFocusThreshold,A=void 0===j?0:j,L=e.goodIdCardBackFramesThreshold,B=void 0===L?1:L,F=e.skipShowIdCardBack,P=void 0!==F&&F,$=e.captureCountdownSeconds,z=void 0===$?3:$,U=e.readTextPrompt,G=e.readTextTimeoutDurationMs,W=void 0===G?15e3:G,V=e.assets,H=void 0===V?{}:V,q=e.classNames,Y=void 0===q?{}:q,Z=e.colors,Q=void 0===Z?{}:Z,X=e.verbiage,K=void 0===X?{}:X,J=e.debugMode,ee=void 0!==J&&J,te=useResizeObserver__default.default(),ae=te.ref,ne=te.width,re=void 0===ne?1:ne,ie=te.height,oe=void 0===ie?1:ie,le=React.useContext(CameraStateContext),se=le.cameraRef,de=le.videoRef,ce=le.videoLoaded,ue=le.setVideoLoaded,me=le.cameraReady,fe=le.takePhoto,pe=React.useState([]),ge=pe[0],he=pe[1],ve=React.useState([]),be=ve[0],_e=ve[1],ye=React.useContext(IdCaptureModelsContext),Ce=ye.ready,xe=ye.working,Re=ye.makePrediction,Ee=ye.onPredictionMade,Ie=ye.setThresholds,Te=ye.bestFrameDetectionScore,we=ye.bestFrameFocusScore,Me=ye.resetBestFrame,Se=ye.modelError,De=React.useContext(HighPerformanceSelfieGuidanceModelsContext).onPredictionMade,ke=useVideoRecorder(se.current),Ne=ke.isRecording,Oe=ke.startRecording,je=ke.stopRecording,Ae=ke.videoUrl;React.useEffect((function(){Ne||Ae||Oe(),Ae&&(ue(!1),null==b||b(Ae))}),[Ne,b,ue,Oe,Ae]);var Le=React.useRef(0),Be=React.useRef(!1);React.useEffect((function(){Be.current=ce&&me&&Ce}),[me,Ce,ce]);var Fe=React.useState("SHOW_ID_FRONT"),Pe=Fe[0],$e=Fe[1];React.useEffect((function(){if(("SHOW_ID_FRONT"===Pe||"SHOW_ID_BACK"===Pe)&&R&&Ce&&me&&ce)return Le.current=requestAnimationFrame((function e(){return tslib.__awaiter(this,void 0,void 0,(function(){return tslib.__generator(this,(function(t){return Be.current&&!xe.current&&de.current&&Re(de.current),Le.current=requestAnimationFrame(e),[2]}))}))})),function(){cancelAnimationFrame(Le.current)}}),[me,R,Ce,xe,Re,Pe,ce,de]),React.useEffect((function(){Ie({document:"SHOW_ID_FRONT"===Pe?w:"SHOW_ID_BACK"===Pe?O:1,passport:1,focus:{mobile:"SHOW_ID_FRONT"===Pe?S:"SHOW_ID_BACK"===Pe?A:0}})}),[O,A,w,S,Pe,Ie]);var ze=React.useState(0),Ue=ze[0],Ge=ze[1],We=React.useState(0),Ve=We[0],He=We[1],qe=React.useState(0),Ye=qe[0],Ze=qe[1],Qe="SHOW_ID_FRONT"===Pe?k:B,Xe=Ye>=Qe;React.useEffect((function(){R&&Ee((function(e){he(e.detectedObjects),Ge(e.detectionScore),He(e.focusScore),Ze(e.detectionThresholdMet&&e.focusThresholdMet?function(e){return e+1}:0)}))}),[R,w,Ee]);var Ke=React.useState(null),Je=Ke[0],et=Ke[1];React.useEffect((function(){1===Ye&&et((new Date).getTime())}),[Ye]);var tt="SHOW_ID_FRONT"!==Pe||null!==Je&&(new Date).getTime()>Je+I,at=React.useCallback((function(){U?$e("READ_TEXT"):je()}),[U,je]),nt=null!==(a=null===(t=de.current)||void 0===t?void 0:t.videoWidth)&&void 0!==a?a:0,rt=null!==(r=null===(n=de.current)||void 0===n?void 0:n.videoHeight)&&void 0!==r?r:0,it=null===(i=null==be?void 0:be[0])||void 0===i?void 0:i.box,ot=!it||!nt||it.xMin>nt*edgeBoundary&&it.yMin>rt*edgeBoundary&&it.xMax<nt*(1-edgeBoundary)&&it.yMax<rt*(1-edgeBoundary),lt=React.useState(),st=lt[0],dt=lt[1],ct=React.useRef(!1),ut=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t,a;return tslib.__generator(this,(function(n){switch(n.label){case 0:return ct.current?[2]:(ct.current=!0,[4,fe()]);case 1:if(!(e=n.sent()))return ct.current=!1,[2];n.label=2;case 2:return n.trys.push([2,,10,11]),(a=e)?[4,new Promise((function(t){var a=new FileReader;a.onloadend=function(){return t(a.result)},a.readAsDataURL(e)}))]:[3,4];case 3:a=n.sent(),n.label=4;case 4:return t=a,"SHOW_ID_FRONT"!=Pe?[3,8]:(_&&t&&_(t),P?!0!==P?[3,5]:[2,at()]:[3,7]);case 5:return[4,P()];case 6:if(n.sent())return[2,at()];n.label=7;case 7:return $e("FLIP_ID"),setTimeout((function(){$e("SHOW_ID_BACK")}),6e3),[3,9];case 8:"SHOW_ID_BACK"==Pe&&(y&&t&&y(t),at()),n.label=9;case 9:return[3,11];case 10:return he([]),Ge(0),He(0),Ze(0),dt(void 0),Me(),ct.current=!1,[7];case 11:return[2]}}))}))}),[at,y,_,Pe,Me,P,fe]),mt=Xe&&ot&&tt;React.useEffect((function(){mt&&!st&&dt(new Date)}),[st,mt]),React.useEffect((function(){if(st){var e=(new Date).getTime()+1e3*z-st.getTime(),t=setTimeout(ut,e);return function(){clearTimeout(t)}}}),[z,ut,st]);var ft=React.useCallback((function(){je()}),[je]),pt=useTimeout(W,ft,"READ_TEXT"!==Pe,!1,"READ_TEXT"===Pe).timeoutStartedAt,gt=React.useState(0),ht=gt[0],vt=gt[1];React.useEffect((function(){De((function(e){_e(e),vt((function(t){return 0===e.length?t+1:0}))}))}),[De]),React.useEffect((function(){ht>=2&&(null==C||C())}),[ht,C]);var bt=styled.useTheme(),_t=useTranslations(K,{faceNotCenteredText:"Please move your face to the center...",searchingForIdCardText:"Searching for ID card...",captureBtnText:"Capture"}),yt=_t.captureBtnText,Ct=_t.faceNotCenteredText,xt=_t.searchingForIdCardText,Rt=useDebugScalingDetails({enabled:ee,pageWidth:re,pageHeight:oe,videoWidth:null!==(l=null===(o=de.current)||void 0===o?void 0:o.videoWidth)&&void 0!==l?l:0,videoHeight:null!==(d=null===(s=de.current)||void 0===s?void 0:s.videoHeight)&&void 0!==d?d:0}),Et=["SHOW_ID_FRONT","SHOW_ID_BACK"].includes(Pe),It=!!st&&Math.max(0,z-Math.floor(((new Date).getTime()-st.getTime())/1e3)),Tt=ot?R&&Et&&!Xe?xt:void 0:Ct;return React__default.default.createElement(PageContainer,{ref:ae,className:"flex ".concat(null!==(c=Y.container)&&void 0!==c?c:"")},"READ_TEXT"===Pe?React__default.default.createElement(ReadTextPrompt,{text:U,startedAt:pt||void 0,durationMs:W,classNames:Y.readTextPrompt,verbiage:K.readTextPrompt,onComplete:je}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(IdVideoCaptureGuides,{assets:H.guides,classNames:Y.guides,verbiage:K.guides,requestedAction:Pe,satisfied:mt,faceGuideBorderColor:mt?Q.guidesSatisfiedColor:Q.guidesUnsatisfiedColor,idCardGuideBorderColor:mt?Q.guidesSatisfiedColor:Q.guidesUnsatisfiedColor}),ee&&Et&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ObjectDetectionDebugOverlayDiv,{$flipX:!(null===(u=se.current)||void 0===u?void 0:u.isRearFacing)},ge.map((function(e,t){var a;return React__default.default.createElement(IdCaptureDetectedObjectDebugBox,{key:t,obj:e,scaling:Rt,color:"blue",flipX:!(null===(a=se.current)||void 0===a?void 0:a.isRearFacing)})}))),React__default.default.createElement(DebugBoundingBoxOverlay,null,be.map((function(e,t){return React__default.default.createElement(SelfieCaptureFaceDebugBox,{key:t,face:e,scaling:Rt})}))))),Tt&&React__default.default.createElement(GuidanceMessageContainer,{className:Y.guidanceMessageContainer},React__default.default.createElement(GuidanceMessage,{className:Y.guidanceMessage,$background:null!==(p=null===(f=null===(m=bt.guidanceMessages)||void 0===m?void 0:m.negative)||void 0===f?void 0:f.backgroundColor)&&void 0!==p?p:"red",$textColor:null!==(v=null===(h=null===(g=bt.guidanceMessages)||void 0===g?void 0:g.negative)||void 0===h?void 0:h.textColor)&&void 0!==v?v:"white"},Tt)),ee&&React__default.default.createElement(DebugStatsPane,null,se.current?React__default.default.createElement(React__default.default.Fragment,null,"✅ Camera: ",se.current.label," (",se.current.width,"x",se.current.height,")"):"❌ Camera not ready",React__default.default.createElement("br",null),Ne?"✅ Recording":"❌ Not recording",React__default.default.createElement("br",null),Xe?"✅":"❌"," Good Frame Count:"," ",Ye,"/",Qe,React__default.default.createElement("br",null),"Detection Score: ",Ue,React__default.default.createElement("br",null),"Focus Score: ",Ve,React__default.default.createElement("br",null),"Best Frame Detection Score: ",Te,React__default.default.createElement("br",null),"Best Frame Focus Score: ",we),It&&Et&&React__default.default.createElement(CountdownContainer,{className:Y.countdownContainer},React__default.default.createElement(Countdown,{className:Y.countdown},It)),(!R||Se)&&Et&&React__default.default.createElement(CaptureButtonContainer,{className:Y.captureBtnContainer},React__default.default.createElement(CaptureButton,{finished:!0,onClick:function(){return dt(new Date)},disabled:!!st||ct.current,className:Y.captureBtn},yt)))},CountdownContainer=styled__default.default.div(templateObject_1$5||(templateObject_1$5=tslib.__makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100dvw;\n height: 100dvh;\n z-index: 99999;\n display: flex;\n"],["\n position: fixed;\n top: 0;\n left: 0;\n width: 100dvw;\n height: 100dvh;\n z-index: 99999;\n display: flex;\n"]))),Countdown=styled__default.default.div(templateObject_2$5||(templateObject_2$5=tslib.__makeTemplateObject(["\n color: white;\n font-size: 64px;\n font-weight: bold;\n margin: auto;\n"],["\n color: white;\n font-size: 64px;\n font-weight: bold;\n margin: auto;\n"]))),CaptureButtonContainer=styled__default.default.div(templateObject_3$5||(templateObject_3$5=tslib.__makeTemplateObject(["\n position: fixed;\n bottom: 0;\n width: 100dvw;\n display: flex;\n z-index: 100000;\n"],["\n position: fixed;\n bottom: 0;\n width: 100dvw;\n display: flex;\n z-index: 100000;\n"]))),CaptureButton=styled__default.default(LoaderButton)(templateObject_4||(templateObject_4=tslib.__makeTemplateObject(["\n margin: 0 auto 25px;\n"],["\n margin: 0 auto 25px;\n"]))),IdVideoCaptureSuccess=function(e){var t=e.videoUrl,a=e.idFrontImageUrl,n=e.idBackImageUrl,r=e.onDoneClick,i=e.onRetryClick,o=e.classNames,l=void 0===o?{}:o,s=e.colors,d=void 0===s?{}:s,c=e.verbiage,u=void 0===c?{}:c,m=React.useState("video"),f=m[0],p=m[1],g=useTranslations(u,{headingText:"Video ID has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:l.container},React__default.default.createElement(OverlayInner$2,{className:l.inner},React__default.default.createElement("h1",{className:l.heading},g.headingText),React__default.default.createElement(AssetSelectorOptions,{className:l.assetSelectorOptions},React__default.default.createElement(AssetSelectorOption,{className:l.assetSelectorOption},React__default.default.createElement("input",{type:"radio",id:"displayedAssetVideo",value:"video",checked:"video"===f,onChange:function(){return p("video")}}),React__default.default.createElement("label",{htmlFor:"displayedAssetVideo"},"Video")),React__default.default.createElement(AssetSelectorOption,{className:l.assetSelectorOption},React__default.default.createElement("input",{type:"radio",id:"displayedAssetIdFrontImage",value:"idFrontImage",checked:"idFrontImage"===f,onChange:function(){return p("idFrontImage")}}),React__default.default.createElement("label",{htmlFor:"displayedAssetIdFrontImage"},"ID Front Image")),n&&React__default.default.createElement(AssetSelectorOption,{className:l.assetSelectorOption},React__default.default.createElement("input",{type:"radio",id:"displayedAssetIdBackImage",value:"idBackImage",checked:"idBackImage"===f,onChange:function(){return p("idBackImage")}}),React__default.default.createElement("label",{htmlFor:"displayedAssetIdBackImage"},"ID Back Image"))),React__default.default.createElement(OverlayImageContainer,{className:l.videoContainer},"video"===f?React__default.default.createElement(StyledVideo,{src:t,className:l.video,poster:t+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0}):React__default.default.createElement("img","idFrontImage"===f?{src:a,alt:"ID Front Image"}:{src:n,alt:"ID Back Image"})),React__default.default.createElement(ButtonsRow,{className:l.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:l.retryBtn,onClick:i,colors:d.retryBtn,finished:!0},g.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:l.doneBtn,onClick:r,colors:d.doneBtn,finished:!0},g.doneBtnText))))},StyledVideo=styled__default.default.video(templateObject_1$4||(templateObject_1$4=tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),AssetSelectorOptions=styled__default.default.div(templateObject_2$4||(templateObject_2$4=tslib.__makeTemplateObject(["\n margin-bottom: 15px;\n display: flex;\n justify-content: center;\n"],["\n margin-bottom: 15px;\n display: flex;\n justify-content: center;\n"]))),AssetSelectorOption=styled__default.default.div(templateObject_3$4||(templateObject_3$4=tslib.__makeTemplateObject(["\n padding: 0 8px;\n"],["\n padding: 0 8px;\n"]))),VideoIdWizard=function(e){var t,a,n,r,i,o=e.onComplete,l=e.onExitCapture,s=e.onExitAfterFailure,d=e.onUserCancel,c=e.onIdCaptureModelError,u=e.idCaptureProps,m=void 0===u?{}:u,f=e.faceLivenessProps,p=void 0===f?{}:f,g=e.idCaptureModelsEnabled,h=void 0===g||g,v=e.idCardFrontDetectionThreshold,b=e.idCardBackDetectionThreshold,_=e.idCardFrontFocusThreshold,y=e.idCardBackFocusThreshold,C=e.goodIdCardFrontFramesThreshold,x=e.goodIdCardBackFramesThreshold,R=e.readTextPrompt,E=e.readTextTimeoutDurationMs,I=e.skipIdCapture,T=void 0!==I&&I,w=e.skipShowIdCardBack,M=void 0!==w&&w,S=e.skipSuccessScreen,D=void 0!==S&&S,k=e.idCaptureLoadingOverlayMode,N=void 0===k?"default":k,O=e.idCaptureGuideType,j=void 0===O?"fit":O,A=e.idCapturePortraitGuidesOnMobile,L=void 0!==A&&A,B=e.idCaptureRotateLoadingOverlayImageWhenPortrait,F=void 0===B||B,P=e.idCaptureModelLoadTimeoutMs,$=void 0===P?defaultIdCaptureModelLoadTimeoutMs:P,z=e.faceLivenessLoadingOverlayMode,U=void 0===z?"default":z,G=e.assets,W=void 0===G?{}:G,V=e.classNames,H=void 0===V?{}:V,q=e.colors,Y=void 0===q?{}:q,Z=e.verbiage,Q=void 0===Z?{}:Z,X=e.debugMode,K=void 0!==X&&X,J=React.useContext(SubmissionContext),ee=J.submissionStatus,te=J.idCaptureVideoUrl,ae=J.idCaptureVideoIdFrontImage,ne=J.idCaptureVideoIdBackImage,re=J.setIdCaptureVideoUrl,ie=J.setIdCaptureVideoIdFrontImage,oe=J.setIdCaptureVideoIdBackImage,le=React.useState("CAPTURING_ID"),se=le[0],de=le[1];React.useEffect((function(){T&&"CAPTURING_ID"===se&&de("CHECKING_LIVENESS")}),[se,T]);var ce=m.onSuccess,ue=React.useCallback((function(e){null==ce||ce(e),de("CHECKING_LIVENESS")}),[ce]),me=React.useCallback((function(){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(e){return de("CAPTURING_VIDEO"),[2]}))}))}),[]),fe=React.useCallback((function(e){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(t){return re(e),de("SUCCESS"),D&&(null==o||o()),[2]}))}))}),[o,re,D]),pe=React.useCallback((function(){de("CHECKING_LIVENESS")}),[]),ge=React.useState(0),he=ge[0],ve=ge[1],be=null!=s?s:p.onExitAfterFailure,_e=React.useCallback((function(e,t){null==be||be(e,t),ve((function(e){return e+1})),de("CAPTURING_ID")}),[be]),ye=React.useCallback((function(){ve((function(e){return e+1})),de("CAPTURING_ID")}),[]),Ce=["LOADING","CAPTURING_ID"].includes(se);return React.useEffect((function(){ee===SubmissionStatus.SUBMITTING&&releaseCameraAccess()}),[ee]),ee===SubmissionStatus.SUBMITTING?React__default.default.createElement(PageContainer,{className:"flex"},React__default.default.createElement(Spinner,null)):React__default.default.createElement(IdCaptureModelsProvider,{documentDetectionModelUrl:null!==(a=null===(t=m.assets)||void 0===t?void 0:t.documentDetectionModelUrl)&&void 0!==a?a:"",focusModelUrl:null!==(r=null===(n=m.assets)||void 0===n?void 0:n.focusModelUrl)&&void 0!==r?r:"",logPredictions:K,onModelError:c,modelLoadTimeoutMs:$},React__default.default.createElement(CameraProvider,{key:Ce?"id-camera":"selfie-camera",preferContinuityCamera:Ce,preferFrontFacingCamera:!Ce,requestMicrophoneAccess:!Ce&&!!R,maxVideoWidth:Ce?1920:1280,maxFps:Ce?60:30,debugMode:K},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{onModelError:null==p?void 0:p.onModelError,modelLoadTimeoutMs:null==p?void 0:p.modelLoadTimeoutMs},React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(i=H.container)&&void 0!==i?i:"")},["CHECKING_LIVENESS","CAPTURING_VIDEO"].includes(se)&&React__default.default.createElement(CameraVideoTag,{className:H.cameraFeed}),function(){switch(se){case"CAPTURING_ID":return React__default.default.createElement(IdCaptureStateProvider,null,React__default.default.createElement(GuideOrientationProvider,null,React__default.default.createElement(IdCaptureWizard,tslib.__assign({key:"id-capture-".concat(he),loadingOverlayMode:N},m,{assets:W.idCapture,classNames:H.idCapture,colors:Y.idCapture,verbiage:Q.idCapture,onSuccess:ue,onExitCapture:l,onUserCancel:d,skipSuccessScreen:!0,releaseCameraAccessOnExit:!1,guideType:j,portraitGuidesOnMobile:L,rotateLoadingOverlayImageWhenPortrait:F,debugMode:K}))));case"CHECKING_LIVENESS":return React__default.default.createElement(FaceLivenessWizard,tslib.__assign({key:"face-liveness-".concat(he),loadingOverlayMode:U},p,{onComplete:me,onExitCapture:l,onExitAfterFailure:_e,onUserCancel:d,skipSuccessScreen:!0,renderCameraFeed:!1,releaseCameraAccessOnExit:!1,assets:W.faceLiveness,classNames:H.faceLiveness,colors:Y.faceLiveness,verbiage:Q.faceLiveness,debugMode:K}));case"CAPTURING_VIDEO":return React__default.default.createElement(IdVideoCapture,{key:"id-video-capture-".concat(he),onComplete:fe,onIdFrontImageCaptured:ie,onIdBackImageCaptured:oe,onFaceNotDetected:pe,idCaptureModelsEnabled:h,idCardFrontDetectionThreshold:v,idCardBackDetectionThreshold:b,idCardFrontFocusThreshold:_,idCardBackFocusThreshold:y,goodIdCardFrontFramesThreshold:C,goodIdCardBackFramesThreshold:x,skipShowIdCardBack:M,readTextPrompt:R,readTextTimeoutDurationMs:E,assets:W.idVideoCapture,classNames:H.idVideoCapture,colors:Y.idVideoCapture,verbiage:Q.idVideoCapture,debugMode:K});case"SUCCESS":return React__default.default.createElement(IdVideoCaptureSuccess,{videoUrl:null!=te?te:"",idFrontImageUrl:null!=ae?ae:"",idBackImageUrl:null!=ne?ne:void 0,onDoneClick:o,onRetryClick:ye,classNames:H.success,colors:Y.success,verbiage:Q.success});default:return React__default.default.createElement(React__default.default.Fragment,null)}}()))))},CompositeWizardComponent=function(e){var t,a,n,r,i,o=e.checks,l=e.idCaptureProps,s=void 0===l?{}:l,d=e.faceLivenessProps,c=void 0===d?{}:d,u=e.additionalDocumentCaptureProps,m=e.signatureCaptureProps,f=void 0===m?{}:m,p=e.videoSignatureCaptureProps,g=void 0===p?{}:p,h=e.videoIdCaptureProps,v=void 0===h?{}:h,b=e.captureSignature,_=void 0!==b&&b,y=e.captureSignatureVideo,C=void 0!==y&&y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submit,T=E.submissionStatus,w=E.setSignatureData,M=E.setAdditionalDocuments,S=React.useState(0),D=S[0],k=S[1],N=React.useMemo((function(){var e,t,a=tslib.__spreadArray([],o,!0);if(_&&C)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return _&&a.push("SignatureCapture"),C&&(a.push("VideoSignatureCapture"),a.includes("FaceLiveness")&&a.splice(a.indexOf("FaceLiveness"),1)),null!==(t=null===(e=null==u?void 0:u.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&a.push("AdditionalDocumentCapture"),a}),[null===(t=null==u?void 0:u.documents)||void 0===t?void 0:t.length,_,C,o]),O=N[D],j=D>=N.length;React.useEffect((function(){"SignatureCapture"===O&&"function"==typeof _?_().then((function(e){e||k((function(e){return e+1}))})):"VideoSignatureCapture"===O&&"function"==typeof C&&C().then((function(e){e||k((function(e){return e+1}))}))}),[_,C,O]),React.useEffect((function(){j&&I()}),[j,I]);var A=s.onSuccess,L=React.useCallback((function(e){null==A||A(e),k((function(e){return e+1}))}),[A]),B=v.onComplete,F=React.useCallback((function(){null==B||B(),k((function(e){return e+1}))}),[B]),P=c.onComplete,$=React.useCallback((function(e,t){null==P||P(e,t),k((function(e){return e+1}))}),[P]),z=React.useCallback((function(e){w(e),k((function(e){return e+1}))}),[w]),U=g.onComplete,G=React.useCallback((function(){null==U||U(),k((function(e){return e+1}))}),[U]),W=React.useState(0),V=W[0],H=W[1],q=g.onRetryClicked,Y=React.useCallback((function(){null==q||q(),H((function(e){return e+1}))}),[q]),Z=null==u?void 0:u.onComplete,Q=React.useCallback((function(e){M(e),null==Z||Z(e),k((function(e){return e+1}))}),[Z,M]),X=React.useMemo((function(){var e;return null!==(e=null==u?void 0:u.documents)&&void 0!==e?e:[]}),[null==u?void 0:u.documents]);if(j)switch(T){case SubmissionStatus.SUBMITTING:return React__default.default.createElement(PageContainer,{className:"flex"},React__default.default.createElement(Spinner,null));case SubmissionStatus.SUBMITTED:return React__default.default.createElement(SubmissionSuccess,null);case SubmissionStatus.FAILED:return React__default.default.createElement(React__default.default.Fragment,null,"Submission failed!");default:return React__default.default.createElement(React__default.default.Fragment,null,"Complete!!")}switch(N[D]){case"IdCapture":return React__default.default.createElement(IdCaptureModelsProvider,{documentDetectionModelUrl:null!==(n=null===(a=s.assets)||void 0===a?void 0:a.documentDetectionModelUrl)&&void 0!==n?n:"",focusModelUrl:null!==(i=null===(r=s.assets)||void 0===r?void 0:r.focusModelUrl)&&void 0!==i?i:"",logPredictions:R,onModelError:s.onModelError,modelLoadTimeoutMs:s.modelLoadTimeoutMs},React__default.default.createElement(CameraProvider,{key:"IdCaptureCamera",debugMode:R},React__default.default.createElement(IdCaptureStateProvider,null,React__default.default.createElement(GuideOrientationProvider,null,React__default.default.createElement(IdCaptureWizard,tslib.__assign({},s,{onSuccess:L}))))));case"VideoIdCapture":return React__default.default.createElement(VideoIdWizard,tslib.__assign({},v,{onComplete:F}));case"FaceLiveness":return React__default.default.createElement(CameraProvider,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1,debugMode:R},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{onModelError:c.onModelError,modelLoadTimeoutMs:c.modelLoadTimeoutMs},React__default.default.createElement(FaceLivenessWizard,tslib.__assign({},c,{onComplete:$}))));case"SignatureCapture":return React__default.default.createElement(SignatureCapture,tslib.__assign({},f,{onAccept:z}));case"VideoSignatureCapture":return React__default.default.createElement(CameraProvider,{key:"SignatureKycCamera-".concat(V),preferContinuityCamera:!1,preferFrontFacingCamera:!0,maxVideoWidth:1280,maxFps:30,debugMode:R},React__default.default.createElement(VideoSignatureWizard,tslib.__assign({},g,{onComplete:G,onRetryClicked:Y})));case"AdditionalDocumentCapture":return React__default.default.createElement(AdditionalDocumentCaptureWizard,tslib.__assign({},u,{documents:X,onComplete:Q}));default:return React__default.default.createElement(React__default.default.Fragment,null)}},noneTheme={},defaultTheme={fontFamily:"Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif",isFullscreen:!0,background:"white",textColor:"black",textAlign:"center",padding:"25px",colors:{primary:{50:"#eef8ff",100:"#d8eeff",200:"#b9e0ff",300:"#89cfff",400:"#52b4ff",500:"#2a91ff",600:"#0d6efd",700:"#0c5ae9",800:"#1149bc",900:"#144194",950:"#11295a"},secondary:{50:"#f6f6f6",100:"#e7e7e7",200:"#d1d1d1",300:"#b0b0b0",400:"#888888",500:"#666666",600:"#5d5d5d",700:"#4f4f4f",800:"#454545",900:"#3d3d3d",950:"#262626"},positive:{50:"#f1fcf9",100:"#cef9eb",200:"#9df2d8",300:"#65e3c2",400:"#4fd4ad",500:"#1cb090",600:"#16a085",700:"#147160",800:"#155a4f",900:"#164b42",950:"#062d28"},negative:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},warning:{50:"#fdf5ef",100:"#fbe7d9",200:"#f6cdb2",300:"#f0ab81",400:"#ea8557",500:"#e35e2c",600:"#d54621",700:"#b1341d",800:"#8d2b1f",900:"#72261c",950:"#3d100d"}},buttons:{style:"bootstrap",primary:{backgroundColor:"var(--idm-color-primary-600)",textColor:"white"},secondary:{backgroundColor:"var(--idm-color-secondary-500)",textColor:"white"},positive:{backgroundColor:"var(--idm-color-positive-600)",textColor:"white"},negative:{backgroundColor:"var(--idm-color-negative-400)",textColor:"white"},warning:{backgroundColor:"var(--idm-color-warning-400)",textColor:"white"},loading:{backgroundColor:"gray",textColor:"white"}},guidanceMessages:{default:{backgroundColor:"var(--idm-color-secondary-200)",textColor:"black"},positive:{backgroundColor:"var(--idm-color-positive-700)",textColor:"white"},negative:{backgroundColor:"var(--idm-color-negative-600)",textColor:"white"}},idCapture:{loadingOverlay:{backgroundColor:"#ecedf3",textColor:"black",loadingGraphicAccentColor:"var(--idm-color-positive-600)",loadingGraphicAccentOpacity:.2,progressBarBackgroundColor:"var(--idm-color-positive-600)",progressBarBackgroundOpacity:.75,progressBarIndicatorColor:"var(--idm-color-positive-600)",progressBarTextColor:"white",continueBtnBorder:"2px solid white"},guideOverlay:{backgroundColor:"#708090",textColor:"white"},guideBox:{unsatisfiedColor:"white",satisfiedColor:"var(--idm-color-positive-500)",borderWidth:4,desktopPadding:50,mobilePadding:0,imagePadding:25}},selfieCapture:{loadingOverlay:{backgroundColor:"#ecedf3",textColor:"black",loadingGraphicAccentColor:"var(--idm-color-positive-600)",progressBarBackgroundColor:"var(--idm-color-positive-600)",progressBarBackgroundOpacity:.75,progressBarIndicatorColor:"var(--idm-color-positive-600)",progressBarTextColor:"white",continueBtnBorder:"2px solid white"},guides:{unsatisfiedColor:"white",satisfiedColor:"var(--idm-color-positive-500)"}},signatureCapture:{background:"radial-gradient(#444cf7 0.5px, transparent 0.5px), radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px)",backgroundSize:"20px 20px",backgroundPosition:"0 0, 10px 10px"},idVideoCapture:{readTextPrompt:{heading:{backgroundColor:"rgba(255, 255, 255, 0.5)",textColor:"black",borderRadius:"8px"},prompt:{backgroundColor:"rgba(255, 255, 255, 0.5)",textColor:"black",borderRadius:"8px"},timeRemaining:{backgroundColor:"rgba(255, 255, 255, 0.5)",textColor:"black",borderRadius:"4px"}}}},themes={default:defaultTheme,none:noneTheme},resolveTheme=function(e){return"string"==typeof e?e in themes?themes[e]:themes.none:e},ThemeProvider=function(e){var t=e.children,a=resolveTheme(e.theme),n=a.colors;return React.useEffect((function(){for(var e in n){var t=n[e];for(var a in t){var r=t[a];document.documentElement.style.setProperty("--idm-color-".concat(e,"-").concat(a),r)}}}),[n]),React__default.default.createElement(styled.ThemeProvider,{theme:a},t)},IdValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.manualReviewRequired,l=e.idBackImageRequired,s=e.verifyIdWithExternalDatabases,d=e.bypassAgeValidation,c=e.bypassNameMatching,u=e.personalData,m=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,h=e.webhooksSendInputImages,v=e.webhooksSendProcessedImages,b=e.webhooksFireOnReview,_=e.precapturedDocuments,y=e.loadingOverlayMode,C=void 0===y?"default":y,x=e.idCaptureRequirement,R=void 0===x?"idCardOrPassport":x,E=e.idAutoCaptureEnabled,I=void 0===E||E,T=e.idCardAutoCaptureScoreThreshold,w=void 0===T?.8:T,M=e.passportAutoCaptureScoreThreshold,S=void 0===M?.75:M,D=e.idCardFocusScoreThreshold,k=void 0===D?.3:D,N=e.passportFocusScoreThreshold,O=void 0===N?.3:N,j=e.skipSuccessScreen,A=void 0!==j&&j,L=e.instructions,B=e.guideType,F=void 0===B?"fit":B,P=e.portraitGuidesOnMobile,$=void 0!==P&&P,z=e.rotateLoadingOverlayImageWhenPortrait,U=void 0===z||z,G=e.modelLoadTimeoutMs,W=void 0===G?defaultIdCaptureModelLoadTimeoutMs:G,V=e.onBeforeSubmit,H=e.onSubmit,q=e.onComplete,Y=e.onApproved,Z=e.onDenied,Q=e.onExitCapture,X=e.onUserCancel,K=e.onModelError,J=e.theme,ee=void 0===J?"default":J,te=e.assets,ae=void 0===te?{}:te,ne=e.classNames,re=void 0===ne?{}:ne,ie=e.colors,oe=void 0===ie?{}:ie,le=e.verbiage,se=void 0===le?{}:le,de=e.captureSignature,ce=void 0!==de&&de,ue=e.captureSignatureVideo,me=void 0!==ue&&ue,fe=e.captureAdditionalDocuments,pe=void 0===fe?[]:fe,ge=e.geolocationEnabled,he=void 0===ge||ge,ve=e.geolocationRequired,be=void 0!==ve&&ve,_e=e.debugMode,ye=void 0!==_e&&_e;useLanguage(void 0===t?"auto":t);var Ce=React.useMemo((function(){return{onExitCapture:Q,onUserCancel:X,onModelError:K,precapturedDocuments:_,captureRequirement:R,autoCaptureEnabled:I,idCardAutoCaptureScoreThreshold:w,passportAutoCaptureScoreThreshold:S,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:k,passportFocusScoreThreshold:O,barcodeScanningEnabled:!1,skipSuccessScreen:A,loadingOverlayMode:C,instructions:L,guideType:F,portraitGuidesOnMobile:$,rotateLoadingOverlayImageWhenPortrait:U,modelLoadTimeoutMs:W,assets:ae,classNames:re,colors:oe,verbiage:se,debugMode:ye}}),[Q,X,K,_,R,I,w,S,k,O,A,C,L,F,$,U,W,ae,re,oe,se,ye]),xe=React.useMemo((function(){return{documents:pe,classNames:re.additionalDocumentCapture,verbiage:se.additionalDocumentCapture}}),[pe,re.additionalDocumentCapture,se.additionalDocumentCapture]),Re=React.useMemo((function(){return{classNames:re.signatureCapture,verbiage:se.signatureCapture}}),[re.signatureCapture,se.signatureCapture]),Ee=React.useMemo((function(){return{onExitCapture:Q,onUserCancel:X,skipSuccessScreen:A,classNames:re.videoSignatureCapture,colors:oe.videoSignatureCapture,verbiage:se.videoSignatureCapture,debugMode:ye}}),[re.videoSignatureCapture,oe.videoSignatureCapture,ye,Q,X,A,se.videoSignatureCapture]),Ie=React.useCallback((function(e,t){null==q||q(e,t),"Approved"===e.resultData.verificationResult?null==Y||Y(e,t):null==Z||Z(e,t)}),[Y,q,Z]);return React__default.default.createElement(ThemeProvider,{theme:ee},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.VALIDATE,url:n,token:a,companyId:r,needImmediateResponse:i,manualReviewRequired:o,idBackImageRequired:l,verifyIdWithExternalDatabases:s,bypassAgeValidation:d,bypassNameMatching:c,personalData:u,cardData:m,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,webhooksSendInputImages:h,webhooksSendProcessedImages:v,webhooksFireOnReview:b,onBeforeSubmit:V,onSubmit:H,onResponseReceived:Ie,geolocationEnabled:he,geolocationRequired:be},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:Ce,additionalDocumentCaptureProps:xe,signatureCaptureProps:Re,videoSignatureCaptureProps:Ee,captureSignature:ce,captureSignatureVideo:me,debugMode:ye})))},FaceValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.webhooksEnabled,l=e.webhooksClientTraceId,s=e.webhooksStripSpecialCharacters,d=e.webhooksSendInputImages,c=e.webhooksSendProcessedImages,u=e.loadingOverlayMode,m=void 0===u?"default":u,f=e.timeoutDurationMs,p=void 0===f?15e3:f,g=e.modelLoadTimeoutMs,h=void 0===g?defaultSelfieCaptureModelLoadTimeoutMs:g,v=e.skipSuccessScreen,b=void 0!==v&&v,_=e.onBeforeSubmit,y=e.onComplete,C=e.onApproved,x=e.onDenied,R=e.onExitCapture,E=e.onExitAfterFailure,I=e.onUserCancel,T=e.onModelError,w=e.theme,M=void 0===w?"default":w,S=e.assets,D=e.classNames,k=e.colors,N=e.verbiage,O=e.geolocationEnabled,j=void 0===O||O,A=e.geolocationRequired,L=void 0!==A&&A,B=e.debugMode,F=void 0!==B&&B;useLanguage(void 0===t?"auto":t);var P=React.useMemo((function(){return{loadingOverlayMode:m,timeoutDurationMs:p,modelLoadTimeoutMs:h,skipSuccessScreen:b,onComplete:y,onSuccess:C,onTimeout:x,onExitCapture:R,onExitAfterFailure:E,onModelError:T,onUserCancel:I,assets:S,classNames:D,colors:k,verbiage:N,debugMode:F}}),[S,D,k,F,m,h,C,y,x,E,R,T,I,b,p,N]);return React__default.default.createElement(ThemeProvider,{theme:M},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.NONE,url:n,token:a,companyId:r,needImmediateResponse:i,webhooksEnabled:o,webhooksClientTraceId:l,webhooksStripSpecialCharacters:s,webhooksSendInputImages:d,webhooksSendProcessedImages:c,onBeforeLivenessCheck:_,geolocationEnabled:j,geolocationRequired:L},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:P,debugMode:F})))},IdAndFaceValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.manualReviewRequired,l=e.idBackImageRequired,s=e.verifyIdWithExternalDatabases,d=e.bypassAgeValidation,c=e.bypassNameMatching,u=e.personalData,m=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,h=e.webhooksSendInputImages,v=e.webhooksSendProcessedImages,b=e.webhooksFireOnReview,_=e.precapturedDocuments,y=e.idCaptureLoadingOverlayMode,C=void 0===y?"default":y,x=e.idCaptureRequirement,R=void 0===x?"idCardOrPassport":x,E=e.idAutoCaptureEnabled,I=void 0===E||E,T=e.idCardAutoCaptureScoreThreshold,w=void 0===T?.8:T,M=e.mrzDetectionScoreThreshold,S=void 0===M?.5:M,D=e.passportAutoCaptureScoreThreshold,k=void 0===D?.75:D,N=e.idCardFocusScoreThreshold,O=void 0===N?.3:N,j=e.passportFocusScoreThreshold,A=void 0===j?.3:j,L=e.faceLivenessLoadingOverlayMode,B=void 0===L?"default":L,F=e.faceLivenessTimeoutDurationMs,P=void 0===F?15e3:F,$=e.skipSuccessScreen,z=void 0!==$&&$,U=e.idCaptureInstructions,G=e.idCaptureGuideType,W=void 0===G?"fit":G,V=e.idCapturePortraitGuidesOnMobile,H=void 0!==V&&V,q=e.idCaptureRotateLoadingOverlayImageWhenPortrait,Y=void 0===q||q,Z=e.idCaptureModelLoadTimeoutMs,Q=void 0===Z?defaultIdCaptureModelLoadTimeoutMs:Z,X=e.selfieCaptureModelLoadTimeoutMs,K=void 0===X?defaultSelfieCaptureModelLoadTimeoutMs:X,J=e.onBeforeLivenessCheck,ee=e.onBeforeSubmit,te=e.onSubmit,ae=e.onComplete,ne=e.onApproved,re=e.onDenied,ie=e.onExitCapture,oe=e.onExitAfterFailure,le=e.onUserCancel,se=e.onIdCaptureModelError,de=e.onSelfieCaptureModelError,ce=e.captureSignature,ue=void 0!==ce&&ce,me=e.captureSignatureVideo,fe=void 0!==me&&me,pe=e.captureAdditionalDocuments,ge=void 0===pe?[]:pe,he=e.theme,ve=void 0===he?"default":he,be=e.assets,_e=void 0===be?{}:be,ye=e.classNames,Ce=void 0===ye?{}:ye,xe=e.colors,Re=void 0===xe?{}:xe,Ee=e.verbiage,Ie=void 0===Ee?{}:Ee,Te=e.geolocationEnabled,we=void 0===Te||Te,Me=e.geolocationRequired,Se=void 0!==Me&&Me,De=e.debugMode,ke=void 0!==De&&De;useLanguage(void 0===t?"auto":t);var Ne=React.useMemo((function(){return{onExitCapture:ie,onUserCancel:le,onModelError:se,assets:_e.idCapture,classNames:Ce.idCapture,colors:Re.idCapture,verbiage:Ie.idCapture,precapturedDocuments:_,captureRequirement:R,autoCaptureEnabled:I,idCardAutoCaptureScoreThreshold:w,passportAutoCaptureScoreThreshold:k,mrzDetectionScoreThreshold:S,idCardFocusScoreThreshold:O,passportFocusScoreThreshold:A,loadingOverlayMode:C,instructions:U,guideType:W,portraitGuidesOnMobile:H,rotateLoadingOverlayImageWhenPortrait:Y,modelLoadTimeoutMs:Q,skipSuccessScreen:z,debugMode:ke}}),[_e.idCapture,Ce.idCapture,Re.idCapture,ke,I,W,U,C,Q,H,R,Y,w,O,S,ie,se,le,k,A,_,z,Ie.idCapture]),Oe=React.useMemo((function(){return{loadingOverlayMode:B,timeoutDurationMs:P,modelLoadTimeoutMs:K,onTimeout:re,onExitCapture:ie,onExitAfterFailure:oe,onUserCancel:le,onModelError:de,skipSuccessScreen:z,assets:_e.faceLiveness,classNames:Ce.faceLiveness,colors:Re.faceLiveness,verbiage:Ie.faceLiveness,debugMode:ke}}),[_e.faceLiveness,Ce.faceLiveness,Re.faceLiveness,ke,B,P,re,oe,ie,de,le,K,z,Ie.faceLiveness]),je=React.useMemo((function(){return{documents:ge,classNames:Ce.additionalDocumentCapture,verbiage:Ie.additionalDocumentCapture}}),[ge,Ce.additionalDocumentCapture,Ie.additionalDocumentCapture]),Ae=React.useMemo((function(){return{classNames:Ce.signatureCapture,verbiage:Ie.signatureCapture}}),[Ce.signatureCapture,Ie.signatureCapture]),Le=React.useMemo((function(){return{onExitCapture:ie,onUserCancel:le,skipSuccessScreen:z,classNames:Ce.videoSignatureCapture,colors:Re.videoSignatureCapture,verbiage:Ie.videoSignatureCapture,debugMode:ke}}),[Ce.videoSignatureCapture,Re.videoSignatureCapture,ke,ie,le,z,Ie.videoSignatureCapture]),Be=React.useCallback((function(e,t){null==ae||ae(e,t),"Approved"===e.resultData.verificationResult?null==ne||ne(e,t):null==re||re(e,t)}),[ne,ae,re]),Fe=React.useMemo((function(){return(null==_?void 0:_.selfie)?["IdCapture"]:["IdCapture","FaceLiveness"]}),[null==_?void 0:_.selfie]);return React__default.default.createElement(ThemeProvider,{theme:ve},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.VALIDATE,url:n,token:a,companyId:r,needImmediateResponse:i,manualReviewRequired:o,idBackImageRequired:l,verifyIdWithExternalDatabases:s,bypassAgeValidation:d,bypassNameMatching:c,personalData:u,cardData:m,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,webhooksSendInputImages:h,webhooksSendProcessedImages:v,webhooksFireOnReview:b,precapturedDocuments:_,onBeforeSubmit:ee,onBeforeLivenessCheck:J,onSubmit:te,onResponseReceived:Be,geolocationEnabled:we,geolocationRequired:Se},React__default.default.createElement(CompositeWizardComponent,{checks:Fe,idCaptureProps:Ne,faceLivenessProps:Oe,signatureCaptureProps:Ae,videoSignatureCaptureProps:Le,additionalDocumentCaptureProps:je,captureSignature:ue,captureSignatureVideo:fe,debugMode:ke})))},CustomerIdAndBiometricsEnrollment=function(e){var t=e.enrollmentId,a=e.lang,n=e.submissionToken,r=e.submissionUrl,i=e.companyId,o=e.needImmediateResponse,l=e.manualReviewRequired,s=e.idBackImageRequired,d=e.idImageResolutionCheck,c=e.verifyIdWithExternalDatabases,u=e.bypassAgeValidation,m=e.bypassNameMatching,f=e.personalData,p=e.cardData,g=e.deduplicationEnabled,h=e.deduplicationSynchronous,v=e.webhooksEnabled,b=e.webhooksClientTraceId,_=e.webhooksStripSpecialCharacters,y=e.webhooksSendInputImages,C=e.webhooksSendProcessedImages,x=e.webhooksFireOnReview,R=e.idCaptureLoadingOverlayMode,E=void 0===R?"default":R,I=e.idCaptureRequirement,T=void 0===I?"idCardOrPassport":I,w=e.idAutoCaptureEnabled,M=void 0===w||w,S=e.idCardAutoCaptureScoreThreshold,D=void 0===S?.8:S,k=e.mrzDetectionScoreThreshold,N=void 0===k?.5:k,O=e.passportAutoCaptureScoreThreshold,j=void 0===O?.75:O,A=e.idCardFocusScoreThreshold,L=void 0===A?.3:A,B=e.passportFocusScoreThreshold,F=void 0===B?.3:B,P=e.faceLivenessTimeoutDurationMs,$=void 0===P?15e3:P,z=e.faceLivenessLoadingOverlayMode,U=void 0===z?"default":z,G=e.skipSuccessScreen,W=void 0!==G&&G,V=e.idCaptureInstructions,H=e.idCaptureGuideType,q=void 0===H?"fit":H,Y=e.idCapturePortraitGuidesOnMobile,Z=void 0!==Y&&Y,Q=e.idCaptureRotateLoadingOverlayImageWhenPortrait,X=void 0===Q||Q,K=e.idCaptureModelLoadTimeoutMs,J=void 0===K?defaultIdCaptureModelLoadTimeoutMs:K,ee=e.selfieCaptureModelLoadTimeoutMs,te=void 0===ee?defaultSelfieCaptureModelLoadTimeoutMs:ee,ae=e.onBeforeSubmit,ne=e.onSubmit,re=e.onComplete,ie=e.onEnrolled,oe=e.onDenied,le=e.onExitCapture,se=e.onExitAfterFailure,de=e.onUserCancel,ce=e.onIdCaptureModelError,ue=e.onSelfieCaptureModelError,me=e.captureSignature,fe=void 0!==me&&me,pe=e.captureSignatureVideo,ge=void 0!==pe&&pe,he=e.captureAdditionalDocuments,ve=void 0===he?[]:he,be=e.theme,_e=void 0===be?"default":be,ye=e.assets,Ce=void 0===ye?{}:ye,xe=e.classNames,Re=void 0===xe?{}:xe,Ee=e.colors,Ie=void 0===Ee?{}:Ee,Te=e.verbiage,we=void 0===Te?{}:Te,Me=e.geolocationEnabled,Se=void 0===Me||Me,De=e.geolocationRequired,ke=void 0!==De&&De,Ne=e.debugMode,Oe=void 0!==Ne&&Ne;useLanguage(void 0===a?"auto":a);var je=React.useMemo((function(){return{assets:Ce.idCapture,classNames:Re.idCapture,colors:Ie.idCapture,verbiage:we.idCapture,captureRequirement:T,autoCaptureEnabled:M,idCardAutoCaptureScoreThreshold:D,passportAutoCaptureScoreThreshold:j,mrzDetectionScoreThreshold:N,idCardFocusScoreThreshold:L,passportFocusScoreThreshold:F,loadingOverlayMode:E,instructions:V,guideType:q,portraitGuidesOnMobile:Z,rotateLoadingOverlayImageWhenPortrait:X,modelLoadTimeoutMs:J,onExitCapture:le,onUserCancel:de,onModelError:ce,skipSuccessScreen:W,debugMode:Oe}}),[Ce.idCapture,Re.idCapture,Ie.idCapture,Oe,M,q,V,E,J,Z,T,X,D,L,N,le,ce,de,j,F,W,we.idCapture]),Ae=React.useMemo((function(){return{onExitCapture:le,onExitAfterFailure:se,onUserCancel:de,onModelError:ue,loadingOverlayMode:U,timeoutDurationMs:$,modelLoadTimeoutMs:te,skipSuccessScreen:W,assets:Ce.faceLiveness,classNames:Re.faceLiveness,colors:Ie.faceLiveness,verbiage:we.faceLiveness,debugMode:Oe}}),[Ce.faceLiveness,Re.faceLiveness,Ie.faceLiveness,Oe,U,$,se,le,ue,de,te,W,we.faceLiveness]),Le=React.useMemo((function(){return{documents:ve,classNames:Re.additionalDocumentCapture,verbiage:we.additionalDocumentCapture}}),[ve,Re.additionalDocumentCapture,we.additionalDocumentCapture]),Be=React.useMemo((function(){return{classNames:Re.signatureCapture,verbiage:we.signatureCapture}}),[Re.signatureCapture,we.signatureCapture]),Fe=React.useMemo((function(){return{onExitCapture:le,onUserCancel:de,skipSuccessScreen:W,classNames:Re.videoSignatureCapture,colors:Ie.videoSignatureCapture,verbiage:we.videoSignatureCapture,debugMode:Oe}}),[Re.videoSignatureCapture,Ie.videoSignatureCapture,Oe,le,de,W,we.videoSignatureCapture]),Pe=React.useCallback((function(e,t){null==re||re(e,t),"Customer Onboarded"===e.resultData.verificationResult?null==ie||ie(e,t):null==oe||oe(e,t)}),[ie,re,oe]);return React__default.default.createElement(ThemeProvider,{theme:_e},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.ENROLL,url:r,token:n,companyId:i,enrollmentId:t,needImmediateResponse:o,manualReviewRequired:l,idBackImageRequired:s,idImageResolutionCheck:d,verifyIdWithExternalDatabases:c,bypassAgeValidation:u,bypassNameMatching:m,personalData:f,cardData:p,deduplicationEnabled:g,deduplicationSynchronous:h,webhooksEnabled:v,webhooksClientTraceId:b,webhooksStripSpecialCharacters:_,webhooksSendInputImages:y,webhooksSendProcessedImages:C,webhooksFireOnReview:x,onBeforeSubmit:ae,onSubmit:ne,onResponseReceived:Pe,geolocationEnabled:Se,geolocationRequired:ke},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:je,faceLivenessProps:Ae,additionalDocumentCaptureProps:Le,signatureCaptureProps:Be,videoSignatureCaptureProps:Fe,captureSignature:fe,captureSignatureVideo:ge,debugMode:Oe})))},ALLOWED_RETRIES$3=0,initialState$1={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,unverifiedTimes:0},reducer$1=function(e,t){switch(t.type){case"verificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?tslib.__assign(tslib.__assign({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return tslib.__assign(tslib.__assign({},e),{requestState:"VERIFYING",imageUrl:t.payload.imageUrl});case"verificationCompleted":var a=t.payload.response,n=a.status,r=n.statusMessage,i=n.errorData,o=a.resultData;if("000"!==n.statusCode)return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:new Error("".concat(r,": ").concat(i))});var l=e.requestState,s=e.unverifiedTimes;return"00"===o.verificationResultCode?l="VERIFIED":s<ALLOWED_RETRIES$3?(l="CAPTURING",s+=1):l="REJECTED",tslib.__assign(tslib.__assign({},e),{requestState:l,unverifiedTimes:s});case"verificationFailed":return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},CustomerVerificationCapture=function(e){var t,a,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,o=e.onExit,l=e.captureGuidanceTimeoutDurationMs,s=e.classNames,d=void 0===s?{}:s,c=e.colors,u=void 0===c?{}:c,m=e.verbiage,f=void 0===m?{}:m,p=e.debugMode,g=void 0!==p&&p,h=React.useReducer(reducer$1,initialState$1),v=h[0],b=h[1],_=v.frame,y=v.face,C=React.useContext(SubmissionContext),x=C.submit,R=C.submissionRequest,E=C.submissionResponse,I=C.submissionError,T=C.selfieImage,w=C.setSelfieImage,M=React.useState(null),S=M[0],D=M[1],k=React.useRef(null),N=React.useRef(null),O=React.useCallback((function(e,t){b({type:"verificationReady",payload:{frame:e,face:t}})}),[]),j="CAPTURED"===v.requestState;React.useEffect((function(){if(_&&y&&!I){var e=cropToShoulders(k.current,N.current,_,y);D(e),dataUrlToBase64(e).then((function(e){w(e)}))}}),[y,_,w,I]),React.useEffect((function(){j&&T&&!I&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),b({type:"verifying",payload:{imageUrl:T}}),[4,x()];case 1:if(!(e=a.sent()))throw new Error("submission failed!");return b({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=a.sent(),b({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[j,n,r,T,v.requestState,I,x]),React.useEffect((function(){R&&E&&("VERIFIED"===v.requestState?null==n||n(E,R):"REJECTED"===v.requestState&&(null==r||r(E,R)))}),[n,r,v.requestState,R,E]),useTimeout(l,i,["VERIFIED","REJECTED"].includes(v.requestState),"VERIFYING"===v.requestState);var A=useVerbiage(f.progressPreviewText,"Processing..."),L=styled.useTheme();return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(InvisibleCanvas,{ref:k}),React__default.default.createElement(InvisibleCanvas,{ref:N}),React__default.default.createElement(SelfieCapture,{onSelfieCaptured:O,onExit:o,timeoutDurationMs:l,classNames:d,colors:u,verbiage:f,debugMode:g}),!(null===(a=null===(t=L.selfieCapture)||void 0===t?void 0:t.capturePreview)||void 0===a?void 0:a.disabled)&&S&&React__default.default.createElement(SelfieProgressPreview,{imageUrl:S,text:A,classNames:d.imagePreview}))},CustomerVerificationSuccess=function(e){var t=e.imageUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s;t||(t="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"));var c=useTranslations(d,{headingText:"Customer has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(Heading$3,{className:i.heading},c.headingText),React__default.default.createElement(ImageContainer$3,{className:i.imageContainer},React__default.default.createElement("img",{alt:c.headingText,src:t,className:i.image})),React__default.default.createElement(StyledButtonsRow$3,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:i.retryBtn,onClick:n,colors:l.retryBtn,finished:!0},c.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:i.doneBtn,onClick:a,colors:l.doneBtn,finished:!0},c.doneBtnText))))},Heading$3=styled__default.default.h3(templateObject_1$3||(templateObject_1$3=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer$3=styled__default.default(ButtonsRow)(templateObject_2$3||(templateObject_2$3=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow$3=styled__default.default(ButtonsRow)(templateObject_3$3||(templateObject_3$3=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),CustomerVerificationFailure=function(e){var t=e.canRetry,a=void 0===t||t,n=e.onRetryClick,r=e.onExitClick,i=e.assets,o=void 0===i?{}:i,l=e.classNames,s=void 0===l?{}:l,d=e.colors,c=void 0===d?{}:d,u=e.verbiage,m=void 0===u?{}:u;o.imageUrl||(o.imageUrl="".concat(DEFAULT_CDN_URL,"/manual_capture.png"));var f=useTranslations(m,{headingText:"Customer not verified",retryBtnText:"Retry",exitBtnText:"Exit"});return React__default.default.createElement(OverlayContainer,{className:s.container},React__default.default.createElement(OverlayInner$2,{className:s.inner},React__default.default.createElement(Heading$2,{className:s.heading},f.headingText),React__default.default.createElement(ImageContainer$2,{className:s.imageContainer},React__default.default.createElement("img",{alt:f.headingText,src:o.imageUrl,className:s.image})),React__default.default.createElement(StyledButtonsRow$2,{className:s.buttonsRow},a&&React__default.default.createElement(LoaderButton,{variant:"warning",className:s.retryBtn,onClick:n,colors:c.retryBtn,finished:!0},f.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"secondary",className:s.exitBtn,onClick:r,colors:c.exitBtn,finished:!0},f.exitBtnText))))},Heading$2=styled__default.default.h3(templateObject_1$2||(templateObject_1$2=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer$2=styled__default.default(ButtonsRow)(templateObject_2$2||(templateObject_2$2=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow$2=styled__default.default(ButtonsRow)(templateObject_3$2||(templateObject_3$2=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),ALLOWED_RETRIES$2=2,CustomerVerificationWizard=function(e){var t,a=e.onComplete,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onExitCapture,o=e.onExitAfterFailure,l=e.onUserCancel,s=e.onCaptureGuidanceTimeout,d=e.captureGuidanceTimeoutDurationMs,c=e.skipSuccessScreen,u=void 0!==c&&c,m=e.loadingOverlayMode,f=void 0===m?"default":m,p=e.assets,g=void 0===p?{}:p,h=e.classNames,v=void 0===h?{}:h,b=e.colors,_=void 0===b?{}:b,y=e.verbiage,C=void 0===y?{}:y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submissionRequest,T=E.submissionResponse,w=E.selfieImage,M=React.useState("LOADING"),S=M[0],D=M[1],k=React.useContext(CameraStateContext).releaseCameraAccess,N=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("MATCHED"),null==n||n(e,t),[2]}))}))}),[n]),O=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("NOT_MATCHED"),null==r||r(e,t),[2]}))}))}),[r]),j=React.useCallback((function(){D("FAILED"),null==s||s()}),[s]),A=React.useState(0),L=A[0],B=A[1],F=React.useCallback((function(){B((function(e){return e+1})),D("LOADING"),null==i||i()}),[i]),P=React.useCallback((function(){k(),I&&T&&(null==a||a(T,I))}),[a,k,I,T]),$=useShowSuccessScreen(u,"MATCHED"===S,P);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=v.container)&&void 0!==t?t:"")},React__default.default.createElement(CameraVideoTag,{className:v.cameraFeed}),"LOADING"!==S&&function(){switch(S){case"CAPTURING":return React__default.default.createElement(CustomerVerificationCapture,{key:"capture".concat(L),onCustomerMatched:N,onCustomerNotMatched:O,onCaptureGuidanceTimeout:j,onExit:F,captureGuidanceTimeoutDurationMs:d,classNames:v,colors:_,verbiage:C,debugMode:R});case"MATCHED":if(!$)return;return React__default.default.createElement(CustomerVerificationSuccess,{imageUrl:"data:image/png;base64, ".concat(w),classNames:v.success,colors:_.success,verbiage:C.success,onDoneClick:P,onRetryClick:function(){D("CAPTURING"),B(0)}});case"NOT_MATCHED":case"FAILED":return React__default.default.createElement(CustomerVerificationFailure,{assets:g.failure,classNames:v.failure,colors:_.failure,verbiage:C.failure,canRetry:L<ALLOWED_RETRIES$2,onExitClick:function(){k(),null==o||o()},onRetryClick:function(){B((function(e){return e+1}))}});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:L,mode:f,assets:g.loadingOverlay,classNames:v.loadingOverlay,colors:_.loadingOverlay,verbiage:C.loadingOverlay,onUserCancel:l,onDismissed:function(){D("CAPTURING")}}))},CustomerVerification=function(e){var t=e.lang,a=e.enrollmentId,n=e.submissionToken,r=e.submissionUrl,i=e.companyId,o=e.needImmediateResponse,l=e.webhooksEnabled,s=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,c=e.webhooksSendInputImages,u=e.webhooksSendProcessedImages,m=e.loadingOverlayMode,f=void 0===m?"default":m,p=e.timeoutDurationMs,g=void 0===p?15e3:p,h=e.modelLoadTimeoutMs,v=void 0===h?defaultSelfieCaptureModelLoadTimeoutMs:h,b=e.skipSuccessScreen,_=void 0!==b&&b,y=e.theme,C=void 0===y?"default":y,x=e.assets,R=e.classNames,E=e.colors,I=e.verbiage,T=e.onBeforeSubmit,w=e.onSubmit,M=e.onComplete,S=e.onCustomerMatched,D=e.onCustomerNotMatched,k=e.onExitCapture,N=e.onExitAfterFailure,O=e.onUserCancel,j=e.onModelError,A=e.geolocationEnabled,L=void 0===A||A,B=e.geolocationRequired,F=void 0!==B&&B,P=e.debugMode,$=void 0!==P&&P;return useLanguage(void 0===t?"auto":t),React__default.default.createElement(ThemeProvider,{theme:C},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.VERIFY,url:r,token:n,companyId:i,enrollmentId:a,needImmediateResponse:o,webhooksEnabled:l,webhooksClientTraceId:s,webhooksStripSpecialCharacters:d,webhooksSendInputImages:c,webhooksSendProcessedImages:u,onBeforeSubmit:T,onSubmit:w,geolocationEnabled:L,geolocationRequired:F},React__default.default.createElement(CameraProvider,{preferFrontFacingCamera:!0,debugMode:$},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{onModelError:j,modelLoadTimeoutMs:v},React__default.default.createElement(CustomerVerificationWizard,{onComplete:M,onCustomerMatched:S,onCustomerNotMatched:D,onExitCapture:k,onExitAfterFailure:N,onUserCancel:O,captureGuidanceTimeoutDurationMs:g,loadingOverlayMode:f,skipSuccessScreen:_,assets:x,classNames:R,colors:E,verbiage:I,debugMode:$})))))},ALLOWED_RETRIES$1=0,initialState={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,notFoundTimes:0},reducer=function(e,t){switch(t.type){case"identificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?tslib.__assign(tslib.__assign({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return tslib.__assign(tslib.__assign({},e),{requestState:"IDENTIFYING",imageUrl:t.payload.imageUrl});case"identificationCompleted":var a=t.payload.response,n=a.status,r=n.statusMessage,i=n.errorData,o=a.resultData;if("000"!==n.statusCode)return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:new Error("".concat(r,": ").concat(i))});var l=e.requestState,s=e.notFoundTimes;return"46"===o.verificationResultCode?l="FOUND":s<ALLOWED_RETRIES$1?(l="CAPTURING",s+=1):l="NOT_FOUND",tslib.__assign(tslib.__assign({},e),{requestState:l,notFoundTimes:s});case"identificationFailed":return tslib.__assign(tslib.__assign({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},CustomerIdentificationCapture=function(e){var t,a,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,o=e.onExit,l=e.captureGuidanceTimeoutDurationMs,s=e.classNames,d=void 0===s?{}:s,c=e.colors,u=void 0===c?{}:c,m=e.verbiage,f=void 0===m?{}:m,p=e.debugMode,g=void 0!==p&&p,h=React.useReducer(reducer,initialState),v=h[0],b=h[1],_=React.useContext(SubmissionContext),y=_.submit,C=_.submissionRequest,x=_.submissionResponse,R=_.submissionError,E=_.selfieImage,I=_.setSelfieImage,T=React.useState(null),w=T[0],M=T[1],S=React.useRef(null),D=React.useRef(null),k=React.useCallback((function(e,t){b({type:"identificationReady",payload:{frame:e,face:t}})}),[]),N=v.frame,O=v.face,j="CAPTURED"===v.requestState;React.useEffect((function(){if(N&&O&&!R){var e=cropToShoulders(S.current,D.current,N,O);M(e),dataUrlToBase64(e).then((function(e){I(e)}))}}),[O,N,I,R]),React.useEffect((function(){j&&E&&!R&&tslib.__awaiter(void 0,void 0,void 0,(function(){var e,t;return tslib.__generator(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),b({type:"identifying",payload:{imageUrl:E}}),[4,y()];case 1:if(!(e=a.sent()))throw new Error("submission failed!");return b({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=a.sent(),b({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[j,n,r,E,v.requestState,R,y]),React.useEffect((function(){C&&x&&("FOUND"===v.requestState?null==n||n(x,C):"NOT_FOUND"===v.requestState&&(null==r||r(x,C)))}),[n,r,v.requestState,C,x]),useTimeout(l,i,["FOUND","NOT_FOUND"].includes(v.requestState),"IDENTIFYING"===v.requestState);var A=useVerbiage(f.progressPreviewText,"Processing..."),L=styled.useTheme();return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(InvisibleCanvas,{ref:S}),React__default.default.createElement(InvisibleCanvas,{ref:D}),React__default.default.createElement(SelfieCapture,{onSelfieCaptured:k,onExit:o,timeoutDurationMs:l,classNames:d,colors:u,verbiage:f,debugMode:g}),!(null===(a=null===(t=L.selfieCapture)||void 0===t?void 0:t.capturePreview)||void 0===a?void 0:a.disabled)&&w&&React__default.default.createElement(SelfieProgressPreview,{text:A,imageUrl:w,classNames:d.imagePreview}))},CustomerIdentificationSuccess=function(e){var t=e.imageUrl,a=e.onDoneClick,n=e.onRetryClick,r=e.classNames,i=void 0===r?{}:r,o=e.colors,l=void 0===o?{}:o,s=e.verbiage,d=void 0===s?{}:s;t||(t="".concat(DEFAULT_CDN_URL,"/Selfie-Image-1.png"));var c=useTranslations(d,{headingText:"Customer has been identified!",retryBtnText:"Retry",doneBtnText:"Done"});return React__default.default.createElement(OverlayContainer,{className:i.container},React__default.default.createElement(OverlayInner$2,{className:i.inner},React__default.default.createElement(Heading$1,{className:i.heading},c.headingText),React__default.default.createElement(ImageContainer$1,{className:i.imageContainer},React__default.default.createElement("img",{alt:c.headingText,src:t,className:i.image})),React__default.default.createElement(StyledButtonsRow$1,{className:i.buttonsRow},React__default.default.createElement(LoaderButton,{variant:"warning",className:i.retryBtn,onClick:n,colors:l.retryBtn,finished:!0},c.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"positive",className:i.doneBtn,onClick:a,colors:l.doneBtn,finished:!0},c.doneBtnText))))},Heading$1=styled__default.default.h3(templateObject_1$1||(templateObject_1$1=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer$1=styled__default.default(ButtonsRow)(templateObject_2$1||(templateObject_2$1=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow$1=styled__default.default(ButtonsRow)(templateObject_3$1||(templateObject_3$1=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),CustomerIdentificationFailure=function(e){var t=e.canRetry,a=void 0===t||t,n=e.onRetryClick,r=e.onExitClick,i=e.assets,o=void 0===i?{}:i,l=e.classNames,s=void 0===l?{}:l,d=e.colors,c=void 0===d?{}:d,u=e.verbiage,m=void 0===u?{}:u;o.imageUrl||(o.imageUrl="".concat(DEFAULT_CDN_URL,"/manual_capture.png"));var f=useTranslations(m,{headingText:"Customer not found",retryBtnText:"Retry",exitBtnText:"Exit"});return React__default.default.createElement(OverlayContainer,{className:s.container},React__default.default.createElement(OverlayInner$2,{className:s.inner},React__default.default.createElement(Heading,{className:s.heading},f.headingText),React__default.default.createElement(ImageContainer,{className:s.imageContainer},React__default.default.createElement("img",{alt:f.headingText,src:o.imageUrl,className:s.image})),React__default.default.createElement(StyledButtonsRow,{className:s.buttonsRow},a&&React__default.default.createElement(LoaderButton,{variant:"warning",className:s.retryBtn,onClick:n,colors:c.retryBtn,finished:!0},f.retryBtnText),React__default.default.createElement(LoaderButton,{variant:"secondary",className:s.exitBtn,onClick:r,colors:c.exitBtn,finished:!0},f.exitBtnText))))},Heading=styled__default.default.h3(templateObject_1||(templateObject_1=tslib.__makeTemplateObject(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"]))),ImageContainer=styled__default.default(ButtonsRow)(templateObject_2||(templateObject_2=tslib.__makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"],["\n max-height: calc(100vh - 185px);\n"]))),StyledButtonsRow=styled__default.default(ButtonsRow)(templateObject_3||(templateObject_3=tslib.__makeTemplateObject(["\n margin-top: 24px;\n"],["\n margin-top: 24px;\n"]))),ALLOWED_RETRIES=2,CustomerIdentificationWizard=function(e){var t,a=e.onComplete,n=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onExitCapture,o=e.onExitAfterFailure,l=e.onUserCancel,s=e.onCaptureGuidanceTimeout,d=e.captureGuidanceTimeoutDurationMs,c=e.skipSuccessScreen,u=void 0!==c&&c,m=e.loadingOverlayMode,f=void 0===m?"default":m,p=e.assets,g=void 0===p?{}:p,h=e.classNames,v=void 0===h?{}:h,b=e.colors,_=void 0===b?{}:b,y=e.verbiage,C=void 0===y?{}:y,x=e.debugMode,R=void 0!==x&&x,E=React.useContext(SubmissionContext),I=E.submissionResponse,T=E.submissionRequest,w=E.selfieImage,M=React.useState("LOADING"),S=M[0],D=M[1],k=React.useContext(CameraStateContext).releaseCameraAccess,N=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("FOUND"),null==n||n(e,t),[2]}))}))}),[n]),O=React.useCallback((function(e,t){return tslib.__awaiter(void 0,void 0,void 0,(function(){return tslib.__generator(this,(function(a){return D("NOT_FOUND"),null==r||r(e,t),[2]}))}))}),[r]),j=React.useCallback((function(){D("FAILED"),null==s||s()}),[s]),A=React.useState(0),L=A[0],B=A[1],F=React.useCallback((function(){B((function(e){return e+1})),D("LOADING"),null==i||i()}),[i]),P=React.useCallback((function(){k(),T&&I&&(null==a||a(I,T))}),[a,k,T,I]),$=useShowSuccessScreen(u,"FOUND"===S,P);return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PageContainer,{className:"flex ".concat(null!==(t=v.container)&&void 0!==t?t:"")},React__default.default.createElement(CameraVideoTag,{className:v.cameraFeed}),"LOADING"!==S&&function(){switch(S){case"CAPTURING":return React__default.default.createElement(CustomerIdentificationCapture,{key:"capture".concat(L),onCustomerMatched:N,onCustomerNotMatched:O,onCaptureGuidanceTimeout:j,onExit:F,captureGuidanceTimeoutDurationMs:d,classNames:v,colors:_,verbiage:C,debugMode:R});case"FOUND":if(!$)return;return React__default.default.createElement(CustomerIdentificationSuccess,{imageUrl:"data:image/png;base64, ".concat(w),classNames:v.success,colors:_.success,verbiage:C.success,onDoneClick:P,onRetryClick:function(){D("CAPTURING"),B(0)}});case"NOT_FOUND":case"FAILED":return React__default.default.createElement(CustomerIdentificationFailure,{assets:g.failure,classNames:v.failure,colors:_.failure,verbiage:C.failure,canRetry:L<ALLOWED_RETRIES,onExitClick:function(){k(),null==o||o()},onRetryClick:function(){B((function(e){return e+1}))}});default:return null}}()),React__default.default.createElement(SelfieCaptureLoadingOverlay,{key:L,mode:f,assets:g.loadingOverlay,classNames:v.loadingOverlay,colors:_.loadingOverlay,verbiage:C.loadingOverlay,onUserCancel:l,onDismissed:function(){D("CAPTURING")}}))},CustomerIdentification=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.webhooksEnabled,l=e.webhooksClientTraceId,s=e.webhooksStripSpecialCharacters,d=e.webhooksSendInputImages,c=e.webhooksSendProcessedImages,u=e.loadingOverlayMode,m=void 0===u?"default":u,f=e.timeoutDurationMs,p=void 0===f?15e3:f,g=e.modelLoadTimeoutMs,h=void 0===g?defaultSelfieCaptureModelLoadTimeoutMs:g,v=e.skipSuccessScreen,b=void 0!==v&&v,_=e.onBeforeSubmit,y=e.onSubmit,C=e.onComplete,x=e.onCustomerMatched,R=e.onCustomerNotMatched,E=e.onCaptureGuidanceTimeout,I=e.onExitCapture,T=e.onExitAfterFailure,w=e.onUserCancel,M=e.onModelError,S=e.theme,D=void 0===S?"default":S,k=e.assets,N=e.classNames,O=e.colors,j=e.verbiage,A=e.geolocationEnabled,L=e.geolocationRequired,B=void 0!==L&&L,F=e.debugMode,P=void 0!==F&&F;return useLanguage(void 0===t?"auto":t),React__default.default.createElement(ThemeProvider,{theme:D},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.IDENTIFY,url:n,token:a,companyId:r,needImmediateResponse:i,webhooksEnabled:o,webhooksClientTraceId:l,webhooksStripSpecialCharacters:s,webhooksSendInputImages:d,webhooksSendProcessedImages:c,onBeforeSubmit:_,onSubmit:y,geolocationEnabled:A,geolocationRequired:B},React__default.default.createElement(CameraProvider,{preferFrontFacingCamera:!0,debugMode:P},React__default.default.createElement(HighPerformanceSelfieGuidanceModelsProvider,{modelLoadTimeoutMs:h,onModelError:M},React__default.default.createElement(CustomerIdentificationWizard,{onComplete:C,onCustomerMatched:x,onCustomerNotMatched:R,onExitCapture:I,onExitAfterFailure:T,onUserCancel:w,onCaptureGuidanceTimeout:E,captureGuidanceTimeoutDurationMs:p,loadingOverlayMode:m,skipSuccessScreen:b,assets:k,classNames:N,colors:O,verbiage:j,debugMode:P})))))},SignatureKYC=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.onBeforeSubmit,i=e.onSubmit,o=e.onComplete,l=e.onUserCancel,s=e.onModelError,d=e.loadingOverlayMode,c=void 0===d?"default":d,u=e.skipSuccessScreen,m=void 0!==u&&u,f=e.modelLoadTimeoutMs,p=void 0===f?defaultSelfieCaptureModelLoadTimeoutMs:f,g=e.theme,h=void 0===g?"default":g,v=e.classNames,b=e.colors,_=e.verbiage,y=e.geolocationEnabled,C=e.geolocationRequired,x=e.debugMode;useLanguage(void 0===t?"auto":t);var R=React.useState(0),E=R[1];return React__default.default.createElement(ThemeProvider,{theme:h},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.NONE,url:n,token:a,onBeforeSubmit:r,onSubmit:i,onResponseReceived:o,geolocationEnabled:y,geolocationRequired:C},React__default.default.createElement(CameraProvider,{key:R[0],preferContinuityCamera:!1,preferFrontFacingCamera:!0,debugMode:x},React__default.default.createElement(VideoSignatureWizard,{loadingOverlayMode:c,skipSuccessScreen:m,modelLoadTimeoutMs:p,classNames:v,colors:b,debugMode:x,verbiage:_,onModelError:s,onUserCancel:l,onRetryClicked:function(){E((function(e){return e+1}))}}))))},VideoIdValidation=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.companyId,i=e.needImmediateResponse,o=e.manualReviewRequired,l=e.idBackImageRequired,s=e.verifyIdWithExternalDatabases,d=e.bypassAgeValidation,c=e.bypassNameMatching,u=e.personalData,m=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,h=e.webhooksSendInputImages,v=e.webhooksSendProcessedImages,b=e.webhooksFireOnReview,_=e.onSubmit,y=e.onBeforeSubmit,C=e.onComplete,x=e.onExitCapture,R=e.onExitAfterFailure,E=e.onUserCancel,I=e.idCaptureProps,T=e.faceLivenessProps,w=e.idCaptureModelsEnabled,M=void 0===w||w,S=e.idCardFrontDetectionThreshold,D=void 0===S?.6:S,k=e.idCardFrontFocusThreshold,N=void 0===k?0:k,O=e.goodIdCardFrontFramesThreshold,j=void 0===O?1:O,A=e.idCardBackDetectionThreshold,L=void 0===A?.6:A,B=e.idCardBackFocusThreshold,F=void 0===B?0:B,P=e.goodIdCardBackFramesThreshold,$=void 0===P?1:P,z=e.readTextPrompt,U=e.readTextTimeoutDurationMs,G=void 0===U?15e3:U,W=e.skipSuccessScreen,V=void 0!==W&&W,H=e.skipIdCapture,q=void 0!==H&&H,Y=e.skipShowIdCardBack,Z=void 0!==Y&&Y,Q=e.idCaptureLoadingOverlayMode,X=void 0===Q?"default":Q,K=e.idCaptureGuideType,J=void 0===K?"fit":K,ee=e.idCapturePortraitGuidesOnMobile,te=void 0!==ee&&ee,ae=e.idCaptureRotateLoadingOverlayImageWhenPortrait,ne=void 0===ae||ae,re=e.faceLivenessLoadingOverlayMode,ie=void 0===re?"default":re,oe=e.theme,le=void 0===oe?"default":oe,se=e.assets,de=void 0===se?{}:se,ce=e.classNames,ue=void 0===ce?{}:ce,me=e.colors,fe=void 0===me?{}:me,pe=e.verbiage,ge=void 0===pe?{}:pe,he=e.captureSignature,ve=void 0!==he&&he,be=e.captureSignatureVideo,_e=void 0!==be&&be,ye=e.captureAdditionalDocuments,Ce=void 0===ye?[]:ye,xe=e.geolocationEnabled,Re=void 0===xe||xe,Ee=e.geolocationRequired,Ie=void 0!==Ee&&Ee,Te=e.debugMode,we=void 0!==Te&&Te;useLanguage(void 0===t?"auto":t);var Me=React.useMemo((function(){return{idCaptureProps:I,faceLivenessProps:T,idCaptureModelsEnabled:M,idCardFrontDetectionThreshold:D,idCardFrontFocusThreshold:N,goodIdCardFrontFramesThreshold:j,idCardBackDetectionThreshold:L,idCardBackFocusThreshold:F,goodIdCardBackFramesThreshold:$,readTextPrompt:z,readTextTimeoutDurationMs:G,onExitCapture:x,onExitAfterFailure:R,onUserCancel:E,skipSuccessScreen:V,skipIdCapture:q,skipShowIdCardBack:Z,idCaptureLoadingOverlayMode:X,idCaptureGuideType:J,idCapturePortraitGuidesOnMobile:te,idCaptureRotateLoadingOverlayImageWhenPortrait:ne,faceLivenessLoadingOverlayMode:ie,assets:de,classNames:ue,colors:fe,verbiage:ge,debugMode:we}}),[de,ue,fe,we,ie,T,$,j,J,X,M,te,I,ne,L,F,D,N,R,x,E,z,G,q,Z,V,ge]),Se=React.useMemo((function(){return{documents:Ce,classNames:ue.additionalDocumentCapture,verbiage:ge.additionalDocumentCapture}}),[Ce,ue.additionalDocumentCapture,ge.additionalDocumentCapture]),De=React.useMemo((function(){return{classNames:ue.signatureCapture,verbiage:ge.signatureCapture}}),[ue.signatureCapture,ge.signatureCapture]),ke=React.useMemo((function(){return{onExitCapture:x,onUserCancel:E,skipSuccessScreen:V,classNames:ue.videoSignatureCapture,colors:fe.videoSignatureCapture,verbiage:ge.videoSignatureCapture,debugMode:we}}),[ue.videoSignatureCapture,fe.videoSignatureCapture,we,x,E,V,ge.videoSignatureCapture]);return React__default.default.createElement(ThemeProvider,{theme:le},React__default.default.createElement(SubmissionProvider,{action:q?SubmissionAction.NONE:SubmissionAction.VALIDATE,url:n,token:a,companyId:r,needImmediateResponse:i,manualReviewRequired:o,idBackImageRequired:l,verifyIdWithExternalDatabases:s,bypassAgeValidation:d,bypassNameMatching:c,personalData:u,cardData:m,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,webhooksSendInputImages:h,webhooksSendProcessedImages:v,webhooksFireOnReview:b,onSubmit:_,onBeforeSubmit:y,onResponseReceived:C,geolocationEnabled:Re,geolocationRequired:Ie},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["VideoIdCapture"]}),[]),videoIdCaptureProps:Me,additionalDocumentCaptureProps:Se,signatureCaptureProps:De,videoSignatureCaptureProps:ke,captureSignature:ve,captureSignatureVideo:_e,debugMode:we})))},CustomerBiometricsEnrollment=function(e){var t=e.enrollmentId,a=e.lang,n=e.submissionToken,r=e.submissionUrl,i=e.companyId,o=e.needImmediateResponse,l=e.deduplicationEnabled,s=e.deduplicationSynchronous,d=e.webhooksEnabled,c=e.webhooksClientTraceId,u=e.webhooksStripSpecialCharacters,m=e.webhooksSendInputImages,f=e.webhooksSendProcessedImages,p=e.loadingOverlayMode,g=void 0===p?"default":p,h=e.timeoutDurationMs,v=void 0===h?15e3:h,b=e.modelLoadTimeoutMs,_=void 0===b?defaultSelfieCaptureModelLoadTimeoutMs:b,y=e.skipSuccessScreen,C=void 0!==y&&y,x=e.onBeforeSubmit,R=e.onSubmit,E=e.onComplete,I=e.onEnrolled,T=e.onDenied,w=e.onExitCapture,M=e.onExitAfterFailure,S=e.onUserCancel,D=e.onModelError,k=e.captureAdditionalDocuments,N=void 0===k?[]:k,O=e.captureSignature,j=void 0!==O&&O,A=e.captureSignatureVideo,L=void 0!==A&&A,B=e.theme,F=void 0===B?"default":B,P=e.assets,$=void 0===P?{}:P,z=e.classNames,U=void 0===z?{}:z,G=e.colors,W=void 0===G?{}:G,V=e.verbiage,H=void 0===V?{}:V,q=e.geolocationEnabled,Y=void 0===q||q,Z=e.geolocationRequired,Q=void 0!==Z&&Z,X=e.debugMode,K=void 0!==X&&X;useLanguage(void 0===a?"auto":a);var J=React.useMemo((function(){return{onExitCapture:w,onUserCancel:S,onExitAfterFailure:M,onModelError:D,timeoutDurationMs:v,modelLoadTimeoutMs:_,loadingOverlayMode:g,skipSuccessScreen:C,assets:$.faceLiveness,classNames:U.faceLiveness,colors:W.faceLiveness,verbiage:H.faceLiveness,debugMode:K}}),[$.faceLiveness,U.faceLiveness,W.faceLiveness,K,g,_,M,w,D,S,C,v,H.faceLiveness]),ee=React.useMemo((function(){return{documents:N,classNames:U.additionalDocumentCapture,verbiage:H.additionalDocumentCapture}}),[N,U.additionalDocumentCapture,H.additionalDocumentCapture]),te=React.useMemo((function(){return{classNames:U.signatureCapture,verbiage:H.signatureCapture}}),[U.signatureCapture,H.signatureCapture]),ae=React.useMemo((function(){return{onExitCapture:w,onUserCancel:S,skipSuccessScreen:C,classNames:U.videoSignatureCapture,colors:W.videoSignatureCapture,verbiage:H.videoSignatureCapture,debugMode:K}}),[U.videoSignatureCapture,W.videoSignatureCapture,K,w,S,C,H.videoSignatureCapture]),ne=React.useCallback((function(e,t){null==E||E(e,t),"Customer Onboarded"===e.resultData.verificationResult?null==I||I(e,t):null==T||T(e,t)}),[I,E,T]);return React__default.default.createElement(ThemeProvider,{theme:F},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.ENROLL,url:r,token:n,companyId:i,enrollmentId:t,needImmediateResponse:o,deduplicationEnabled:l,deduplicationSynchronous:s,webhooksEnabled:d,webhooksClientTraceId:c,webhooksStripSpecialCharacters:u,webhooksSendInputImages:m,webhooksSendProcessedImages:f,onBeforeSubmit:x,onSubmit:R,onResponseReceived:ne,geolocationEnabled:Y,geolocationRequired:Q},React__default.default.createElement(CompositeWizardComponent,{checks:React.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:J,additionalDocumentCaptureProps:ee,signatureCaptureProps:te,videoSignatureCaptureProps:ae,captureSignature:j,captureSignatureVideo:L,debugMode:K})))},DocumentCapture=function(e){var t=e.lang,a=e.submissionToken,n=e.submissionUrl,r=e.documentServiceUrl,i=e.onComplete,o=e.onDocumentUploaded,l=e.onExitCapture,s=e.onUserCancel,d=e.documents,c=void 0===d?[]:d,u=e.aspectRatio,m=e.cameraFeedMode,f=e.instructions,p=e.theme,g=void 0===p?"default":p,h=e.classNames,v=void 0===h?{}:h,b=e.verbiage,_=void 0===b?{}:b,y=e.geolocationEnabled,C=void 0===y||y,x=e.geolocationRequired,R=void 0!==x&&x,E=e.debugMode,I=void 0!==E&&E;return useLanguage(void 0===t?"auto":t),React__default.default.createElement(ThemeProvider,{theme:g},React__default.default.createElement(SubmissionProvider,{action:SubmissionAction.NONE,url:n,token:a,documentServiceUrl:r,geolocationEnabled:C,geolocationRequired:R},React__default.default.createElement(CameraProvider,{preferContinuityCamera:!0,debugMode:I},React__default.default.createElement(DocumentCaptureWizard,{onSuccess:i,onDocumentUploaded:o,onExitCapture:l,onUserCancel:s,documents:c,aspectRatio:u,cameraFeedMode:m,instructions:f,classNames:v,verbiage:_}))))};function renderElement(e,t){if("string"==typeof t){var a=document.querySelector(t);if(!a)throw new Error("targetElement ".concat(t," not found"));t=a}else t||(t=document.createElement("div"),document.body.append(t));var n=ReactDOM__namespace.createRoot(t);if(n.render(React__default.default.createElement(OverlayContainer,null,e)),"remove"in t){var r=t.remove;t.remove=function(){try{n.unmount(),r()}catch(e){}}}return t}function renderComponent(e,t,a){return a||(a=t,t=void 0),renderElement(React__default.default.createElement(e,tslib.__assign({},a)),t)}initializeI18n();var renderIdValidation=function(e,t){return renderComponent(IdValidation,e,t)},renderFaceValidation=function(e,t){return renderComponent(FaceValidation,e,t)},renderIdAndFaceValidation=function(e,t){return renderComponent(IdAndFaceValidation,e,t)},renderCustomerIdAndBiometricsEnrollment=function(e,t){return renderComponent(CustomerIdAndBiometricsEnrollment,e,t)},renderCustomerBiometricsEnrollment=function(e,t){return renderComponent(CustomerBiometricsEnrollment,e,t)},renderCustomerVerification=function(e,t){return renderComponent(CustomerVerification,e,t)},renderCustomerIdentification=function(e,t){return renderComponent(CustomerIdentification,e,t)},renderSignatureKYC=function(e,t){return renderComponent(SignatureKYC,e,t)},renderVideoIdValidation=function(e,t){return renderComponent(VideoIdValidation,e,t)},renderDocumentCapture=function(e,t){return renderComponent(DocumentCapture,e,t)};globalThis.IDmissionSDK={renderIdValidation:renderIdValidation,renderFaceValidation:renderFaceValidation,renderIdAndFaceValidation:renderIdAndFaceValidation,renderCustomerIdAndBiometricsEnrollment:renderCustomerIdAndBiometricsEnrollment,renderCustomerBiometricsEnrollment:renderCustomerBiometricsEnrollment,renderCustomerVerification:renderCustomerVerification,renderCustomerIdentification:renderCustomerIdentification,renderSignatureKYC:renderSignatureKYC,renderVideoIdValidation:renderVideoIdValidation,renderDocumentCapture:renderDocumentCapture,preloadModels:preloadModels,themes:themes,version:webSdkVersion,ready:!0},exports.CapturedDocumentImg=CapturedDocumentImg,exports.CustomerBiometricsEnrollment=CustomerBiometricsEnrollment,exports.CustomerIdAndBiometricsEnrollment=CustomerIdAndBiometricsEnrollment,exports.CustomerIdentification=CustomerIdentification,exports.CustomerVerification=CustomerVerification,exports.DocumentCapture=DocumentCapture,exports.FaceValidation=FaceValidation,exports.IdAndFaceValidation=IdAndFaceValidation,exports.IdValidation=IdValidation,exports.SignatureKYC=SignatureKYC,exports.VideoIdValidation=VideoIdValidation,exports.preloadModels=preloadModels,exports.renderCustomerBiometricsEnrollment=renderCustomerBiometricsEnrollment,exports.renderCustomerIdAndBiometricsEnrollment=renderCustomerIdAndBiometricsEnrollment,exports.renderCustomerIdentification=renderCustomerIdentification,exports.renderCustomerVerification=renderCustomerVerification,exports.renderDocumentCapture=renderDocumentCapture,exports.renderFaceValidation=renderFaceValidation,exports.renderIdAndFaceValidation=renderIdAndFaceValidation,exports.renderIdValidation=renderIdValidation,exports.renderSignatureKYC=renderSignatureKYC,exports.renderVideoIdValidation=renderVideoIdValidation,exports.themes=themes;
2
2
  //# sourceMappingURL=sdk2.cjs.production.js.map