@tsocial/tvweb-sdk.tiki 5.7.8 → 5.7.9
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.
@@ -50,7 +50,7 @@ function(e){var t=r,n=t.lib,i=n.WordArray,a=n.Hasher,o=t.algo,s=i.create([0,1,2,
|
|
50
50
|
*
|
51
51
|
* Copyright © 2012-2016 Faisal Salman <fyzlman@gmail.com>
|
52
52
|
* Dual licensed under GPLv2 or MIT
|
53
|
-
*/!function(i,a){var o="function",s="undefined",c="object",u="model",l="name",d="type",f="vendor",p="version",h="architecture",g="console",m="mobile",y="tablet",v="smarttv",b="wearable",C={extend:function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:a},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},w={rgx:function(e,t){for(var r,n,i,s,u,l,d=0;d<t.length&&!u;){var f=t[d],p=t[d+1];for(r=n=0;r<f.length&&!u;)if(u=f[r++].exec(e))for(i=0;i<p.length;i++)l=u[++n],$g(s=p[i])===c&&s.length>0?2==s.length?$g(s[1])==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3==s.length?$g(s[1])!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):a:this[s[0]]=l?s[1].call(this,l,s[2]):a:4==s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):a):this[s]=l||a;d+=2}},str:function(e,t){for(var r in t)if($g(t[r])===c&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(C.has(t[r][n],e))return"?"===r?a:r}else if(C.has(t[r],e))return"?"===r?a:r;return e}},E={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}},k={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[l,p],[/(opios)[\/\s]+([\w\.]+)/i],[[l,"Opera Mini"],p],[/\s(opr)\/([\w\.]+)/i],[[l,"Opera"],p],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]*)/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark)\/([\w\.-]+)/i],[l,p],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[l,"IE"],p],[/(edge|edgios|edgea)\/((\d+)?[\w\.]+)/i],[[l,"Edge"],p],[/(yabrowser)\/([\w\.]+)/i],[[l,"Yandex"],p],[/(puffin)\/([\w\.]+)/i],[[l,"Puffin"],p],[/((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],[[l,"UCBrowser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],p],[/(micromessenger)\/([\w\.]+)/i],[[l,"WeChat"],p],[/(qqbrowserlite)\/([\w\.]+)/i],[l,p],[/(QQ)\/([\d\.]+)/i],[l,p],[/m?(qqbrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(BIDUBrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(2345Explorer)[\/\s]?([\w\.]+)/i],[l,p],[/(MetaSr)[\/\s]?([\w\.]+)/i],[l],[/(LBBROWSER)/i],[l],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[p,[l,"MIUI Browser"]],[/;fbav\/([\w\.]+);/i],[p,[l,"Facebook"]],[/headlesschrome(?:\/([\w\.]+)|\s)/i],[p,[l,"Chrome Headless"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[l,/(.+)/,"$1 WebView"],p],[/((?:oculus|samsung)browser)\/([\w\.]+)/i],[[l,/(.+(?:g|us))(.+)/,"$1 $2"],p],[/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],[p,[l,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i],[l,p],[/(dolfin)\/([\w\.]+)/i],[[l,"Dolphin"],p],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[l,"Chrome"],p],[/(coast)\/([\w\.]+)/i],[[l,"Opera Coast"],p],[/fxios\/([\w\.-]+)/i],[p,[l,"Firefox"]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[p,[l,"Mobile Safari"]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[p,l],[/webkit.+?(gsa)\/([\w\.]+).+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[[l,"GSA"],p],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[l,[p,w.str,E.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[l,p],[/(navigator|netscape)\/([\w\.-]+)/i],[[l,"Netscape"],p],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]*)/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[l,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[h,"amd64"]],[/(ia32(?=;))/i],[[h,C.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[h,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[h,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[h,/ower/,"",C.lowerize]],[/(sun4\w)[;\)]/i],[[h,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[h,C.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[u,f,[d,y]],[/applecoremedia\/[\w\.]+ \((ipad)/],[u,[f,"Apple"],[d,y]],[/(apple\s{0,1}tv)/i],[[u,"Apple TV"],[f,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[f,u,[d,y]],[/(kf[A-z]+)\sbuild\/.+silk\//i],[u,[f,"Amazon"],[d,y]],[/(sd|kf)[0349hijorstuw]+\sbuild\/.+silk\//i],[[u,w.str,E.device.amazon.model],[f,"Amazon"],[d,m]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[u,f,[d,m]],[/\((ip[honed|\s\w*]+);/i],[u,[f,"Apple"],[d,m]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[f,u,[d,m]],[/\(bb10;\s(\w+)/i],[u,[f,"BlackBerry"],[d,m]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone)/i],[u,[f,"Asus"],[d,y]],[/(sony)\s(tablet\s[ps])\sbuild\//i,/(sony)?(?:sgp.+)\sbuild\//i],[[f,"Sony"],[u,"Xperia Tablet"],[d,y]],[/android.+\s([c-g]\d{4}|so[-l]\w+)\sbuild\//i],[u,[f,"Sony"],[d,m]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[f,u,[d,g]],[/android.+;\s(shield)\sbuild/i],[u,[f,"Nvidia"],[d,g]],[/(playstation\s[34portablevi]+)/i],[u,[f,"Sony"],[d,g]],[/(sprint\s(\w+))/i],[[f,w.str,E.device.sprint.vendor],[u,w.str,E.device.sprint.model],[d,m]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[f,u,[d,y]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w*)/i,/(alcatel|geeksphone|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i],[f,[u,/_/g," "],[d,m]],[/(nexus\s9)/i],[u,[f,"HTC"],[d,y]],[/d\/huawei([\w\s-]+)[;\)]/i,/(nexus\s6p)/i],[u,[f,"Huawei"],[d,m]],[/(microsoft);\s(lumia[\s\w]+)/i],[f,u,[d,m]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[u,[f,"Microsoft"],[d,g]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[f,"Microsoft"],[d,m]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)[\w\s]+build\//i,/mot[\s-]?(\w*)/i,/(XT\d{3,4}) build\//i,/(nexus\s6)/i],[u,[f,"Motorola"],[d,m]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[u,[f,"Motorola"],[d,y]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[f,C.trim],[u,C.trim],[d,v]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[f,"Samsung"],[d,v]],[/\(dtv[\);].+(aquos)/i],[u,[f,"Sharp"],[d,v]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[f,"Samsung"],u,[d,y]],[/smart-tv.+(samsung)/i],[f,[d,v],u],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)/i,/sec-((sgh\w+))/i],[[f,"Samsung"],u,[d,m]],[/sie-(\w*)/i],[u,[f,"Siemens"],[d,m]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]*)/i],[[f,"Nokia"],u,[d,m]],[/android\s3\.[\s\w;-]{10}(a\d{3})/i],[u,[f,"Acer"],[d,y]],[/android.+([vl]k\-?\d{3})\s+build/i],[u,[f,"LG"],[d,y]],[/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[f,"LG"],u,[d,y]],[/(lg) netcast\.tv/i],[f,u,[d,v]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w*)/i,/android.+lg(\-?[\d\w]+)\s+build/i],[u,[f,"LG"],[d,m]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[u,[f,"Lenovo"],[d,y]],[/linux;.+((jolla));/i],[f,u,[d,m]],[/((pebble))app\/[\d\.]+\s/i],[f,u,[d,b]],[/android.+;\s(oppo)\s?([\w\s]+)\sbuild/i],[f,u,[d,m]],[/crkey/i],[[u,"Chromecast"],[f,"Google"]],[/android.+;\s(glass)\s\d/i],[u,[f,"Google"],[d,b]],[/android.+;\s(pixel c)\s/i],[u,[f,"Google"],[d,y]],[/android.+;\s(pixel xl|pixel)\s/i],[u,[f,"Google"],[d,m]],[/android.+;\s(\w+)\s+build\/hm\1/i,/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i,/android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d?\w?)[\s_]*(?:plus)?)\s+build/i,/android.+(redmi[\s\-_]*(?:note)?(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,m]],[/android.+(mi[\s\-_]*(?:pad)(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,y]],[/android.+;\s(m[1-5]\snote)\sbuild/i],[u,[f,"Meizu"],[d,y]],[/android.+a000(1)\s+build/i,/android.+oneplus\s(a\d{4})\s+build/i],[u,[f,"OnePlus"],[d,m]],[/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i],[u,[f,"RCA"],[d,y]],[/android.+[;\/\s]+(Venue[\d\s]{2,7})\s+build/i],[u,[f,"Dell"],[d,y]],[/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i],[u,[f,"Verizon"],[d,y]],[/android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i],[[f,"Barnes & Noble"],u,[d,y]],[/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i],[u,[f,"NuVision"],[d,y]],[/android.+;\s(k88)\sbuild/i],[u,[f,"ZTE"],[d,y]],[/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i],[u,[f,"Swiss"],[d,m]],[/android.+[;\/]\s*(zur\d{3})\s+build/i],[u,[f,"Swiss"],[d,y]],[/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i],[u,[f,"Zeki"],[d,y]],[/(android).+[;\/]\s+([YR]\d{2})\s+build/i,/android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i],[[f,"Dragon Touch"],u,[d,y]],[/android.+[;\/]\s*(NS-?\w{0,9})\sbuild/i],[u,[f,"Insignia"],[d,y]],[/android.+[;\/]\s*((NX|Next)-?\w{0,9})\s+build/i],[u,[f,"NextBook"],[d,y]],[/android.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i],[[f,"Voice"],u,[d,m]],[/android.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i],[[f,"LvTel"],u,[d,m]],[/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i],[u,[f,"Envizen"],[d,y]],[/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i],[u,[f,"MachSpeed"],[d,y]],[/android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*TU_(1491)\s+build/i],[u,[f,"Rotor"],[d,y]],[/android.+(KS(.+))\s+build/i],[u,[f,"Amazon"],[d,y]],[/android.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i],[f,u,[d,y]],[/\s(tablet|tab)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[d,C.lowerize],f,u],[/(android[\w\.\s\-]{0,9});.+build/i],[u,[f,"Generic"]]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[p,[l,"EdgeHTML"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[l,p],[/rv\:([\w\.]{1,9}).+(gecko)/i],[p,l]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[l,p],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[l,[p,w.str,E.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[l,"Windows"],[p,w.str,E.os.windows.version]],[/\((bb)(10);/i],[[l,"BlackBerry"],p],[/(blackberry)\w*\/?([\w\.]*)/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]*)/i,/linux;.+(sailfish);/i],[l,p],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]*)/i],[[l,"Symbian"],p],[/\((series40);/i],[l],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[l,"Firefox OS"],p],[/(nintendo|playstation)\s([wids34portablevu]+)/i,/(mint)[\/\s\(]?(\w*)/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]*)/i,/(hurd|linux)\s?([\w\.]*)/i,/(gnu)\s?([\w\.]*)/i],[l,p],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[l,"Chromium OS"],p],[/(sunos)\s?([\w\.\d]*)/i],[[l,"Solaris"],p],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]*)/i],[l,p],[/(haiku)\s(\w+)/i],[l,p],[/cfnetwork\/.+darwin/i,/ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i],[[p,/_/g,"."],[l,"iOS"]],[/(mac\sos\sx)\s?([\w\s\.]*)/i,/(macintosh|mac(?=_powerpc)\s)/i],[[l,"Mac OS"],[p,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]*)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]*)/i],[l,p]]},S=function e(t,r){if("object"==$g(t)&&(r=t,t=a),!(this instanceof e))return new e(t,r).getResult();var n=t||(i&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),o=r?C.extend(k,r):k;return this.getBrowser=function(){var e={name:a,version:a};return w.rgx.call(e,n,o.browser),e.major=C.major(e.version),e},this.getCPU=function(){var e={architecture:a};return w.rgx.call(e,n,o.cpu),e},this.getDevice=function(){var e={vendor:a,model:a,type:a};return w.rgx.call(e,n,o.device),e},this.getEngine=function(){var e={name:a,version:a};return w.rgx.call(e,n,o.engine),e},this.getOS=function(){var e={name:a,version:a};return w.rgx.call(e,n,o.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return n},this.setUA=function(e){return n=e,this},this};S.VERSION="0.7.18",S.BROWSER={NAME:l,MAJOR:"major",VERSION:p},S.CPU={ARCHITECTURE:h},S.DEVICE={MODEL:u,VENDOR:f,TYPE:d,CONSOLE:g,MOBILE:m,SMARTTV:v,TABLET:y,WEARABLE:b,EMBEDDED:"embedded"},S.ENGINE={NAME:l,VERSION:p},S.OS={NAME:l,VERSION:p},$g(t)!==s?($g(e)!==s&&e.exports&&(t=e.exports=S),t.UAParser=S):r(3)?(n=function(){return S}.call(t,r,t,e))===a||(e.exports=n):i&&(i.UAParser=S);var B=i&&(i.jQuery||i.Zepto);if($g(B)!==s){var T=new S;B.ua=T.getResult(),B.ua.get=function(){return T.getUA()},B.ua.set=function(e){T.setUA(e);var t=T.getResult();for(var r in t)B.ua[r]=t[r]}}}("object"==("undefined"==typeof window?"undefined":$g(window))?window:this)},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i=r(0),a=i.DEVICE_TYPES,o=i.defaultData,s=t.getNavigatorInstance=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},c=t.isIOS13Check=function(e){var t=s();return t&&t.platform&&(-1!==t.platform.indexOf(e)||"MacIntel"===t.platform&&t.maxTouchPoints>1&&!window.MSStream)};e.exports={checkType:function(e){switch(e){case a.MOBILE:return{isMobile:!0};case a.TABLET:return{isTablet:!0};case a.SMART_TV:return{isSmartTV:!0};case a.CONSOLE:return{isConsole:!0};case a.WEARABLE:return{isWearable:!0};case a.BROWSER:return{isBrowser:!0};default:return o}},broPayload:function(e,t,r,n,i){return{isBrowser:e,browserMajorVersion:t.major,browserFullVersion:t.version,browserName:t.name,engineName:r.name||!1,engineVersion:r.version,osName:n.name,osVersion:n.version,userAgent:i}},mobilePayload:function(e,t,r,i){return n({},e,{vendor:t.vendor,model:t.model,os:r.name,osVersion:r.version,ua:i})},stvPayload:function(e,t,r,n){return{isSmartTV:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},consolePayload:function(e,t,r,n){return{isConsole:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},wearPayload:function(e,t,r,n){return{isWearable:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},getNavigatorInstance:s,isIOS13Check:c}}])})),QD=RD(GD),WD=Object.freeze(Object.assign(Object.create(null),GD,{default:QD}));function XD(){return"function"==typeof navigator.enumerateDevices?navigator.enumerateDevices():"object"===vD(navigator.mediaDevices)&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():new Promise((function(e,t){try{if(null==window.MediaStreamTrack||null==window.MediaStreamTrack.getSources)throw new Error;window.MediaStreamTrack.getSources((function(t){e(t.filter((function(e){return"video"===e.kind.toLowerCase()||"videoinput"===e.kind.toLowerCase()})).map((function(e){return{deviceId:null!=e.deviceId?e.deviceId:"",groupId:e.groupId,kind:"videoinput",label:e.label,toJSON:function(){return this}}})))}))}catch(e){return t(e)}}))}var YD=oC.Errors,$D=eC.div(OD||(OD=TD(["\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #000;\n display: flex;\n justify-content: center;\n z-index: ",";\n ","\n"])),1e3,(function(e){return e.checkCameraMode&&"opacity: 0;"})),ZD=eC.video(LD||(LD=TD(["\n width: 100%;\n ","\n"])),(function(e){return e.flipHorizontal&&"\n transform: scaleX(-1);\n "})),JD=eC.div(DD||(DD=TD(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),eU=eC(JD)(UD||(UD=TD(["\n z-index: ",";\n position: absolute;\n top: 20px;\n right: 20px;\n width: 20px;\n"])),1100),tU=eC.div(MD||(MD=TD(["\n z-index: ",";\n position: absolute;\n top: 40px;\n color: red;\n"])),1020),rU=eC.div(VD||(VD=TD(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: ",";\n"])),1030),nU=eC.section(jD||(jD=TD(["\n width: 260px;\n margin: 1.25rem;\n padding: 0.625rem 1.875rem;\n background: #ffffff;\n border-radius: 0.3125rem;\n box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.15);\n"]))),iU=eC.header(FD||(FD=TD(["\n text-align: center;\n padding: 0.625rem 0;\n border-bottom: 1px solid #dddddd;\n"]))),aU=eC.h2(zD||(zD=TD(["\n margin: 0.25rem auto;\n padding: 0;\n font-weight: 600;\n font-size: 1.2rem;\n"]))),oU=eC.p(KD||(KD=TD(["\n padding: 0 0 0.3125rem;\n margin: 0.25rem auto;\n font-size: 0.8rem;\n"]))),sU=eC.ul(qD||(qD=TD(["\n list-style: none;\n padding: 0;\n"]))),cU=eC.li(HD||(HD=TD(["\n padding: 0.625rem 0 0.9375rem;\n margin: 0;\n text-align: left;\n width: 100%;\n cursor: pointer;\n font-size: 0.82rem;\n transition: all 550ms ease-in-out;\n\n &:hover {\n opacity: 0.8;\n }\n"]))),uU=oy.createRef(),lU=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)return navigator.mediaDevices;var e=navigator.mozGetUserMedia||navigator.webkitGetUserMedia;return e?{getUserMedia:function(t){return new Promise((function(r,n){e.call(navigator,t,r,n)}))}}:null}();function dU(e){var t=e.checkCameraMode,r=e.frontCamera,n=e.onClose,i=e.children,a=e.onVideoPlayed,o=e.flipHorizontal,s=e.videoSettings,c=e.refVideo,u=e.onError,l=e.closeButton,d=e.videoClassName,f=lk.useSDKSettings().lang,p=zk.useSDKTracking().sendEvent,h=Hk.useAsset("ic_close.png"),g=AD(oy.useState(""),2),m=g[0],y=g[1],v=AD(oy.useState([]),2),b=v[0],C=v[1],w=AD(oy.useState(!1),2),E=w[0],k=w[1],S=oy.useRef(!1),B=oy.useRef(!1),T=oy.useCallback((function(){try{var e;(null==c||null===(e=c.current)||void 0===e?void 0:e.srcObject)instanceof MediaStream&&(c.current.srcObject.getTracks().forEach((function(e){return e.stop()})),c.current.srcObject=null)}catch(e){}}),[c]),A=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return{},n=GD.isMobile?GD.isIOS?{width:{ideal:1460},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{width:{ideal:1650},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{height:{ideal:9999}},e.prev=2,e.next=5,lU.getUserMedia({audio:!1,video:SD(SD({},t?{deviceId:t}:{facingMode:r?"user":"environment"}),s||n)});case 5:return(i=e.sent)||(y(YD.not_supported.msg[f]),u(YD.not_supported)),e.abrupt("return",i);case 10:e.prev=10,e.t0=e.catch(2),"NotAllowedError"===e.t0.name?(y(YD.no_permission.msg[f]),u(YD.no_permission)):(k(!0),y(e.t0.message),u({code:e.t0.name||e.t0.code}));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,null,[[2,10]])})));return function(t){return e.apply(this,arguments)}}(),[r,s,f,u]),I=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=c.current).oncanplaythrough=function(){r.play(),B.current=!0,y("");var e=window.innerWidth,t=window.innerHeight,n=bS.analyzeVideoAndWindowSizes(r),i=n.lostX,o=void 0===i?0:i,s=n.lostY,c=void 0===s?0:s,u=Math.min(e,Math.floor(e-2*o)),l=Math.min(t,Math.floor(t-2*c));a&&a({clientWidth:e,clientHeight:t,videoAreaWidth:u,videoAreaHeight:l,lostX:o,lostY:c})},e.next=4,A(t);case 4:(n=e.sent)&&(r.srcObject=n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[c,A,a]);oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,XD();case 3:t=e.sent,r=t.filter((function(e){return e.deviceId&&"videoinput"===e.kind})),C(r),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.error(e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}E&&!S.current&&(S.current=!0,function(){e.apply(this,arguments)}())}),[E]),oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){var t,r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I();case 2:return e.next=4,XD();case 4:t=e.sent,(r=t.filter((function(e){return"videoinput"===e.kind&&e.label.includes("0")}))).length>0&&(n=r[0].deviceId,T(),I(n));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var t=c.current;return!lU||GD.browserName&&["facebook"].includes(GD.browserName.toLowerCase())||GD.getUA.includes("Zalo iOS")?(y(YD.not_supported.msg[f]),u(YD.not_supported)):t&&(GD.isAndroid&&!1===r?function(){e.apply(this,arguments)}():I()),function(){T()}}),[c,f,r,I,T,u]),oy.useEffect((function(){var e=setTimeout((function(){B.current||(y(YD.camera_timeout.msg[f]),u(YD.camera_timeout))}),3e5);return function(){clearTimeout(e)}}),[f,u]);var _=oy.useCallback((function(){T(),n&&n(),p({tag:"result",event:"user_activity.cancel",log:{}})}),[n,T,p]);return oy.createElement($D,{checkCameraMode:t},E&&null!=b&&b.length?oy.createElement(rU,null,oy.createElement(nU,null,oy.createElement(iU,null,oy.createElement(aU,null,"Không thể mở camera mặc định"),oy.createElement(oU,null,"Vui lòng thử chọn camera khác trong danh sách dưới đây")),oy.createElement(sU,null,b.map((function(e,t){return oy.createElement(cU,{key:e.deviceId,onClick:function(){y(""),T(),k(!1),I(e.deviceId)}},e.label?e.label:"Camera ".concat(t+1))}))))):null,function(){if(!m)return null;var e=YD.no_permission.msg[f];return m===e&&GD.isIOS?oy.createElement(tU,null,m," ",oy.createElement("button",{onClick:function(){window.location.reload()}},{vi:"Cấp lại quyền truy cập camera",en:"Request camera permission"}[f])):oy.createElement(tU,null,m)}(),oy.createElement(ZD,{ref:c,playsInline:!0,muted:!0,flipHorizontal:o,className:d}),i,l?oy.cloneElement(l,{onClick:_,"data-testid":"close-camera"}):oy.createElement(eU,{onClick:_,"data-testid":"close-camera"},oy.createElement("img",{src:h,alt:""})))}dU.propTypes={checkCameraMode:Py.bool,frontCamera:Py.bool,onClose:Py.func,onError:Py.func,onVideoPlayed:Py.func,children:Py.node,flipHorizontal:Py.bool,videoSettings:Py.object,refVideo:Py.object,closeButton:Py.node,videoClassName:Py.string},dU.defaultProps={checkCameraMode:!1,frontCamera:!0,onClose:null,onError:function(){},onVideoPlayed:null,children:null,flipHorizontal:!1,videoSettings:null,refVideo:null,closeButton:null,videoClassName:""};var fU,pU,hU,gU=oy.forwardRef((function(e,t){return oy.createElement(dU,ED({},e,{refVideo:t||uU}))})),mU=eC.table(fU||(fU=TD(["\n width: 100%;\n height: 100%;\n td {\n text-align: center;\n vertical-align: middle;\n padding: 0;\n border: 0;\n }\n border-spacing: 0;\n table-layout: auto;\n border-collapse: collapse;\n"]))),yU=eC.div(pU||(pU=TD(["\n position: relative;\n"]))),vU=Array.from(Array(3).keys()),bU=Array.from(Array(3).keys());function CU(e){var t=e.children,r=e.x,n=e.y,i=e.width,a=e.height,o=e.className,s=e.surroundStyle;return oy.createElement(mU,{className:o},oy.createElement("tbody",null,vU.map((function(e,o){return oy.createElement("tr",{key:e,style:{height:0===o?n:"auto"},"data-testid":"row"},bU.map((function(e,n){var c=1===o&&1===n,u="auto";return c?u=i:0===n&&(u=r),oy.createElement("td",{"data-testid":c?"centeredCell":"cell",key:e,style:SD({width:u,height:c?a:"auto"},c?{}:s)},c?oy.createElement(yU,{style:{width:u,height:a}},t):null)})))}))))}CU.propTypes={children:Py.node,x:Py.string,y:Py.string,width:Py.string,height:Py.string,className:Py.string,surroundStyle:Py.object},CU.defaultProps={children:null,x:"auto",y:"auto",width:"auto",height:"auto",className:"",surroundStyle:{}};var wU=eC(CU)(hU||(hU=TD(["\n background: transparent;\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: ",";\n"])),1010);function EU(e){var t=e.className;return oy.createElement("svg",{className:t,width:"38px",height:"32px",viewBox:"0 0 24 21","data-testid":"camera-icon"},oy.createElement("title",null,"FA45C15C-1E21-4D7B-9585-07FB9F999CB8"),oy.createElement("desc",null,"Created with sketchtool."),oy.createElement("g",{id:"Web-demo",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},oy.createElement("g",{id:"step1",transform:"translate(-950.000000, -380.000000)",fill:"currentColor",fillRule:"nonzero"},oy.createElement("g",{id:"Group",transform:"translate(950.000000, 380.000000)"},oy.createElement("g",{id:"Group-2"},oy.createElement("g",{id:"camera"},oy.createElement("path",{d:"M21,3 L17,3 L15,0 L9,0 L7,3 L3,3 C1.34314575,3 0,4.34314575 0,6 L0,18 C0,19.6568542 1.34314575,21 3,21 L21,21 C22.6568542,21 24,19.6568542 24,18 L24,6 C24,4.34314575 22.6568542,3 21,3 Z M12,17 C9.23857625,17 7,14.7614237 7,12 C7,9.23857625 9.23857625,7 12,7 C14.7614237,7 17,9.23857625 17,12 C17,14.7614237 14.7614237,17 12,17 L12,17 Z",id:"Shape"})))))))}EU.propTypes={className:Py.string},EU.defaultProps={className:""};var kU,SU=function(e){var t=$g(e);return null!=e&&("object"==t||"function"==t)},BU="object"==$g(PD)&&PD&&PD.Object===Object&&PD,TU="object"==("undefined"==typeof self?"undefined":$g(self))&&self&&self.Object===Object&&self,AU=BU||TU||Function("return this")(),IU=function(){return AU.Date.now()},_U=AU.Symbol,xU=Object.prototype,PU=xU.hasOwnProperty,RU=xU.toString,NU=_U?_U.toStringTag:void 0,OU=Object.prototype.toString,LU=_U?_U.toStringTag:void 0,DU=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":LU&&LU in Object(e)?function(e){var t=PU.call(e,NU),r=e[NU];try{e[NU]=void 0;var n=!0}catch(e){}var i=RU.call(e);return n&&(t?e[NU]=r:delete e[NU]),i}(e):function(e){return OU.call(e)}(e)},UU=function(e){return null!=e&&"object"==$g(e)},MU=function(e){return"symbol"==$g(e)||UU(e)&&"[object Symbol]"==DU(e)},VU=/^\s+|\s+$/g,jU=/^[-+]0x[0-9a-f]+$/i,FU=/^0b[01]+$/i,zU=/^0o[0-7]+$/i,KU=parseInt,qU=function(e){if("number"==typeof e)return e;if(MU(e))return NaN;if(SU(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=SU(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(VU,"");var r=FU.test(e);return r||zU.test(e)?KU(e.slice(2),r?2:8):jU.test(e)?NaN:+e},HU=Math.max,GU=Math.min,QU=function(e,t,r){var n,i,a,o,s,c,u=0,l=!1,d=!1,f=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var r=n,a=i;return n=i=void 0,u=t,o=e.apply(a,r)}function h(e){return u=e,s=setTimeout(m,t),l?p(e):o}function g(e){var r=e-c;return void 0===c||r>=t||r<0||d&&e-u>=a}function m(){var e=IU();if(g(e))return y(e);s=setTimeout(m,function(e){var r=t-(e-c);return d?GU(r,a-(e-u)):r}(e))}function y(e){return s=void 0,f&&n?p(e):(n=i=void 0,o)}function v(){var e=IU(),r=g(e);if(n=arguments,i=this,c=e,r){if(void 0===s)return h(c);if(d)return clearTimeout(s),s=setTimeout(m,t),p(c)}return void 0===s&&(s=setTimeout(m,t)),o}return t=qU(t)||0,SU(r)&&(l=!!r.leading,a=(d="maxWait"in r)?HU(qU(r.maxWait)||0,t):a,f="trailing"in r?!!r.trailing:f),v.cancel=function(){void 0!==s&&clearTimeout(s),u=0,n=c=i=s=void 0},v.flush=function(){return void 0===s?o:y(IU())},v},WU=function(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return SU(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),QU(e,t,{leading:n,maxWait:t,trailing:i})},XU=function(e){if(!SU(e))return!1;var t=DU(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},YU=AU["__core-js_shared__"],$U=(kU=/[^.]+$/.exec(YU&&YU.keys&&YU.keys.IE_PROTO||""))?"Symbol(src)_1."+kU:"",ZU=Function.prototype.toString,JU=/^\[object .+?Constructor\]$/,eM=Function.prototype,tM=Object.prototype,rM=eM.toString,nM=tM.hasOwnProperty,iM=RegExp("^"+rM.call(nM).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),aM=function(e){return!(!SU(e)||function(e){return!!$U&&$U in e}(e))&&(XU(e)?iM:JU).test(function(e){if(null!=e){try{return ZU.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))},oM=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return aM(r)?r:void 0},sM=function(){try{var e=oM(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),cM=function(e,t,r){"__proto__"==t&&sM?sM(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r},uM=function(e,t){return e===t||e!=e&&t!=t},lM=Object.prototype.hasOwnProperty,dM=function(e,t,r){var n=e[t];lM.call(e,t)&&uM(n,r)&&(void 0!==r||t in e)||cM(e,t,r)},fM=function(e,t,r,n){var i=!r;r||(r={});for(var a=-1,o=t.length;++a<o;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),i?cM(r,s,c):dM(r,s,c)}return r},pM=function(e){return e},hM=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},gM=Math.max,mM=function(e){return function(){return e}},yM=sM?function(e,t){return sM(e,"toString",{configurable:!0,enumerable:!1,value:mM(t),writable:!0})}:pM,vM=Date.now,bM=function(e){var t=0,r=0;return function(){var n=vM(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(yM),CM=function(e,t){return bM(function(e,t,r){return t=gM(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=gM(n.length-t,0),o=Array(a);++i<a;)o[i]=n[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=n[i];return s[t]=r(o),hM(e,this,s)}}(e,t,pM),e+"")},wM=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},EM=function(e){return null!=e&&wM(e.length)&&!XU(e)},kM=/^(?:0|[1-9]\d*)$/,SM=function(e,t){var r=$g(e);return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&kM.test(e))&&e>-1&&e%1==0&&e<t},BM=function(e,t,r){if(!SU(r))return!1;var n=$g(t);return!!("number"==n?EM(r)&&SM(t,r.length):"string"==n&&t in r)&&uM(r[t],e)},TM=function(e){return CM((function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,o&&BM(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var s=r[n];s&&e(t,s,n,a)}return t}))},AM=function(e){return UU(e)&&"[object Arguments]"==DU(e)},IM=Object.prototype,_M=IM.hasOwnProperty,xM=IM.propertyIsEnumerable,PM=AM(function(){return arguments}())?AM:function(e){return UU(e)&&_M.call(e,"callee")&&!xM.call(e,"callee")},RM=Array.isArray,NM=function(){return!1},OM=ND((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r?AU.Buffer:void 0,a=(i?i.isBuffer:void 0)||NM;e.exports=a})),LM={};LM["[object Float32Array]"]=LM["[object Float64Array]"]=LM["[object Int8Array]"]=LM["[object Int16Array]"]=LM["[object Int32Array]"]=LM["[object Uint8Array]"]=LM["[object Uint8ClampedArray]"]=LM["[object Uint16Array]"]=LM["[object Uint32Array]"]=!0,LM["[object Arguments]"]=LM["[object Array]"]=LM["[object ArrayBuffer]"]=LM["[object Boolean]"]=LM["[object DataView]"]=LM["[object Date]"]=LM["[object Error]"]=LM["[object Function]"]=LM["[object Map]"]=LM["[object Number]"]=LM["[object Object]"]=LM["[object RegExp]"]=LM["[object Set]"]=LM["[object String]"]=LM["[object WeakMap]"]=!1;var DM=ND((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r&&BU.process,a=function(){try{return n&&n.require&&n.require("util").types||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=a})),UM=DM&&DM.isTypedArray,MM=UM?function(e){return function(t){return e(t)}}(UM):function(e){return UU(e)&&wM(e.length)&&!!LM[DU(e)]},VM=Object.prototype.hasOwnProperty,jM=function(e,t){var r=RM(e),n=!r&&PM(e),i=!r&&!n&&OM(e),a=!r&&!n&&!i&&MM(e),o=r||n||i||a,s=o?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],c=s.length;for(var u in e)!t&&!VM.call(e,u)||o&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||SM(u,c))||s.push(u);return s},FM=Object.prototype,zM=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||FM)},KM=Object.prototype.hasOwnProperty,qM=function(e){if(!SU(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=zM(e),r=[];for(var n in e)("constructor"!=n||!t&&KM.call(e,n))&&r.push(n);return r},HM=function(e){return EM(e)?jM(e,!0):qM(e)},GM=TM((function(e,t,r,n){fM(t,HM(t),e,n)})),QM=function(e,t){return function(r){return e(t(r))}},WM=QM(Object.getPrototypeOf,Object),XM=Function.prototype,YM=Object.prototype,$M=XM.toString,ZM=YM.hasOwnProperty,JM=$M.call(Object),eV=function(e){if(!UU(e)||"[object Object]"!=DU(e))return!1;var t=WM(e);if(null===t)return!0;var r=ZM.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&$M.call(r)==JM},tV=function(e){if(!UU(e))return!1;var t=DU(e);return"[object Error]"==t||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!eV(e)},rV=CM((function(e,t){try{return hM(e,void 0,t)}catch(e){return tV(e)?e:new Error(e)}})),nV=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i},iV=Object.prototype,aV=iV.hasOwnProperty,oV=function(e,t,r,n){return void 0===e||uM(e,iV[r])&&!aV.call(n,r)?t:e},sV={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},cV=function(e){return"\\"+sV[e]},uV=QM(Object.keys,Object),lV=Object.prototype.hasOwnProperty,dV=function(e){return EM(e)?jM(e):function(e){if(!zM(e))return uV(e);var t=[];for(var r in Object(e))lV.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)},fV=/<%=([\s\S]+?)%>/g,pV=function(e){return function(t){return null==e?void 0:e[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),hV=_U?_U.prototype:void 0,gV=hV?hV.toString:void 0,mV=function e(t){if("string"==typeof t)return t;if(RM(t))return nV(t,e)+"";if(MU(t))return gV?gV.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r},yV=function(e){return null==e?"":mV(e)},vV=/[&<>"']/g,bV=RegExp(vV.source),CV={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:fV,variable:"",imports:{_:{escape:function(e){return(e=yV(e))&&bV.test(e)?e.replace(vV,pV):e}}}},wV=/\b__p \+= '';/g,EV=/\b(__p \+=) '' \+/g,kV=/(__e\(.*?\)|\b__t\)) \+\n'';/g,SV=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,BV=/($^)/,TV=/['\n\r\u2028\u2029\\]/g,AV=Object.prototype.hasOwnProperty,IV=function(e,t,r){var n=CV.imports._.templateSettings||CV;r&&BM(e,t,r)&&(t=void 0),e=yV(e),t=GM({},t,n,oV);var i,a,o=GM({},t.imports,n.imports,oV),s=dV(o),c=function(e,t){return nV(t,(function(t){return e[t]}))}(o,s),u=0,l=t.interpolate||BV,d="__p += '",f=RegExp((t.escape||BV).source+"|"+l.source+"|"+(l===fV?SV:BV).source+"|"+(t.evaluate||BV).source+"|$","g"),p=AV.call(t,"sourceURL")?"//# sourceURL="+(t.sourceURL+"").replace(/\s/g," ")+"\n":"";e.replace(f,(function(t,r,n,o,s,c){return n||(n=o),d+=e.slice(u,c).replace(TV,cV),r&&(i=!0,d+="' +\n__e("+r+") +\n'"),s&&(a=!0,d+="';\n"+s+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=c+t.length,t})),d+="';\n";var h=AV.call(t,"variable")&&t.variable;h||(d="with (obj) {\n"+d+"\n}\n"),d=(a?d.replace(wV,""):d).replace(EV,"$1").replace(kV,"$1;"),d="function("+(h||"obj")+") {\n"+(h?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var g=rV((function(){return Function(s,p+"return "+d).apply(void 0,c)}));if(g.source=d,tV(g))throw g;return g},_V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xV=/^\w*$/,PV=oM(Object,"create"),RV=Object.prototype.hasOwnProperty,NV=Object.prototype.hasOwnProperty;function OV(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}OV.prototype.clear=function(){this.__data__=PV?PV(null):{},this.size=0},OV.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},OV.prototype.get=function(e){var t=this.__data__;if(PV){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return RV.call(t,e)?t[e]:void 0},OV.prototype.has=function(e){var t=this.__data__;return PV?void 0!==t[e]:NV.call(t,e)},OV.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=PV&&void 0===t?"__lodash_hash_undefined__":t,this};var LV=OV,DV=function(e,t){for(var r=e.length;r--;)if(uM(e[r][0],t))return r;return-1},UV=Array.prototype.splice;function MV(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}MV.prototype.clear=function(){this.__data__=[],this.size=0},MV.prototype.delete=function(e){var t=this.__data__,r=DV(t,e);return!(r<0||(r==t.length-1?t.pop():UV.call(t,r,1),--this.size,0))},MV.prototype.get=function(e){var t=this.__data__,r=DV(t,e);return r<0?void 0:t[r][1]},MV.prototype.has=function(e){return DV(this.__data__,e)>-1},MV.prototype.set=function(e,t){var r=this.__data__,n=DV(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var VV=MV,jV=oM(AU,"Map"),FV=function(e,t){var r=e.__data__;return function(e){var t=$g(e);return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?r["string"==typeof t?"string":"hash"]:r.map};function zV(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}zV.prototype.clear=function(){this.size=0,this.__data__={hash:new LV,map:new(jV||VV),string:new LV}},zV.prototype.delete=function(e){var t=FV(this,e).delete(e);return this.size-=t?1:0,t},zV.prototype.get=function(e){return FV(this,e).get(e)},zV.prototype.has=function(e){return FV(this,e).has(e)},zV.prototype.set=function(e,t){var r=FV(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};var KV=zV;function qV(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function r(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(qV.Cache||KV),r}qV.Cache=KV;var HV=qV,GV=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QV=/\\(\\)?/g,WV=function(e){var t=HV((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(GV,(function(e,r,n,i){t.push(n?i.replace(QV,"$1"):r||e)})),t}),(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}(),XV=function(e,t){return RM(e)?e:function(e,t){if(RM(e))return!1;var r=$g(e);return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!MU(e))||xV.test(e)||!_V.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:WV(yV(e))},YV=function(e){if("string"==typeof e||MU(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},$V=function(e,t,r){var n=null==e?void 0:function(e,t){for(var r=0,n=(t=XV(t,e)).length;null!=e&&r<n;)e=e[YV(t[r++])];return r&&r==n?e:void 0}(e,t);return void 0===n?r:n},ZV=oC.Errors;function JV(e){var t=e.livenessSettings,r=e.apiClient,n=e.apiCheck,i=e.onError,a=AD(oy.useState({face_tracking_setting:{enable:!1,web_terminate_threshold:.0030152991993743408,web_warning_threshold:.0017317430600108828,limit_for:"all_flow",max_warning_time:5},flow_interval_time_ms:3e3,limit_time_liveness_check:{enable:!1,limit_time_second:45},terminate_if_no_face:{enable:!1,max_invalid_frame:5,max_time_ms:1e3}}),2),o=a[0],s=a[1];return oy.useEffect((function(){t?s(SD({},t)):n&&r.clientSettings().then((function(e){if(e&&e.data){var t,r=$V(e,"data.settings.sdk_settings.server_log_settings.enable"),n=$V(e,"data.settings.sdk_settings.active_liveness_settings"),a=$V(n,"save_encoded_frames",{});a.enable&&(t={enable:!0,framesIntervalTime:a.frames_interval_ms,framesBatchLength:a.frames_batch_len}),s(SD(SD({},n),{},{enableTracking:r,captureFrameSettings:t}))}e&&e.errors&&i(ZV.server_error)})).catch((function(e){i(e)}))}),[t,r,i,n]),o}var ej=function(e){var t=e.curStep,r=e.faceDirection,n=$V(t,"stepTimeConstraints.delayTime");return!!n&&(null===t.firstFrameSpottedAt?(t.name===r&&(t.firstFrameSpottedAt=(new Date).getTime()),!0):(new Date).getTime()-t.firstFrameSpottedAt<n)},tj=function(e){var t=function(e){return e?1/0===(e=qU(e))||-1/0===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),r=t%1;return t==t?r?t-r:t:0},rj=function(e){return function(e,t){var r;if("function"!=typeof t)throw new TypeError("Expected a function");return e=tj(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=void 0),r}}(2,e)};function nj(){return(nj=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:{},r=t.blazefaceModelUrl,n=t.tfScriptUrls,e.next=3,vT.loadTensorFlow(n);case 3:return e.next=5,vT.initTensorFlow({preferredBackends:["wasm","webgl","cpu"]});case 5:return e.next=7,vT.loadBlazefaceModel({modelUrl:r});case 7:return i=e.sent,e.abrupt("return",{blazefaceModel:i});case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ij,aj,oj,sj,cj,uj,lj,dj=rj((function(){return nj.apply(this,arguments)})),fj=[],pj=function(){fj=[]},hj=function(e,t,r){r&&pj(),fj.push({id:null});var n=fj.length-1;t.httpClient.post("/v1/files",{frames:e,metadata:JSON.stringify({type:"selfie"})}).then((function(e){e&&e.data&&e.data.file_id?fj[n].id=e.data.file_id:fj[n].id=-1}))},gj=function(){return new Promise((function(e){var t=setInterval((function(){fj.every((function(e){return e.id}))&&(e(),clearInterval(t))}),200)}))},mj=function(e){return e.enable?fj.some((function(e){return-1===e.id}))?null:fj:[]},yj=OS.faceTracker(),vj=oC.Mode,bj=oC.FaceDirection,Cj=oC.Errors,wj=oC.Messages;function Ej(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.apiCheck,n=t.mode,i=t.bgCameraMask,a=t.bgCameraMaskRed,o=t.surroundStyle,s=t.cropAreaDimension,c=t.customInstructions,u=t.customIcon,l=t.customDirectionIcon,d=t.customStepTimeConstraints,f=void 0===d?(wD(e={},oC.FaceDirection.UP,{delayTime:1e3}),wD(e,oC.FaceDirection.LEFT,{delayTime:1e3}),wD(e,oC.FaceDirection.RIGHT,{delayTime:1e3}),wD(e,oC.FaceDirection.FRONTAL,{delayTime:2e3}),e):d,p=t.onLivenessDetectionDone,h=t.onError,g=t.frontalMinSize,m=t.waitingTimeToGetBetterFrames,y=void 0===m?500:m,v=t.captureFrameSettings,b=void 0===v?{enable:!1,framesIntervalTime:180,framesBatchLength:0}:v,C=t.livenessSettings,w=t.setRemainingTime,E=void 0===w?function(){}:w,k=t.onProcessing,S=void 0===k?function(){}:k,B=t.customErrors,T=t.customMessages,A=t.apiCredentials,I=void 0===A?{}:A,_=t.onFramesCaptured,x=void 0===_?function(){}:_,P=t.initFirstGestureTimeout,R=void 0===P?2e3:P,N=oy.useState(!1),O=AD(N,2),L=O[0],D=O[1],U=oy.useState(!1),M=AD(U,2),V=M[0],j=M[1],F=oy.useState(!1),z=AD(F,2),K=z[0],q=z[1],H=oy.useRef(null),G=lk.useSDKSettings(),Q=G.lang,W=G.assetRoot,X=G.customUrls,Y=YB.useApiClient({apiCredentials:I}),$=Y.apiClient,Z=n===vj.ACTIVE,J=oy.useReducer((function(e){return e+1}),0),ee=AD(J,2),te=(ee[0],ee[1]),re=oy.useRef(null),ne=oy.useRef(!1),ie=oy.useState(!1),ae=AD(ie,2),oe=ae[0],se=ae[1],ce=oy.useRef({}),ue=zk.useSDKTracking(),le=ue.sendEvent,de=oy.useRef(null);null===de.current&&(de.current=OS.initFaceVerificationData({assetRoot:W,customInstructions:c,customIcon:u,customDirectionIcon:l,customStepTimeConstraints:f}));var fe=oy.useState(),pe=AD(fe,2),he=pe[0],ge=pe[1],me=oy.useMemo((function(){return WU(ge,500)}),[ge]),ye=oy.useRef([]),ve=oy.useRef(),be=oy.useRef(),Ce=JV({livenessSettings:C,apiClient:$,apiCheck:r,onError:h}),we=Ce.face_tracking_setting,Ee=Ce.flow_interval_time_ms,ke=Ce.limit_time_liveness_check,Se=Ce.terminate_if_no_face,Be=Ce.captureFrameSettings,Te=void 0===Be?b:Be,Ae=Ce.enableTracking,Ie=oy.useMemo((function(){return WU((function(e){r&&!Ae||le(e)}),2e3)}),[r,Ae,le]),_e=oy.useRef(0),xe=oy.useRef();oy.useEffect((function(){Ie({tag:"selfie",event:"user_activity.start",log:{}})}),[Ie]),oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(oe){e.next=9;break}return be.current=performance.now(),e.next=4,dj(X);case 4:ce.current=e.sent,se(!0),Ie({tag:"selfie",event:"user_activity.show",log:{}}),Ie({tag:"selfie",event:"sdk.load_model",log:{status:"success",time_in_ms:performance.now()-be.current}}),be.current=null;case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[oe,X,Ie]);var Pe=oy.useCallback((function(){E(""),de.current.curStepIndex=de.current.steps.length,j(!1),setTimeout((function(){de.current=OS.initFaceVerificationData({assetRoot:W,customInstructions:c,customIcon:u,customDirectionIcon:l}),ve.current=Date.now(),_e.current=0,xe.current=null,ye.current=[],q(!1),pj(),te()}),Ee)}),[W,c,u,l,Ee,E]),Re=oy.useRef(null),Ne=oy.useMemo((function(){return SD(SD({},Cj),B)}),[B]),Oe=oy.useMemo((function(){return SD(SD({},wj),T)}),[T]),Le=400;oy.useEffect((function(){if(L&&ke.enable&&K){ve.current=Date.now();var e=ke.limit_time_second+1,t=ke.remain_time_show||10,r=ke.format||"s";Re.current=setInterval((function(){var n=Math.round((1e3*e-(Date.now()-ve.current))/1e3);if(de.current.curStepIndex<de.current.steps.length){if(n<=t&&n>=1){var i=IV(Oe.REMAIN_TIME[Q]),a=n;switch(r){case"mm:ss":a=n.toString().padStart(5,"00:00");break;case"ss":a=n.toString().padStart(2,"0")}E(i({x:a}))}if(Math.round((Date.now()-ve.current)/1e3)===e){var o,s={};Object.keys(null===(o=Ne.liveness_terminated_time_out)||void 0===o?void 0:o.msg).forEach((function(e){var t,r=IV(null===(t=Ne.liveness_terminated_time_out)||void 0===t?void 0:t.msg[e]);s[e]=r({x:ke.limit_time_second})})),ge(SD(SD({},Ne.liveness_terminated_time_out),{},{msg:s,duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated_time_out,"}}),Pe()}}}),1e3)}return function(){clearInterval(Re.current)}}),[Pe,E,L,Q,Ee,ke.enable,ke.limit_time_second,K,Ne.liveness_terminated_time_out,Oe.REMAIN_TIME,ke.format,ke.remain_time_show,Ie]);var De=oy.useCallback((function(e){var t,r,n=e.clientWidth,a=e.clientHeight,c=e.videoAreaWidth,u=e.videoAreaHeight,l=e.lostX,d=e.lostY;GD.isMobile?r=t=c:t=r=u-200;var f=Math.floor((c-t)/2)+l,p=5+d,h=i;re.current={x:f,y:p,width:t,height:r,image:h,surroundStyle:o},"object"===vD(s)?re.current=SD(SD({},re.current),s):"function"==typeof s&&(re.current=SD(SD({},re.current),s({clientWidth:n,clientHeight:a,videoAreaWidth:c,videoAreaHeight:u,lostX:l,lostY:d,isMobile:GD.isMobile,width:t,height:r}))),te(),D(!0)}),[i,o,s]),Ue=oy.useState(3),Me=AD(Ue,2),Ve=Me[0],je=Me[1],Fe=oy.useState(!1),ze=AD(Fe,2),Ke=ze[0],qe=ze[1],He=oy.useRef(!1),Ge=oy.useCallback((function(e){qe(e),He.current=e}),[]),Qe=oy.useRef(null),We=oy.useRef([]),Xe=oy.useCallback((function(){je(3),clearInterval(Qe.current),Ge(!0);var e=function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,i,a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t-1!=0){e.next=9;break}return clearInterval(Qe.current),n=We.current,S(),i=n.map((function(e){return DB.resizeBlobImg(e.blob,Le,Le)})),e.next=7,Promise.all(i);case 7:a=e.sent,r?(o=ID(ye.current),s=n.map((function(e,t){return $.uploadImage({file:a[t],label:"portrait",metadata:JSON.stringify({gesture_score:e.leftRightScore,gesture:bj.FRONTAL})})})),Promise.all(s).then((function(e){return $.verifyFaceLiveness({images:e.map((function(e){return{id:e.data.image_id}})),videos:[{frames:o}]})})).then((function(e){p({apiCheckPassed:e.data.is_live,verifyFaceLivenessResult:e.data})})).catch((function(e){h({error:e})}))):p({frontalFaces:a,capturedFrames:ye.current});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();Qe.current=setInterval((function(){je((function(t){return e(t),t-1}))}),1e3)}),[Ge,r,p,$,h,S]);oy.useEffect((function(){he&&(clearInterval(Qe.current),Ge(!1))}),[he,Ge]),oy.useEffect((function(){var e,t=H.current,n=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=de.current.steps,r=[],t.forEach((function(e){var t=e.name,n=e.image,i=e.frontalFaceImage;t!==bj.FRONTAL?r.push($.uploadImage({file:n.blob,label:"portrait",metadata:JSON.stringify({gesture_score:n.leftRightScore,gesture:t})})):r.push(Promise.resolve({data:{image_id:null}})),i.blob?r.push($.uploadImage({file:i.blob,label:"portrait",metadata:JSON.stringify({gesture_score:i.leftRightScore,gesture:bj.FRONTAL})})):r.push(Promise.resolve({data:{image_id:null}}))})),e.next=5,Promise.all(r);case 5:n=e.sent,t.forEach((function(e,t){e.image.imageId=n[2*t].data.image_id,e.frontalFaceImage.imageId=n[2*t+1].data.image_id}));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),o=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,n();case 3:if(t=de.current.steps,0!==(r=t.filter((function(e){return e.frontalFaceImage.imageId}))).length){e.next=9;break}p({error:"wrong_face_movement"}),e.next=26;break;case 9:return e.next=11,gj();case 11:if(i=mj(Te)){e.next=16;break}p({error:"network_error"}),e.next=26;break;case 16:return a=$.verifyFaceLiveness({images:r.map((function(e){return{id:e.frontalFaceImage.imageId}})),gesture_images:t.filter((function(e){return e.image.imageId&&e.name!==bj.FRONTAL})).map((function(e){return{gesture:e.name,images:[{id:e.image.imageId}]}})),videos:i}),o=$.requestVerifyPortrait({image:{id:r[r.length-1].frontalFaceImage.imageId}}),e.next=20,Promise.all([a,o]);case 20:s=e.sent,c=AD(s,2),u=c[0],l=c[1],d=!0===u.data.is_live,p({apiCheckPassed:d,verifyFaceLivenessResult:u.data,verifyFacePortraitResult:l.data,frontalFaces:r.map((function(e){return{id:e.frontalFaceImage.imageId,blob:e.frontalFaceImage.blob}})),steps:t.filter((function(e){return e.image.imageId&&e.name!==bj.FRONTAL})).map((function(e){var t=e.name,r=e.image;return{name:t,blob:r.blob,id:r.imageId}}))});case 26:e.next=31;break;case 28:e.prev=28,e.t0=e.catch(0),h({error:e.t0});case 31:case"end":return e.stop()}}),e,null,[[0,28]])})));return function(){return e.apply(this,arguments)}}(),s=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=de.current.steps,r=[],t.map((function(e){return r.push({name:e.name,blob:e.image.blob}),e.frontalFaceImage.blob&&r.push({name:e.name,blob:e.frontalFaceImage.blob}),0})),n=r.map((function(e){return DB.resizeBlobImg(e.blob,Le,Le)})),e.next=6,Promise.all(n);case 6:i=e.sent,a=r.map((function(e,t){return{name:e.name,blob:i[t]}})),t.map((function(e,r){var n=a.filter((function(t){return t.name===e.name}));return t[r].image.blob=n[0].blob,e.frontalFaceImage.blob&&(t[r].frontalFaceImage.blob=n[1].blob),0}));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),c=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,n,i,a,c,u,l,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=de.current.steps,n=t[de.current.curStepIndex],Ie({tag:"selfie",event:"user_activity.".concat(n.name),log:{time_capture_in_seconds:((performance.now()-be.current)/1e3).toFixed(1)}}),de.current.curStepIndex++,be.current=performance.now(),we.enable&&"each_gesture"===we.limit_for&&(_e.current=0),de.current.curStepIndex!==t.length){e.next=33;break}if(ke.enable&&E(""),!p){e.next=33;break}return Te.enable&&(Te.framesBatchLength>0?(x(ye.current.slice(ye.current.length%Te.framesBatchLength*-1).map((function(e){return{base64:e.base64,label:e.label,index:e.index}}))),r&&hj(ye.current.slice(ye.current.length%Te.framesBatchLength*-1),$)):x(ye.current.map((function(e){return{base64:e.base64,label:e.label,index:e.index}})))),Ie({tag:"selfie",event:"user_activity",log:{time_capture_in_seconds:((Date.now()-ve.current)/1e3).toFixed(1)}}),S(),e.next=14,s();case 14:if(r){e.next=31;break}if(c=t.filter((function(e){return e.name!==bj.FRONTAL})).map((function(e){return{name:e.name,image:{blob:e.image.blob}}})),u=t.filter((function(e){return e.name!==bj.FRONTAL})).map((function(e){return e.frontalFaceImage.blob})).filter((function(e){return null!==e})),!(l=null===(i=t.find((function(e){return e.name===bj.FRONTAL})))||void 0===i||null===(a=i.image)||void 0===a?void 0:a.blob)||!g){e.next=24;break}return e.next=21,DB.scaleImage(l,{minSize:g});case 21:e.t0=e.sent,e.next=25;break;case 24:e.t0=null;case 25:d=e.t0,l&&u.push(l),Ie({tag:"result",event:"sdk_mode.liveness",log:{result_object:{steps:c,frontalFaces:u,frontalScaledImage:d}}}),p({steps:c,frontalFaces:u,frontalScaledImage:d,capturedFrames:ye.current}),e.next=33;break;case 31:return e.next=33,o();case 33:te();case 34:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),u=QU((function(){var e=de.current,t=e.curStepIndex,r=e.steps,n=r[t],i=null!==(null==n?void 0:n.image.blob),a=null!==(null==n?void 0:n.frontalFaceImage.blob),o=r.filter((function(e){return e.frontalFaceImage.blob})).length,s=!1;return i&&(a||![1].includes(t)||o>=1)?(ne.current=!1,c(),s=!0):ne.current=!(!i||a),j(!1),s}),y);function l(e,t,r,n){return d.apply(this,arguments)}function d(){return(d=CD(regeneratorRuntime.mark((function e(t,r,n,i){var a,o,s,l,d,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=de.current,o=a.curStepIndex,s=a.steps,!(o<s.length)){e.next=24;break}if(l=s[o],!ej({faceDirection:t,curStep:l})){e.next=5;break}return e.abrupt("return");case 5:if(t!==bj.FRONTAL||null!==l.frontalFaceImage.blurScore&&!yS.hasBetterBlurScore(n,l.frontalFaceImage.blurScore)){e.next=13;break}return l.frontalFaceImage.blurScore=n,e.next=9,bS.takePicture({canvas:r});case 9:d=e.sent,l.frontalFaceImage.blob=d,l.frontalFaceImage.leftRightScore=i,ne.current&&(ne.current=!1,c());case 13:if(l.name!==t||null!==l.image.blurScore&&!yS.hasBetterBlurScore(n,l.image.blurScore)){e.next=24;break}return j(!0),l.image.blurScore=n,e.next=18,bS.takePicture({canvas:r});case 18:f=e.sent,l.image.blob=f,l.image.leftRightScore=i,l.image.objUrl&&URL.revokeObjectURL(l.image.objUrl),l.image.objUrl=URL.createObjectURL(f),u();case 24:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(e,t,r){return m.apply(this,arguments)}function m(){return(m=CD(regeneratorRuntime.mark((function e(t,r,n){var i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(!0===He.current&&t===bj.FRONTAL&&We.current.length<3)){e.next=5;break}return e.next=3,bS.takePicture({canvas:r});case 3:i=e.sent,We.current.push({blob:i,leftRightScore:n});case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e,t,n,i){if(ye.current.length&&Date.now()-ye.current[ye.current.length-1].time<Te.framesIntervalTime)return null;if(Te.enable&&!i){var a=e.topLeft,o=e.bottomRight,s=[].concat(ID(a),ID(o)),c=[];[a,o].forEach((function(e){c=[].concat(ID(c),[e[0]/MS.SIZE*t.width,e[1]/MS.SIZE*t.height])}));var u=yj(e,0===ye.current.length),l=u.score,d=u.time,f=t.toDataURL("image/jpeg",.8);return ye.current.push({label:"portrait",base64:f.split(",")[1],landmarks:n,original_landmarks:n.map((function(e){return[e[0]/MS.SIZE*t.width,e[1]/MS.SIZE*t.height]})),score:l,time:d,index:ye.current.length,bbox:s,original_bbox:c}),Te.framesBatchLength>0&&ye.current.length%Te.framesBatchLength==0&&x&&(x(ye.current.slice(-Te.framesBatchLength).map((function(e){return{base64:e.base64,label:e.label,index:e.index}}))),r&&hj(ye.current.slice(-Te.framesBatchLength),$,ye.current.length===Te.framesBatchLength)),l}return null}function b(e){if(!we.enable||null===e||!K)return!0;var t=we.web_warning_threshold,r=we.web_terminate_threshold,n=we.max_warning_time;return e<t||(e<r&&_e.current<n?(_e.current++,_e.current===n?(ge(SD(SD({},Ne.liveness_terminated_face_tracking),{},{duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated_face_tracking"}})):ge(SD(SD({},Ne.liveness_too_fast),{},{duration:1500})),!0):(ge(SD(SD({},Ne.liveness_terminated),{},{duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated"}}),Pe(),!1))}function C(e){if(Se.enable&&K){var t=Se.max_time_ms;xe.current&&e||(xe.current={time:Date.now(),frame:0}),e&&xe.current.frame++;var r=xe.current.time;e&&Date.now()-r>=t&&(ge(SD(SD({},Ne.liveness_terminated_no_face),{},{duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated_no_face"}}),Pe())}}function w(e,t){return k.apply(this,arguments)}function k(){return(k=CD(regeneratorRuntime.mark((function r(n,o){var s,c,u,d,p,h,g,m,y,E,k,S,B,T,A,I,_,x,P,R,N;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(0!==(null==o?void 0:o.width)&&0!==(null==o?void 0:o.height)){r.next=2;break}return r.abrupt("return");case 2:return s=n.cropX,c=n.cropY,u=n.cropWidth,d=n.cropHeight,o.getContext("2d").drawImage(t,s,c,u,d,0,0,u,d),p=ce.current.blazefaceModel,r.next=8,yS.calculateBlurScore(o);case 8:return h=r.sent,r.next=11,MS.getModelPredictions({model:p,sCanvas:o});case 11:return g=r.sent,r.next=14,OS.validatePredictions({predictions:g,width:MS.SIZE,height:MS.SIZE});case 14:if(m=r.sent,y=m.error,E=m.fullFace,re.current.image=i,S=null,B=null,T=null,A=de.current,I=A.curStepIndex,_=A.steps,!E){r.next=29;break}return x=_[I],T=E.landmarks,r.next=27,OS.calculateFaceDirection({landmarks:T,getPerfectFrontal:x&&x.name===bj.FRONTAL});case 27:(P=r.sent)&&(S=P.gesture,B=P.leftRightScore);case 29:if(R="no_face"===(null==y?void 0:y.code)||"partial_face"===(null==y?void 0:y.code),N=I<_.length,C(R&&N),null!=y&&y.code&&Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:y.code}}),y&&("face_too_small"!==y.code||![bj.DOWN,bj.UP,bj.LEFT,bj.RIGHT].includes(S))){r.next=52;break}if(Z||v(g[0],o,T),!Z){r.next=43;break}if(K||(q(!0),be.current=performance.now(),ve.current=Date.now()),!b(v(g[0],o,T,I>=_.length))){r.next=41;break}return r.next=41,l(S,o,h,B);case 41:r.next=50;break;case 43:if(![bj.LEFT,bj.RIGHT].includes(S)){r.next=48;break}k=Ne.not_frontal_face,re.current.image=a,r.next=50;break;case 48:return r.next=50,f(S,o,B);case 50:r.next=53;break;case 52:I<_.length&&(k=Ne[y.code],re.current.image=a);case 53:me(k),-1!==e&&(e=requestAnimationFrame((function(){return w(n,o)})));case 55:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function B(){return(B=CD(regeneratorRuntime.mark((function e(){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=bS.analyzeVideoAndWindowSizes(t,re.current),n=r.cropWidth,i=r.cropHeight,(a=document.createElement("canvas")).width=n,a.height=i,(o=a.getContext("2d")).translate(n,0),o.scale(-1,1),w(r,a);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return L&&oe&&setTimeout((function(){!function(){B.apply(this,arguments)}()}),R),function(){cancelAnimationFrame(e),e=-1}}),[R,L,Q,Z,$,r,i,a,p,h,g,y,Te,S,we,ke.enable,E,me,Ee,Pe,Se,K,Ne,oe,Ie,x]);var Ye=de.current,$e=Ye.curStepIndex,Ze=Ye.steps,Je=oy.useMemo((function(){return Ze.find((function(e){return e.name===oC.FaceDirection.FRONTAL}))}),[Ze]),et=ne.current?Je:Ze[$e],tt=et&&K?et.instructions[Q]:null,rt=et&&K?et.directionIcon:"",nt=et?et.directionIconAnimation:"";return{countdownToTakePicture:Ve,cropArea:re,curStepIndex:$e,directionIcon:rt,directionIconAnimation:nt,faceDetectionError:he,handleTriggerPassiveMode:Xe,handleVideoPlayed:De,instructions:tt,isActiveMode:Z,refVideo:H,showCountdown:Ke,steps:Ze,videoPlayed:L,activeCapturing:V,isFirstValidFrameFound:K,warmupDone:oe}}var kj=(wD(ij={},oC.FaceDirection.LEFT,90),wD(ij,oC.FaceDirection.RIGHT,270),wD(ij,oC.FaceDirection.UP,180),wD(ij,oC.FaceDirection.DOWN,0),ij),Sj=nC(["0%{opacity:0.15;}50%{opacity:0.3;}100%{opacity:1;}"]),Bj=eC.div(aj||(aj=TD(["\n width: 200px;\n height: 200px;\n position: relative;\n transform: scale(0.48);\n\n .top,\n .right,\n .bottom,\n .left {\n position: absolute;\n }\n\n .top {\n top: 0;\n left: 50%;\n transform: rotate(","deg) translateX(-50%);\n }\n\n .right {\n right: 0;\n top: 50%;\n transform: rotate(","deg) translateX(-50%);\n }\n\n .bottom {\n bottom: 0;\n left: 50%;\n transform: rotate(","deg) translateX(50%);\n }\n\n .left {\n left: 0;\n top: 50%;\n transform: rotate(","deg) translateX(50%);\n }\n"])),kj[oC.FaceDirection.DOWN],kj[oC.FaceDirection.LEFT],kj[oC.FaceDirection.UP],kj[oC.FaceDirection.RIGHT]),Tj=eC.div(oj||(oj=TD(["\n width: 70px;\n transform: rotate(","deg);\n"])),(function(e){var t,r=e.direction;return null!==(t=kj[r])&&void 0!==t?t:0})),Aj=eC.span(sj||(sj=TD(["\n display: flex;\n margin: 4px 0;\n width: 100%;\n height: 15px;\n animation: "," 1s infinite;\n animation-direction: alternate;\n\n &::before,\n &::after {\n content: '';\n height: 100%;\n width: 50%;\n background: rgba(255, 255, 255, 0.8);\n }\n\n &::before {\n transform: skewY(32deg);\n }\n\n &::after {\n width: 50%;\n transform: skewY(-32deg);\n }\n"])),Sj),Ij=eC(Aj)(cj||(cj=TD(["\n animation-delay: 0s;\n"]))),_j=eC(Aj)(uj||(uj=TD(["\n animation-delay: 0.5s;\n"]))),xj=eC(Aj)(lj||(lj=TD(["\n animation-delay: 1s;\n"])));function Pj(e){var t=e.type;return t!==oC.FaceDirection.FRONTAL?oy.createElement(Tj,{direction:t},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)):oy.createElement(Bj,null,oy.createElement(Tj,{className:"top"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)),oy.createElement(Tj,{className:"right"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)),oy.createElement(Tj,{className:"bottom"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)),oy.createElement(Tj,{className:"left"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)))}Pj.propTypes={type:Py.oneOf([oC.FaceDirection.LEFT,oC.FaceDirection.RIGHT,oC.FaceDirection.UP,oC.FaceDirection.FRONTAL])},Pj.defaultProps={type:oC.FaceDirection.LEFT};var Rj,Nj=oC.ErrorDuration;function Oj(e){var t=e.children,r=e.errorMsg,n=e.className;return oy.isValidElement(t)?r?oy.createElement("div",{className:n},oy.cloneElement(t,{errorMsg:r})):null:r?oy.createElement("div",{className:n},r):null}function Lj(e){var t=e.children,r=e.className,n=e.error,i=oy.useRef(0),a=oy.useRef(""),o=lk.useSDKSettings().lang,s=oy.useRef(Nj.SHORT),c=n||{},u=c.msg,l=c.duration,d=void 0===l?Nj.SHORT:l,f=null==u?void 0:u[o];return Date.now()-i.current>=s.current?(i.current=Date.now(),s.current=d,a.current=f,Oj({children:t,errorMsg:f,className:r})):Oj({children:t,errorMsg:a.current,className:r})}Lj.propTypes={children:Py.node,className:Py.string},Lj.defaultProps={className:""};var Dj=eC.circle(Rj||(Rj=TD(["\n transition: stroke-dashoffset 0.4s;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n"])));function Uj(e){var t=e.className,r=e.style,n=e.radius,i=e.strokeWidth,a=e.progress,o=e.hasError,s=e.activeColor,c=e.innerPadding,u=e.outsideRingColor,l=e.outsideRingOpacity,d=e.insideRingColor,f=e.insideRingWidth,p=e.insideRingStrokeDash,h=e.errorRingWidth,g=e.errorRingColor,m=e.dashedRingColor,y=e.dashedRingOpacity,v=e.dashedRingWidth,b=e.dashedRingLineThick,C=e.dashedRingLineSpacing,w=e.dashedInsideRingColor,E=e.dashedInsideRingWidth,k=e.showOutsideRing,S=e.showInsideRing,B=e.showDashedRing,T=2*n,A=2*n,I=n-2*i,_=2*Math.PI*I,x=_-a/100*_,P=I-v/2-i/2-c,R=2*Math.PI*P,N=R-a/100*R,O=P-E/2-v/2,L=2*Math.PI*O,D=L-a/100*L,U=O-f/2-E/2,M=O-h/2-E/2;return oy.createElement("svg",{className:t,style:r,width:T,height:A,viewBox:"0 0 ".concat(T," ").concat(A),fill:"none",xmlns:"http://www.w3.org/2000/svg"},k?oy.createElement(oy.Fragment,null,oy.createElement("circle",{"data-testid":"outsideRing",opacity:l,cx:n,cy:n,r:I,stroke:u}),oy.createElement(Dj,{"data-testid":"outsideAnimateRing",cx:n,cy:n,r:I,stroke:s,strokeWidth:i,strokeLinecap:"round",strokeDasharray:"".concat(_," ").concat(_),style:{strokeDashoffset:x}})):null,B?oy.createElement(oy.Fragment,null,oy.createElement("circle",{"data-testid":"dashedRing",opacity:y,cx:n,cy:n,r:P,stroke:m,strokeWidth:v,strokeDasharray:"".concat(b," ").concat(C)}),oy.createElement("mask",{id:"mask0","mask-type":"alpha",maskUnits:"userSpaceOnUse"},oy.createElement("circle",{cx:n,cy:n,r:P,stroke:s,strokeWidth:v,strokeDasharray:"".concat(b," ").concat(C)})),oy.createElement("g",{mask:"url(#mask0)"},oy.createElement(Dj,{"data-testid":"dashedAnimateRing",cx:n,cy:n,r:P,stroke:s,strokeWidth:v,strokeDasharray:"".concat(R," ").concat(R),style:{strokeDashoffset:N}})),oy.createElement("circle",{"data-testid":"dashedInsideRing",opacity:y,cx:n,cy:n,r:O,stroke:w,strokeWidth:E}),oy.createElement(Dj,{"data-testid":"dashedInsideAnimateRing",cx:n,cy:n,r:O,stroke:s,strokeWidth:E,strokeLinecap:"round",strokeDasharray:"".concat(L," ").concat(L),style:{strokeDashoffset:D}})):null,S?oy.createElement("circle",{"data-testid":"insideRing",strokeDasharray:p,cx:n,cy:n,r:U,stroke:d,strokeWidth:f}):null,o?oy.createElement("circle",{"data-testid":"errorRing",strokeDasharray:p,cx:n,cy:n,r:M,stroke:g,strokeWidth:h}):null)}function Mj(e){var t=e.className;return oy.createElement("svg",{className:t,width:"320",height:"320",viewBox:"0 0 320 320",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M320 0H0V320H320V0ZM160 296C235.111 296 296 235.111 296 160C296 84.8893 235.111 24 160 24C84.8893 24 24 84.8893 24 160C24 235.111 84.8893 296 160 296Z",fill:"currentColor"}))}function Vj(){return(Vj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}Uj.propTypes={className:Py.string,style:Py.shape({}),radius:Py.number,strokeWidth:Py.number,progress:Py.number,hasError:Py.bool,activeColor:Py.string,innerPadding:Py.number,outsideRingColor:Py.string,outsideRingOpacity:Py.number,insideRingColor:Py.string,insideRingWidth:Py.number,insideRingStrokeDash:Py.string,errorRingColor:Py.string,errorRingWidth:Py.number,dashedRingColor:Py.string,dashedRingOpacity:Py.number,dashedRingWidth:Py.number,dashedRingLineThick:Py.number,dashedRingLineSpacing:Py.number,dashedInsideRingColor:Py.string,dashedInsideRingWidth:Py.number,showOutsideRing:Py.bool,showDashedRing:Py.bool,showInsideRing:Py.bool},Uj.defaultProps={className:"",style:null,radius:160,strokeWidth:3,progress:0,hasError:!1,activeColor:"#0092ff",innerPadding:5,outsideRingColor:"#f2f6f9",outsideRingOpacity:.1,insideRingColor:"#f2f6f9",insideRingWidth:3,insideRingStrokeDash:"0",errorRingColor:"#df0000",errorRingWidth:3,dashedRingColor:"#ffffff",dashedRingOpacity:.3,dashedRingWidth:10,dashedRingLineThick:1,dashedRingLineSpacing:6,dashedInsideRingColor:"#ffffff",dashedInsideRingWidth:0,showOutsideRing:!0,showDashedRing:!0,showInsideRing:!0},Mj.propTypes={className:Py.string},Mj.defaultProps={className:""};var jj,Fj,zj="undefined"!=typeof window?oy.useLayoutEffect:oy.useEffect,Kj={popupContent:{tooltip:{position:"absolute",zIndex:999},modal:{position:"relative",margin:"auto"}},popupArrow:{height:"8px",width:"16px",position:"absolute",background:"transparent",color:"#FFF",zIndex:-1},overlay:{tooltip:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",zIndex:999},modal:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",display:"flex",zIndex:999}}},qj=["top left","top center","top right","right top","right center","right bottom","bottom left","bottom center","bottom right","left top","left center","left bottom"],Hj=function(e,t,r,n,i){var a=i.offsetX,o=i.offsetY,s=n?8:0,c=r.split(" "),u=e.top+e.height/2,l=e.left+e.width/2,d=t.height,f=t.width,p=u-d/2,h=l-f/2,g="",m="0%",y="0%";switch(c[0]){case"top":p-=d/2+e.height/2+s,g="rotate(180deg) translateX(50%)",m="100%",y="50%";break;case"bottom":p+=d/2+e.height/2+s,g="rotate(0deg) translateY(-100%) translateX(-50%)",y="50%";break;case"left":h-=f/2+e.width/2+s,g=" rotate(90deg) translateY(50%) translateX(-25%)",y="100%",m="50%";break;case"right":h+=f/2+e.width/2+s,g="rotate(-90deg) translateY(-150%) translateX(25%)",m="50%"}switch(c[1]){case"top":p=e.top,m=e.height/2+"px";break;case"bottom":p=e.top-d+e.height,m=d-e.height/2+"px";break;case"left":h=e.left,y=e.width/2+"px";break;case"right":h=e.left-f+e.width,y=f-e.width/2+"px"}return{top:p="top"===c[0]?p-o:p+o,left:h="left"===c[0]?h-a:h+a,transform:g,arrowLeft:y,arrowTop:m}},Gj=0,Qj=oy.forwardRef((function(e,t){var r=e.trigger,n=void 0===r?null:r,i=e.onOpen,a=void 0===i?function(){}:i,o=e.onClose,s=void 0===o?function(){}:o,c=e.defaultOpen,u=void 0!==c&&c,l=e.open,d=void 0===l?void 0:l,f=e.disabled,p=void 0!==f&&f,h=e.nested,g=void 0!==h&&h,m=e.closeOnDocumentClick,y=void 0===m||m,v=e.repositionOnResize,b=void 0===v||v,C=e.closeOnEscape,w=void 0===C||C,E=e.on,k=void 0===E?["click"]:E,S=e.contentStyle,B=void 0===S?{}:S,T=e.arrowStyle,A=void 0===T?{}:T,I=e.overlayStyle,_=void 0===I?{}:I,x=e.className,P=void 0===x?"":x,R=e.position,N=void 0===R?"bottom center":R,O=e.modal,L=void 0!==O&&O,D=e.lockScroll,U=void 0!==D&&D,M=e.arrow,V=void 0===M||M,j=e.offsetX,F=void 0===j?0:j,z=e.offsetY,K=void 0===z?0:z,q=e.mouseEnterDelay,H=void 0===q?100:q,G=e.mouseLeaveDelay,Q=void 0===G?100:G,W=e.keepTooltipInside,X=void 0!==W&&W,Y=e.children,$=oy.useState(d||u),Z=$[0],J=$[1],ee=oy.useRef(null),te=oy.useRef(null),re=oy.useRef(null),ne=oy.useRef(null),ie=oy.useRef("popup-"+ ++Gj),ae=!!L||!n,oe=oy.useRef(0);zj((function(){return Z?(ne.current=document.activeElement,ve(),ge(),pe()):he(),function(){clearTimeout(oe.current)}}),[Z]),oy.useEffect((function(){"boolean"==typeof d&&(d?se():ce())}),[d,p]);var se=function(e){Z||p||(J(!0),setTimeout((function(){return a(e)}),0))},ce=function(e){var t;Z&&!p&&(J(!1),ae&&(null===(t=ne.current)||void 0===t||t.focus()),setTimeout((function(){return s(e)}),0))},ue=function(e){null==e||e.stopPropagation(),Z?ce(e):se(e)},le=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return se(e)}),H)},de=function(e){null==e||e.preventDefault(),ue()},fe=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return ce(e)}),Q)},pe=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="hidden")},he=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="auto")},ge=function(){var e,t=null==te||null===(e=te.current)||void 0===e?void 0:e.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),r=Array.prototype.slice.call(t)[0];null==r||r.focus()};oy.useImperativeHandle(t,(function(){return{open:function(){se()},close:function(){ce()},toggle:function(){ue()}}}));var me,ye,ve=function(){if(!ae&&Z&&(null==ee?void 0:ee.current)&&(null==ee?void 0:ee.current)&&(null==te?void 0:te.current)){var e,t,r=function(e,t,r,n,i,a){var o=i.offsetX,s=i.offsetY,c={arrowLeft:"0%",arrowTop:"0%",left:0,top:0,transform:"rotate(135deg)"},u=0,l=function(e){var t={top:0,left:0,width:window.innerWidth,height:window.innerHeight};if("string"==typeof e){var r=document.querySelector(e);null!==r&&(t=r.getBoundingClientRect())}return t}(a),d=Array.isArray(r)?r:[r];for((a||Array.isArray(r))&&(d=[].concat(d,qj));u<d.length;){var f={top:(c=Hj(e,t,d[u],n,{offsetX:o,offsetY:s})).top,left:c.left,width:t.width,height:t.height};if(!(f.top<=l.top||f.left<=l.left||f.top+f.height>=l.top+l.height||f.left+f.width>=l.left+l.width))break;u++}return c}(ee.current.getBoundingClientRect(),te.current.getBoundingClientRect(),N,V,{offsetX:F,offsetY:K},X);te.current.style.top=r.top+window.scrollY+"px",te.current.style.left=r.left+window.scrollX+"px",V&&re.current&&(re.current.style.transform=r.transform,re.current.style.setProperty("-ms-transform",r.transform),re.current.style.setProperty("-webkit-transform",r.transform),re.current.style.top=(null===(e=A.top)||void 0===e?void 0:e.toString())||r.arrowTop,re.current.style.left=(null===(t=A.left)||void 0===t?void 0:t.toString())||r.arrowLeft)}};void 0===(ye=w)&&(ye=!0),oy.useEffect((function(){if(ye){var e=function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){"Escape"===e.key&&me(e)}));return document.addEventListener("keyup",e),function(){ye&&document.removeEventListener("keyup",e)}}}),[me=ce,ye]),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(t){if(9===t.keyCode){var r,n=null==e||null===(r=e.current)||void 0===r?void 0:r.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),i=Array.prototype.slice.call(n);if(1===i.length)return void t.preventDefault();var a=i[0],o=i[i.length-1];t.shiftKey&&document.activeElement===a?(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),a.focus())}};return document.addEventListener("keydown",r),function(){t&&document.removeEventListener("keydown",r)}}}),[e,t])}(te,Z&&ae),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(){e()};return window.addEventListener("resize",r),function(){t&&window.removeEventListener("resize",r)}}}),[e,t])}(ve,b),function(e,t,r){void 0===r&&(r=!0),oy.useEffect((function(){if(r){var n=function(r){var n=Array.isArray(e)?e:[e],i=!1;n.forEach((function(e){e.current&&!e.current.contains(r.target)||(i=!0)})),r.stopPropagation(),i||t(r)};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),function(){r&&(document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n))}}}),[e,t,r])}(n?[te,ee]:[te],ce,y&&!g);var be,Ce=function(){return oy.createElement("div",Object.assign({},(e=ae?Kj.popupContent.modal:Kj.popupContent.tooltip,t={className:"popup-content "+(""!==P?P.split(" ").map((function(e){return e+"-content"})).join(" "):""),style:Vj({},e,B,{pointerEvents:"auto"}),ref:te,onClick:function(e){e.stopPropagation()}},!L&&k.indexOf("hover")>=0&&(t.onMouseEnter=le,t.onMouseLeave=fe),t),{key:"C",role:ae?"dialog":"tooltip",id:ie.current}),V&&!ae&&oy.createElement("div",{ref:re,style:Kj.popupArrow},oy.createElement("svg",{"data-testid":"arrow",className:"popup-arrow "+(""!==P?P.split(" ").map((function(e){return e+"-arrow"})).join(" "):""),viewBox:"0 0 32 16",style:Vj({position:"absolute"},A)},oy.createElement("path",{d:"M16 0l16 16H0z",fill:"currentcolor"}))),Y&&"function"==typeof Y?Y(ce,Z):Y);var e,t},we=!(k.indexOf("hover")>=0),Ee=ae?Kj.overlay.modal:Kj.overlay.tooltip,ke=[we&&oy.createElement("div",{key:"O","data-testid":"overlay","data-popup":ae?"modal":"tooltip",className:"popup-overlay "+(""!==P?P.split(" ").map((function(e){return e+"-overlay"})).join(" "):""),style:Vj({},Ee,_,{pointerEvents:y&&g||ae?"auto":"none"}),onClick:y&&g?ce:void 0,tabIndex:-1},ae&&Ce()),!ae&&Ce()];return oy.createElement(oy.Fragment,null,function(){for(var e={key:"T",ref:ee,"aria-describedby":ie.current},t=Array.isArray(k)?k:[k],r=0,i=t.length;r<i;r++)switch(t[r]){case"click":e.onClick=ue;break;case"right-click":e.onContextMenu=de;break;case"hover":e.onMouseEnter=le,e.onMouseLeave=fe;break;case"focus":e.onFocus=le,e.onBlur=fe}if("function"==typeof n){var a=n(Z);return!!n&&oy.cloneElement(a,e)}return!!n&&oy.cloneElement(n,e)}(),Z&&yD.createPortal(ke,(null===(be=document.getElementById("popup-root"))&&((be=document.createElement("div")).setAttribute("id","popup-root"),document.body.appendChild(be)),be)))})),Wj=rC(jj||(jj=TD(["\n .popup-content {\n margin: auto;\n background: #fff;\n width: 100%;\n padding: 5px;\n border: 1px solid #d7d7d7;\n max-width: 568px;\n border-radius: 10px;\n }\n\n [role=tooltip].popup-content {\n width: 200px;\n box-shadow: 0 0 3px rgba(0, 0, 0, .16);\n border-radius: 5px\n }\n\n .popup-overlay {\n background: rgba(0, 0, 0, .5);\n padding: 10px;\n }\n\n [data-popup=tooltip].popup-overlay {\n background: transparent\n }\n\n .popup-arrow {\n -webkit-filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n color: #fff;\n stroke-width: 2px;\n stroke: #d7d7d7;\n stroke-dasharray: 30px;\n stroke-dashoffset: -54px;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0\n }\n"]))),Xj=["open","children","overlayStyle"],Yj=function(e){var t=e.open,r=e.children,n=e.overlayStyle,i=BD(e,Xj);return oy.createElement(oy.Fragment,null,oy.createElement(Qj,ED({overlayStyle:SD(SD({},n),{},{zIndex:2e3}),closeOnDocumentClick:!1,closeOnEscape:!1,modal:!0,open:t},i),r),oy.createElement(Wj,null))};Yj.propTypes={open:Py.bool,children:Py.node,overlayStyle:Py.shape({})},Yj.defaultProps={open:!1,children:null,overlayStyle:{}};var $j,Zj,Jj,eF,tF,rF,nF,iF,aF,oF,sF,cF,uF,lF,dF,fF,pF={WARMUP_INTRO:{en:"Warming up... Please wait a moment",vi:"Đang khởi động, vui lòng chờ trong giây lát..."}},hF=eC.div(Fj||(Fj=TD(["\n font-size: 18px;\n text-align: center;\n padding: 10px;\n"]))),gF=function(e){var t=e.contentStyle,r=lk.useSDKSettings().lang;return oy.createElement(Yj,{open:!0,contentStyle:t},oy.createElement(hF,{className:"warmup-message"},pF.WARMUP_INTRO[r]))};gF.propTypes={contentStyle:Py.shape({})},gF.defaultProps={contentStyle:{}};var mF=Vb(["z-index:",";color:#ffffff;"],1020),yF=eC.div($j||($j=TD(["\n ","\n"])),mF),vF=eC(Lj)(Zj||(Zj=TD(["\n ","\n ","\n ","\n ","\n font-size: 18px;\n background: #ea3223;\n color: #fff;\n padding: 5px 10px;\n border-radius: 3px;\n position: absolute;\n white-space: pre-wrap;\n text-align: center;\n max-width: 80%;\n"])),mF,(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)}),(function(e){var t=e.bottom;return t&&Vb(["bottom:","px;"],t)}),(function(e){return e.centerY&&Vb(["top:50%;transform:translateY(-50%);"])})),bF=eC(yF)(Jj||(Jj=TD(["\n ","\n font-size: 18px;\n background: #ea3223;\n color: #fff;\n padding: 5px 10px;\n border-radius: 3px;\n position: absolute;\n left: 50%;\n transform: translate(-50%, 0);\n white-space: nowrap;\n"])),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)})),CF=eC(yF)(eF||(eF=TD(["\n position: absolute;\n ","\n ","\n font-size: ",";\n text-shadow: 2px 2px 4px #000000;\n"])),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)}),(function(e){var t=e.bottom;return t&&Vb(["bottom:","px;"],t)}),(function(){return GD.isMobile?"20px":"22px"})),wF=eC.div(tF||(tF=TD(["\n height: ",";\n position: absolute;\n ","\n ","\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: ",";\n"])),(function(){return GD.isMobile?"50px":"70px"}),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)}),(function(e){var t=e.bottom;return t&&Vb(["bottom:","px;"],t)}),1020),EF=eC.div(rF||(rF=TD(["\n width: ",";\n height: ",";\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid #ffffff;\n font-size: 16px;\n color: #fff;\n font-weight: 700;\n\n & + & {\n margin-left: 10px;\n }\n\n ","\n img {\n width: 100%;\n margin: 0;\n border-radius: 50%;\n }\n"])),(function(){return GD.isMobile?"40px":"50px"}),(function(){return GD.isMobile?"40px":"50px"}),(function(e){return!e.active&&Vb(["opacity:0.6;"])})),kF=eC.div(nF||(nF=TD(["\n color: #ffffff;\n height: 70px;\n position: absolute;\n bottom: 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: ",";\n"])),1020),SF=eC.div(iF||(iF=TD(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),BF=eC.div(aF||(aF=TD(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n color: #ffffff;\n font-size: 140px;\n opacity: 0.6;\n"]))),TF=eC.div(oF||(oF=TD(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"]))),AF=eC(Uj)(sF||(sF=TD(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),IF=eC(Mj)(cF||(cF=TD(["\n width: 100%;\n height: 100%;\n vertical-align: middle;\n margin: 0;\n color: ",";\n"])),(function(e){var t=e.color;return null!=t?t:"rgba(0, 0, 0, 0.6)"})),_F=eC.div(uF||(uF=TD(["\n position: absolute;\n z-index: -1;\n background: rgba(223, 0, 0, 0.2);\n border-radius: 50%;\n width: 86%;\n height: 86%;\n top: 7%;\n left: 7%;\n"]))),xF=nC(["from{opacity:1;}to{opacity:0;}"]),PF=eC.div(lF||(lF=TD(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n z-index: -1;\n background: rgba(255, 255, 255, 0.3);\n animation: "," 1s infinite;\n border-radius: 50%;\n"])),xF),RF=GD.isMobile?{width:640}:null,NF={background:"#000000",opacity:.6};function OF(e){var t=e.apiCheck,r=e.mode,n=e.onLivenessDetectionDone,i=e.onClose,a=e.onError,o=e.captureFrameSettings,s=e.onFramesCaptured,c=e.frontCamera,u=e.customDirectionIcon,l=e.customStepTimeConstraints,d=e.onProcessing,f=e.customErrors,p=e.livenessSettings,h=e.apiCredentials,g=Hk.useAsset("bg_camera_mask.png"),m=Hk.useAsset("bg_camera_mask_red.png"),y=AD(oy.useState({}),2),v=y[0],b=y[1],C=v.yFaceDetectionError,w=v.yFaceVerificationStepsWrapper,E=AD(oy.useState(""),2),k=E[0],S=E[1],B=oy.useCallback((function(e){var t=e.lostY,r=e.height,n=t+25,i=n+30;return b({yFaceDetectionError:n,yFaceVerificationStepsWrapper:i+r+20}),{y:Math.floor(i)}}),[]),T=Ej({apiCheck:t,mode:r,bgCameraMask:g,bgCameraMaskRed:m,surroundStyle:NF,onLivenessDetectionDone:n,onError:a,cropAreaDimension:B,customDirectionIcon:u,captureFrameSettings:o,onFramesCaptured:s,livenessSettings:p,setRemainingTime:S,customStepTimeConstraints:l,onProcessing:d,customErrors:f,apiCredentials:h}),A=T.countdownToTakePicture,I=T.cropArea,_=T.curStepIndex,x=T.directionIcon,P=T.faceDetectionError,R=T.handleTriggerPassiveMode,N=T.handleVideoPlayed,O=T.instructions,L=T.isActiveMode,D=T.refVideo,U=T.showCountdown,M=T.steps,V=T.videoPlayed,j=T.activeCapturing,F=T.isFirstValidFrameFound,z=T.warmupDone;return oy.createElement(gU,{frontCamera:c,onVideoPlayed:N,onClose:i,flipHorizontal:c,ref:D,videoSettings:RF,onError:a},!z&&oy.createElement(gF,null),V?oy.createElement(oy.Fragment,null,oy.createElement(vF,{top:C-15,className:"face-detection-error",error:P}),I.current?oy.createElement(wU,{x:"".concat(I.current.x,"px"),y:"".concat(I.current.y,"px"),width:"".concat(I.current.width,"px"),height:"".concat(I.current.height,"px"),surroundStyle:I.current.surroundStyle},oy.createElement(IF,null),oy.createElement(AF,{progress:_/M.length*100,hasError:!!P,showDashedRing:!1,showOutsideRing:!1,insideRingWidth:1,errorRingWidth:1,insideRingStrokeDash:"2"}),U?oy.createElement(BF,null,A):null,L?oy.createElement(oy.Fragment,null,oy.createElement(TF,null,x),j&&oy.createElement(PF,null)):null,P&&oy.createElement(_F,null)):null,L?oy.createElement(oy.Fragment,null,k&&oy.createElement(bF,{top:w-30},k),O?oy.createElement(CF,{top:w+5,className:"instructions"},O):null,F&&oy.createElement(wF,{top:w+35},M.map((function(e,t){var r=e.name,n=e.image.objUrl;return oy.createElement(EF,{key:r,active:_>=t,className:"step-item"},n?oy.createElement("img",{src:n,alt:""}):oy.createElement("span",null,t+1))})))):oy.createElement(oy.Fragment,null,P?null:oy.createElement(kF,null,oy.createElement(SF,{onClick:R},oy.createElement(EU,null))))):null)}OF.propTypes={apiCheck:Py.bool,mode:Py.string,onLivenessDetectionDone:Py.func,onClose:Py.func,onError:Py.func,captureFrameSettings:Py.shape({}),onFramesCaptured:Py.func,frontCamera:Py.bool,customDirectionIcon:Py.shape({}),customStepTimeConstraints:Py.shape({}),onProcessing:Py.func,customErrors:Py.shape({}),livenessSettings:Py.shape({}),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string})},OF.defaultProps={apiCheck:!1,mode:null,onLivenessDetectionDone:null,onClose:null,onError:function(){},captureFrameSettings:{enable:!1,framesIntervalTime:180,framesBatchLength:0},onFramesCaptured:function(){},frontCamera:!0,customDirectionIcon:(dF={},wD(dF,oC.FaceDirection.LEFT,oy.createElement(Pj,{type:oC.FaceDirection.LEFT})),wD(dF,oC.FaceDirection.RIGHT,oy.createElement(Pj,{type:oC.FaceDirection.RIGHT})),wD(dF,oC.FaceDirection.UP,oy.createElement(Pj,{type:oC.FaceDirection.UP})),wD(dF,oC.FaceDirection.FRONTAL,oy.createElement(Pj,{type:oC.FaceDirection.FRONTAL})),dF),customStepTimeConstraints:(fF={},wD(fF,oC.FaceDirection.UP,{delayTime:0}),wD(fF,oC.FaceDirection.LEFT,{delayTime:0}),wD(fF,oC.FaceDirection.RIGHT,{delayTime:0}),wD(fF,oC.FaceDirection.FRONTAL,{delayTime:2e3}),fF),onProcessing:function(){},customErrors:null,livenessSettings:null,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"}};var LF,DF=Object.freeze({__proto__:null,Text:yF,FaceDetectionError:vF,CountdownTime:bF,FaceVerificationInstructions:CF,FaceVerificationStepsWrapper:wF,StepItem:EF,BottomButtonsOverlay:kF,Button:SF,CountDownOverlay:BF,InstructionsOverlay:TF,default:OF,useLivenessDetection:Ej}),UF=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.frontCamera,r=void 0===t||t,n=document.createElement("div");document.body.appendChild(n);var i=function(){yD.unmountComponentAtNode(n)};return new Promise((function(e){yD.render(oy.createElement(lk.SDKSettingsProvider,{value:{lang:"en"}},oy.createElement(gU,{checkCameraMode:!0,frontCamera:r,onVideoPlayed:function(){i(),e(null)},onClose:i,onError:function(t){i(),e(t)}})),n)}))},MF=eC.input(LF||(LF=TD(["\n display: none;\n"]))),VF=oy.forwardRef((function(e,t){var r=e.useFileBrowse,n=e.accept,i=e.frontCamera,a=e.onCaptureDone,o=e.outputEncryptionSettings,s=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.target.files,!a){e.next=8;break}if(n=r[0],!o||!o.key){e.next=7;break}return e.next=6,ET.encrypt({blob:n,key:o.key});case 6:i=e.sent;case 7:a({file:n,encrypted:i});case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[a,o]);return oy.createElement(MF,ED({ref:t,type:"file",accept:n,onChange:s},r?{}:{capture:i?"user":"environment"}))}));VF.propTypes={useFileBrowse:Py.bool,accept:Py.string,frontCamera:Py.bool,onCaptureDone:Py.func,outputEncryptionSettings:Py.shape({key:Py.string})},VF.defaultProps={useFileBrowse:!1,accept:"image/*",frontCamera:!1,onCaptureDone:null,outputEncryptionSettings:{key:""}};var jF,FF=Object.freeze({__proto__:null,Camera:EU}),zF={LANDSCAPE:"landscape",PORTRAIT:"portrait",DESKTOP:"desktop"},KF=function(){var e=oy.useRef(screen.width>screen.height?zF.LANDSCAPE:zF.PORTRAIT),t=AD(oy.useState(e.current),2),r=t[0],n=t[1];return oy.useEffect((function(){function e(){screen.width>screen.heightt?n(zF.LANDSCAPE):n(zF.PORTRAIT)}return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),GD.isMobile?{curOrientation:r,initOrientation:e.current}:{curOrientation:zF.DESKTOP}},qF=["tracking","clientSettings","livenessSettings"],HF=oC.Errors,GF=eC.div(jF||(jF=TD(["\n text-align: center;\n font-size: 20px;\n font-weight: 600;\n"])));function QF(){return(QF=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function WF(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}function XF(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function YF(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var $F=oy.createContext(null),ZF="entering",JF="entered",ez=function(e){function t(t,r){var n;n=e.call(this,t,r)||this;var i,a=r&&!r.isMounting?t.enter:t.appear;return n.appearStatus=null,t.in?a?(i="exited",n.appearStatus=ZF):i=JF:i=t.unmountOnExit||t.mountOnEnter?"unmounted":"exited",n.state={status:i},n.nextCallback=null,n}XF(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&"unmounted"===t.status?{status:"exited"}:null};var r=t.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(e){var t=null;if(e!==this.props){var r=this.state.status;this.props.in?r!==ZF&&r!==JF&&(t=ZF):r!==ZF&&r!==JF||(t="exiting")}this.updateStatus(!1,t)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var e,t,r,n=this.props.timeout;return e=t=r=n,null!=n&&"number"!=typeof n&&(e=n.exit,t=n.enter,r=void 0!==n.appear?n.appear:t),{exit:e,enter:t,appear:r}},r.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),t===ZF?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&"exited"===this.state.status&&this.setState({status:"unmounted"})},r.performEnter=function(e){var t=this,r=this.props.enter,n=this.context?this.context.isMounting:e,i=this.props.nodeRef?[n]:[yD.findDOMNode(this),n],a=i[0],o=i[1],s=this.getTimeouts(),c=n?s.appear:s.enter;e||r?(this.props.onEnter(a,o),this.safeSetState({status:ZF},(function(){t.props.onEntering(a,o),t.onTransitionEnd(c,(function(){t.safeSetState({status:JF},(function(){t.props.onEntered(a,o)}))}))}))):this.safeSetState({status:JF},(function(){t.props.onEntered(a)}))},r.performExit=function(){var e=this,t=this.props.exit,r=this.getTimeouts(),n=this.props.nodeRef?void 0:yD.findDOMNode(this);t?(this.props.onExit(n),this.safeSetState({status:"exiting"},(function(){e.props.onExiting(n),e.onTransitionEnd(r.exit,(function(){e.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))}))}))):this.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},r.setNextCallback=function(e){var t=this,r=!0;return this.nextCallback=function(n){r&&(r=!1,t.nextCallback=null,e(n))},this.nextCallback.cancel=function(){r=!1},this.nextCallback},r.onTransitionEnd=function(e,t){this.setNextCallback(t);var r=this.props.nodeRef?this.props.nodeRef.current:yD.findDOMNode(this),n=null==e&&!this.props.addEndListener;if(r&&!n){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[r,this.nextCallback],a=i[0],o=i[1];this.props.addEndListener(a,o)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},r.render=function(){var e=this.state.status;if("unmounted"===e)return null;var t=this.props,r=t.children,n=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,WF(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return oy.createElement($F.Provider,{value:null},"function"==typeof r?r(e,n):oy.cloneElement(oy.Children.only(r),n))},t}(oy.Component);function tz(){}ez.contextType=$F,ez.propTypes={},ez.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:tz,onEntering:tz,onEntered:tz,onExit:tz,onExiting:tz,onExited:tz},ez.UNMOUNTED="unmounted",ez.EXITED="exited",ez.ENTERING=ZF,ez.ENTERED=JF,ez.EXITING="exiting";var rz,nz,iz=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.remove(n):"string"==typeof r.className?r.className=YF(r.className,n):r.setAttribute("class",YF(r.className&&r.className.baseVal||"",n)));var r,n}))},az=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).appliedClasses={appear:{},enter:{},exit:{}},t.onEnter=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1];t.removeClasses(i,"exit"),t.addClass(i,a?"appear":"enter","base"),t.props.onEnter&&t.props.onEnter(e,r)},t.onEntering=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.addClass(i,a,"active"),t.props.onEntering&&t.props.onEntering(e,r)},t.onEntered=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.removeClasses(i,a),t.addClass(i,a,"done"),t.props.onEntered&&t.props.onEntered(e,r)},t.onExit=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"appear"),t.removeClasses(r,"enter"),t.addClass(r,"exit","base"),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){var r=t.resolveArguments(e)[0];t.addClass(r,"exit","active"),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"exit"),t.addClass(r,"exit","done"),t.props.onExited&&t.props.onExited(e)},t.resolveArguments=function(e,r){return t.props.nodeRef?[t.props.nodeRef.current,e]:[e,r]},t.getClassNames=function(e){var r=t.props.classNames,n="string"==typeof r,i=n?(n&&r?r+"-":"")+e:r[e];return{baseClassName:i,activeClassName:n?i+"-active":r[e+"Active"],doneClassName:n?i+"-done":r[e+"Done"]}},t}XF(t,e);var r=t.prototype;return r.addClass=function(e,t,r){var n=this.getClassNames(t)[r+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===t&&"done"===r&&i&&(n+=" "+i),"active"===r&&e&&e.scrollTop,n&&(this.appliedClasses[t][r]=n,function(e,t){e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.add(n):function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")}(r,n)||("string"==typeof r.className?r.className=r.className+" "+n:r.setAttribute("class",(r.className&&r.className.baseVal||"")+" "+n)));var r,n}))}(e,n))},r.removeClasses=function(e,t){var r=this.appliedClasses[t],n=r.base,i=r.active,a=r.done;this.appliedClasses[t]={},n&&iz(e,n),i&&iz(e,i),a&&iz(e,a)},r.render=function(){var e=this.props,t=(e.classNames,WF(e,["classNames"]));return oy.createElement(ez,QF({},t,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(oy.Component);az.defaultProps={classNames:""},az.propTypes={};var oz=function(e,t,r){return function(){var n;e.props[t]&&(n=e.props)[t].apply(n,arguments),r()}},sz=((rz={})["out-in"]=function(e){var t=e.current,r=e.changeState;return oy.cloneElement(t,{in:!1,onExited:oz(t,"onExited",(function(){r(ZF,null)}))})},rz["in-out"]=function(e){var t=e.current,r=e.changeState,n=e.children;return[t,oy.cloneElement(n,{in:!0,onEntered:oz(n,"onEntered",(function(){r(ZF)}))})]},rz),cz=((nz={})["out-in"]=function(e){var t=e.children,r=e.changeState;return oy.cloneElement(t,{in:!0,onEntered:oz(t,"onEntered",(function(){r(JF,oy.cloneElement(t,{in:!0}))}))})},nz["in-out"]=function(e){var t=e.current,r=e.children,n=e.changeState;return[oy.cloneElement(t,{in:!1,onExited:oz(t,"onExited",(function(){n(JF,oy.cloneElement(r,{in:!0}))}))}),oy.cloneElement(r,{in:!0})]},nz),uz=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).state={status:JF,current:null},t.appeared=!1,t.changeState=function(e,r){void 0===r&&(r=t.state.current),t.setState({status:e,current:r})},t}XF(t,e);var r=t.prototype;return r.componentDidMount=function(){this.appeared=!0},t.getDerivedStateFromProps=function(e,t){return null==e.children?{current:null}:t.status===ZF&&"in-out"===e.mode?{status:ZF}:!t.current||((r=t.current)===(n=e.children)||oy.isValidElement(r)&&oy.isValidElement(n)&&null!=r.key&&r.key===n.key)?{current:oy.cloneElement(e.children,{in:!0})}:{status:"exiting"};var r,n},r.render=function(){var e,t=this.props,r=t.children,n=t.mode,i=this.state,a=i.status,o=i.current,s={children:r,current:o,changeState:this.changeState,status:a};switch(a){case ZF:e=cz[n](s);break;case"exiting":e=sz[n](s);break;case JF:e=o}return oy.createElement($F.Provider,{value:{isMounting:!this.appeared}},e)},t}(oy.Component);uz.propTypes={},uz.defaultProps={mode:"out-in"};var lz={DEFAULT:"default",ERROR:"error"};function dz(e){var t=e.className,r=e.width,n=e.height,i=e.type,a=e.strokeStyles,o=e.strokeWidth,s=e.radius,c=e.paddingStyle,u=oy.useMemo((function(){var e;return SD((wD(e={},lz.DEFAULT,{fill:"none",strokeWidth:o,stroke:"#fff",strokeDasharray:"7, 4",opacity:.6}),wD(e,lz.ERROR,{fill:"rgba(234,50,35, 0.1)",strokeWidth:o,stroke:"#ea3223"}),e),a)}),[o,a]),l=s+.8*o,d=u[i];return oy.createElement("svg",{width:r,height:n,className:t},oy.createElement("rect",{x:o/2,y:o/2,rx:s,ry:s,width:r-o,height:n-o,style:d}),oy.createElement("path",{d:"M0,".concat(l," Q0,0 ").concat(l,",0 L0,0 Z"),style:c}),oy.createElement("path",{d:"M0,".concat(n-l," Q0,").concat(n," ").concat(l,",").concat(n," L0,").concat(n," Z"),style:c}),oy.createElement("path",{d:"M".concat(r-l,",").concat(n," Q").concat(r,",").concat(n," ").concat(r,",").concat(n-l," L").concat(r,",").concat(n," Z"),style:c}),oy.createElement("path",{d:"M".concat(r-l,",0 Q").concat(r,",0 ").concat(r,",").concat(l," L").concat(r,",0 Z"),style:c}))}dz.propTypes={className:Py.string,width:Py.number,height:Py.number,strokeWidth:Py.number,strokeStyles:Py.shape({}),type:Py.oneOf([lz.DEFAULT,lz.ERROR]),radius:Py.number,paddingStyle:Py.shape({})},dz.defaultProps={className:"",width:600,height:400,strokeWidth:2,strokeStyles:{},type:lz.DEFAULT,radius:10,paddingStyle:{fill:"rgba(0, 0, 0, 0.6)"}};var fz,pz,hz,gz,mz,yz,vz,bz,Cz,wz,Ez,kz,Sz,Bz,Tz,Az,Iz,_z,xz,Pz=Vb([".flipY-exit{animation-name:",";animation-duration:","ms;animation-timing-function:ease-in;}.flipY-enter{animation-name:",";animation-duration:","ms;animation-timing-function:ease-out;}"],nC(["from{transform:perspective(400px);}to{transform:perspective(400px) rotateY(90deg);}"]),500,nC(["from{transform:perspective(400px) rotateY(-90deg);}to{transform:perspective(400px);}"]),500),Rz=Object.freeze({__proto__:null,animationDuration:500,default:Pz}),Nz=Vb([".slide-horizontal{animation-name:",";animation-iteration-count:infinite;animation-duration:2000ms;animation-timing-function:linear;}.slide-vertical{animation-name:",";animation-iteration-count:infinite;animation-duration:2000ms;animation-timing-function:linear;}"],nC(["from,to{transform:translate3d(-","px,0,0);}50%{transform:translate3d(","px,0,0);}"],20,20),nC(["from,to{transform:translate3d(0,-","px,0);}50%{transform:translate3d(0,","px,0);}"],20,20)),Oz=Object.freeze({__proto__:null,default:Nz}),Lz=Vb([".blink{animation-name:",";animation-iteration-count:infinite;animation-duration:2000ms;animation-timing-function:linear;}"],nC(["from,to{opacity:1;}50%{opacity:0;}"])),Dz=Object.freeze({__proto__:null,default:Lz}),Uz=eC.div(fz||(fz=TD(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: ","; // must be higher than BASE_Z_INDEX and lower than other layers\n"])),1001),Mz=Vb([".splash-enter{animation-name:",";animation-duration:","ms;animation-timing-function:ease-in;}"],nC(["from{background:#000;}to{}"]),300),Vz=eC.div(pz||(pz=TD(["\n ","\n"])),Mz),jz=function(e){var t=e.keyForTransition,r=void 0===t?0:t;return oy.createElement(Vz,null,oy.createElement(uz,null,oy.createElement(az,{key:r,timeout:{enter:300,exit:0},classNames:"splash",unmountOnExit:!1},oy.createElement(Uz,null))))},Fz=Object.freeze({__proto__:null,default:jz}),zz=Vb([".spin{animation-name:",";animation-iteration-count:infinite;animation-duration:1000ms;animation-timing-function:linear;}"],nC(["from{transform:rotate(0deg);}to{transform:rotate(360deg);}"])),Kz=Object.freeze({__proto__:null,default:zz}),qz=Object.freeze({__proto__:null,flipY:Rz,slide:Oz,blink:Dz,splash:Fz,spin:Kz}),Hz=jz,Gz=eC.div(hz||(hz=TD(["\n ","\n ","\n"])),Pz,zz),Qz=eC.img(gz||(gz=TD(["\n border-radius: 5px;\n opacity: 0.7;\n height: 38px;\n"]))),Wz=eC.div(mz||(mz=TD(["\n cursor: pointer;\n text-align: center;\n width: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n position: fixed;\n\n ","\n"])),60,1020,GD.isMobile?Vb(["top:",";"],(function(e){return e.y})):Vb(["bottom:","px;"],10)),Xz=eC.div(yz||(yz=TD(["\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n margin: auto;\n width: ","px;\n height: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n"])),100,100,1020),Yz=eC.div(vz||(vz=TD(["\n color: #fff;\n text-align: center;\n"]))),$z=eC.div(bz||(bz=TD(["\n transform: translateZ(1000px); // to fix rotating bug on safari\n transform-style: preserve-3d;\n position: absolute;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),Zz=eC.div(Cz||(Cz=TD(["\n display: flex;\n align-items: center;\n"]))),Jz=eC(Yz)(wz||(wz=TD(["\n font-size: 20px;\n margin-left: 10px;\n color: #fff;\n"]))),eK=eC(Yz)(Ez||(Ez=TD(["\n font-size: 20px;\n margin-left: 10px;\n color: green;\n position: absolute;\n left: 0;\n top: 10px;\n background: white;\n z-index: ",";\n"])),1030),tK=eC(Yz)(kz||(kz=TD(["\n position: absolute;\n font-size: 16px;\n text-align: center;\n color: #fff;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),rK=eC(tK)(Sz||(Sz=TD(["\n background: #ea3223;\n padding: 5px 10px;\n border-radius: 3px;\n"]))),nK=eC(Yz)(Bz||(Bz=TD(["\n position: absolute;\n font-size: 18px;\n text-align: center;\n border-radius: 3px;\n padding: 5px 10px;\n background: #ea3223;\n color: #fff;\n margin: 0 10px;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),iK=(eC.div(Tz||(Tz=TD(["\n font-size: 18px;\n text-align: center;\n padding: 10px;\n"]))),eC(dz)(Az||(Az=TD(["\n position: absolute;\n top: 0;\n left: 0;\n"])))),aK={BTN_OK:{en:"OK",vi:"Tôi đã hiểu"},FRONT:{en:"front",vi:"trước"},BACK:{en:"back",vi:"sau"},BTN_USE_THIS_PICTURE:{en:"Use this picture",vi:"Dùng ảnh này"},BTN_TRY_AGAIN:{en:"Try again",vi:"Thử lại"},CONFIRM_POPUP_VALID_QR:{en:"QR code scanned",vi:"Đã quét được mã QR"},CONFIRM_POPUP_INVALID_QR:{en:"Could not scan QR code",vi:"Không quét được mã QR"}},oK=oC.IDCardMessage,sK=eC.div(Iz||(Iz=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),cK=eC.div(_z||(_z=TD(["\n text-align: center;\n font-size: 1rem;\n"]))),uK=eC.button(xz||(xz=TD(["\n margin-top: 20px;\n width: 100%;\n max-width: 160px;\n height: 50px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 0.25rem;\n color: #fff;\n font-weight: 400;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.tsBlue})),lK=function(e){var t=e.onOk,r=e.maxSessionTime,n=lk.useSDKSettings().lang;return oy.createElement(sK,null,oy.createElement(cK,{className:"popup-message"},IV(oK.TIMEOUT_INSTRUCTION[n])({x:r})),oy.createElement(uK,{className:"popup-button",onClick:t},aK.BTN_OK[n]))};lK.propTypes={onOk:Py.func,maxSessionTime:Py.number},lK.defaultProps={onOk:function(){},maxSessionTime:30};var dK=function(){var e=AD(oy.useState(!1),2),t=e[0],r=e[1],n=AD(oy.useState(null),2),i=n[0],a=n[1],o=AD(oy.useState({}),2),s=o[0],c=o[1];return{showPopup:oy.useCallback((function(e){var t=e.popupType,n=e.props;c(void 0===n?{}:n),a(t),r(null!==t)}),[]),popupShown:t,popupType:i,props:s}},fK="SESSION_TIMEOUT",pK="CONFIRM",hK="QR_INVALID",gK="QR_INSTRUCTIONS",mK=oC.Errors;function yK(e,t){return Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)}function vK(e,t){return Math.sqrt(yK(e,t))}function bK(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.canvas,r=e.imgMargin,n=void 0===r?.15:r,i=window,a=i.cv,o=t.width,s=t.height,c=n;c<1&&(c=parseInt(.5*(s+o)*c,10));var u=a.imread(t),l=new a.Mat;return a.copyMakeBorder(u,l,c,c,c,c,a.BORDER_CONSTANT,new a.Scalar(0,0,0,255)),u.delete(),{mat:l,margin:c}}function CK(e,t){var r=window.cv,n=AD(t.map((function(e){return e.location})),4),i=n[0],a=n[1],o=n[2],s=n[3],c=vK(o,s),u=vK(a,i),l=Math.max(c,u),d=vK(a,o),f=vK(i,s),p=Math.max(d,f),h=[i.x,i.y,a.x,a.y,o.x,o.y,s.x,s.y],g=[0,0,l-1,0,l-1,p-1,0,p-1],m=r.imread(e),y=new r.Mat,v=new r.Size(l,p),b=r.matFromArray(4,1,r.CV_32FC2,h),C=r.matFromArray(4,1,r.CV_32FC2,g),w=r.getPerspectiveTransform(b,C);r.warpPerspective(m,y,w,v,r.INTER_LINEAR,r.BORDER_CONSTANT,new r.Scalar);var E=new ImageData(new Uint8ClampedArray(y.data),y.cols,y.rows);return m.delete(),y.delete(),b.delete(),C.delete(),E}function wK(e){var t=e.corners,r=e.width,n=e.height,i=Number.MAX_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER;t.forEach((function(e){var t=e.location,r=t.x,n=t.y;i=Math.min(i,r),a=Math.min(a,n),o=Math.max(o,r),s=Math.max(s,n)}));var c=.02;return i/r>=c&&a/n>=c&&(n-s)/n>=c&&(r-o)/r>=c}function EK(){return kK.apply(this,arguments)}function kK(){return(kK=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c,u,l,d,f,p=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=p.length>0&&void 0!==p[0]?p[0]:{},r=t.canvas,n=t.paddingPercent,i=void 0===n?.04:n,a=r.width,o=r.height,s=Math.floor(a*i),c=Math.floor(o*i),u=a-2*s,l=o-2*c,d=document.createElement("canvas"),f=d.getContext("2d"),d.width=u,d.height=l,f.drawImage(r,s,c,u,l,0,0,u,l),e.abrupt("return",jB.isCardGlare(d));case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function SK(e){for(var t,r,n,i,a,o,s,c=e.length,u=0;u<c;u++){var l=(u+c-1)%c,d=(u+1)%c,f=(t=e[u].location,r=e[l].location,n=e[d].location,void 0,void 0,void 0,void 0,i={x:r.x-t.x,y:r.y-t.y},a={x:n.x-t.x,y:n.y-t.y},o=Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2)),s=Math.sqrt(Math.pow(a.x,2)+Math.pow(a.y,2)),180*Math.acos((i.x*a.x+i.y*a.y)/(o*s))/Math.PI);if(f<70||f>110)return!1}return!0}function BK(e){return TK.apply(this,arguments)}function TK(){return(TK=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.blazefaceModel,n=t.predictedIdCardCanvas,i=t.frontSide,a=n.width,o=n.height,s=Math.floor(a/3),c=Math.floor(4*o/5),u=document.createElement("canvas"),l=u.getContext("2d"),u.width=s,u.height=c,l.drawImage(n,0,Math.floor(o/5),s,c,0,0,s,c),e.next=12,MS.getModelPredictions({model:r,sCanvas:u});case 12:if(d=e.sent,f=d.filter((function(e){var t=e.topLeft,r=e.bottomRight,n=AD(e.probability,1)[0],i=e.landmarks;return!(n<.9||i.length<4||TS.rectAreaRatio({small:{coords:[t,r]},big:{coords:[[0,0],[MS.SIZE,MS.SIZE]]}})<.025)})),p=f.length,!i){e.next=22;break}if(0!==p){e.next=18;break}return e.abrupt("return",mK.id_detector_error_front_side_no_faces);case 18:if(!(p>1)){e.next=20;break}return e.abrupt("return",mK.id_detector_error_front_side_multiple_faces);case 20:e.next=24;break;case 22:if(!(p>0)){e.next=24;break}return e.abrupt("return",mK.id_detector_error_back_side_has_faces);case 24:return e.abrupt("return",null);case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var AK=function(e,t,r){return void 0===r&&(r=t,t=void 0),void 0!==r&&(r=(r=qU(r))==r?r:0),void 0!==t&&(t=(t=qU(t))==t?t:0),function(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}(qU(e),t,r)},IK="https://unpkg.com/@tsocial/tv_web_sdk_resources@1.0.0/libs/opencv.js";function _K(){return(_K=CD(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.url,n=void 0===r?IK:r,!window.cv){e.next=3;break}return e.abrupt("return",Promise.resolve());case 3:return e.next=5,aT.loadExternalScript({url:n});case 5:return e.abrupt("return",new Promise((function(e){window.cv.onRuntimeInitialized=e})));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var xK=rj((function(e){return _K.apply(this,arguments)})),PK="https://unpkg.com/@tsocial/tv_web_sdk_resources@1.0.0/models/id-card/tflite/qtf16_model_224x224.tflite",RK={0:"top-left",1:"top-right",2:"bottom-right",3:"bottom-left",4:"cccd.front",5:"passport",6:"cmnd_old.front",7:"cmnd_old.back",8:"cmnd_new.front",9:"cmnd_new.back",10:"cccd_new.front",11:"cccd_new.back"};function NK(e){var t,r,n,i,a,o=e.card,s=e.corners,c=o.box,u={x:(c[1]+c[3])/2,y:(c[0]+c[2])/2},l=c[2]-c[0],d=c[1]-c[3],f=function(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=_D(e))){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){throw e})),f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){s=!0,a=e})),f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(s);try{for(f.s();!(a=f.n()).done;){var p=a.value;switch(p.label){case"top-left":t||(t=p.location);break;case"top-right":r||(r=p.location);break;case"bottom-right":n||(n=p.location);break;case"bottom-left":i||(i=p.location)}}}catch(e){f.e(e)}finally{f.f()}if(![t,r,n,i].every(Boolean))return console.debug("Not qualified, corners missing"),!1;var h={x:(t.x+n.x)/2,y:(t.y+n.y)/2},g={x:(r.x+i.x)/2,y:(r.y+i.y)/2},m=yK(u,h),y=yK(u,g);return Math.sqrt(m)>(l+d)/8||Math.sqrt(y)>(l+d)/8?(console.debug("Not qualified, not close enough"),!1):(console.debug("Qualified"),!0)}var OK=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,n,i,a,o,s,c;return t=e,(r=[{key:"load",value:(c=CD(regeneratorRuntime.mark((function e(){var t,r,n,i=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},r=t.opencvUrl,n=t.modelUrl,e.next=3,Promise.all([xK({url:r}),this.loadModel({modelUrl:n})]);case 3:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"loadModel",value:(s=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:{},r=t.modelUrl,n=void 0===r?PK:r,e.next=3,vT.initTensorFlow({preferredBackends:["webgl","wasm","cpu"]});case 3:return e.next=5,vT.loadTFLiteModel({modelUrl:n});case 5:this.model=e.sent,i=this.model.inputs,this.inputSize=[i[0].shape[1],i[0].shape[2]];case 8:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"loadResource",value:(o=CD(regeneratorRuntime.mark((function e(){var t,r,n,i=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},r=t.modelUrl,n=void 0===r?PK:r,e.next=3,vT.preloadResource({modelUrl:n});case 3:case"end":return e.stop()}}),e)}))),function(){return o.apply(this,arguments)})},{key:"dispose",value:(a=CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.model&&this.model.dispose();case 1:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"predict",value:(i=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B,T,A,I,_=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=_.length>1&&void 0!==_[1]?_[1]:{},n=r.imgMargin,i=void 0===n?.5:n,a=r.detectThreshold,o=void 0===a?.3:a,s=r.maxNumReturns,c=void 0===s?100:s,u=window,l=u.cv,d={},f=t.width,p=t.height,d.originalWidth=f,d.originalHeight=p,h=bK({canvas:t,imgMargin:i}),g=h.margin,m=h.mat,y=AD(this.inputSize,2),v=y[0],b=y[1],C=new l.Mat,l.resize(m,C,new l.Size(v,b),0,0,l.INTER_AREA),w=m.cols/v,E=m.rows/b,(k=document.createElement("canvas")).width=v,k.height=b,k.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(C.data),C.cols,C.rows),0,0),m.delete(),C.delete(),d.canvas=k,d.margin=g,e.next=24,this.detect(k,{detectThreshold:o,maxNumReturns:c});case 24:if(S=e.sent,B={inputImage:d,card:null},T=[],A=[],S.forEach((function(e){var t=AD(e.box,4),r=t[0],n=t[1],i=t[2],a=t[3];e.clazz<=3?T.push({clazz:e.clazz,label:e.label,score:e.score,location:{x:AK(Math.floor((a+n)/2*w-g),0,f),y:AK(Math.floor((r+i)/2*E-g),0,p)},scaledLocation:{x:AK(Math.floor((a+n)/2),0,k.width),y:AK(Math.floor((r+i)/2),0,k.height)}}):A.push({label:e.label,score:e.score,box:[AK(Math.floor(r*E-g),0,p),AK(Math.floor(n*w-g),0,f),AK(Math.floor(i*E-g),0,p),AK(Math.floor(a*w-g),0,f)]})})),T.sort((function(e,t){return t.score-e.score})),A.sort((function(e,t){return t.score-e.score})),!(A.length>0)){e.next=40;break}if(NK({card:I=A[0],corners:T})){e.next=36;break}return console.debug("Not qualified.",I,T),e.abrupt("return",B);case 36:return T.sort((function(e,t){return e.clazz-t.clazz})),I.corners=T,B.card=I,e.abrupt("return",B);case 40:return e.abrupt("return",B);case 41:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"detect",value:(n=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B=this,T=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=T.length>1&&void 0!==T[1]?T[1]:{},n=r.detectThreshold,i=r.maxNumReturns,a=window,o=a.tf,s=t.width,c=t.height,u=o.tidy((function(){var e=o.expandDims(o.cast(o.image.resizeNearestNeighbor(o.browser.fromPixels(t),B.inputSize),"float32"));return B.model.predict(e)})),e.next=7,Promise.all([u["StatefulPartitionedCall:1"].data(),u["StatefulPartitionedCall:2"].data(),u["StatefulPartitionedCall:3"].array()]);case 7:for(l=e.sent,d=AD(l,3),f=d[0],p=d[1],h=AD(d[2],1),g=h[0],m=[],y=Math.min(f.length,i),v=0;v<y;v++)(b=f[v])>n&&(w=p[v],E=null!==(C=RK[Math.round(w)])&&void 0!==C?C:"NA",k=g[v],S=[k[0]*c,k[3]*s,k[2]*c,k[1]*s],m.push({score:b,clazz:w,box:S,label:E}));return e.abrupt("return",m);case 17:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,r),e}();function LK(e){return DK.apply(this,arguments)}function DK(){return(DK=CD(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.idCardModel,e.abrupt("return",new Promise((function(e,t){var n=document.createElement("canvas");setTimeout(t,1e3),r.predict(n).then(e)})));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function UK(e){return MK.apply(this,arguments)}function MK(){return(MK=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.idCardModel,n=!0,e.prev=2,i=performance.now(),e.next=6,LK({idCardModel:r});case 6:performance.now()-i>1e3&&(n=!1),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(2),n=!1;case 13:return e.abrupt("return",{fastEnough:n});case 14:case"end":return e.stop()}}),e,null,[[2,10]])})))).apply(this,arguments)}function VK(){return(VK=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c,u,l,d,f,p,h=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=h.length>0&&void 0!==h[0]?h[0]:{},r=t.opencvUrl,n=t.idCardModelUrl,i=t.blazefaceModelUrl,a=t.tfScriptUrls,"iOS"!==GD.osName||!GD.osVersion.includes("12.")){e.next=5;break}return e.next=4,xK({url:r});case 4:return e.abrupt("return",{ableToUseModel:!1});case 5:return e.next=7,vT.loadTensorFlow(a);case 7:return o=new OK,e.next=10,Promise.all([vT.loadBlazefaceModel({modelUrl:i}),o.load({opencvUrl:r,modelUrl:n})]);case 10:return s=e.sent,c=AD(s,1),u=c[0],l=!0,d=document.createElement("canvas"),e.prev=15,e.next=18,o.predict(d);case 18:return e.next=20,UK({idCardModel:o});case 20:f=e.sent,p=f.fastEnough,l=p,e.next=28;break;case 25:e.prev=25,e.t0=e.catch(15),l=!1;case 28:return e.abrupt("return",{ableToUseModel:l,idCardModel:o,blazefaceModel:u});case 29:case"end":return e.stop()}}),e,null,[[15,25]])})))).apply(this,arguments)}var jK=rj((function(){return VK.apply(this,arguments)})),FK=oC.Errors;function zK(e){var t=e.refVideo,r=e.shouldStart,n=e.cropArea,i=e.settings,a=oy.useRef(null);null===a.current&&(a.current=document.createElement("canvas"));var o=oy.useRef(!1),s=oy.useRef(DB.createResizer({width:960,height:640})),c=oy.useRef(null),u=oy.useRef([{id:null,frames:[]}]),l=oy.useCallback((function(){!0===o.current&&(o.current=!1)}),[]),d=oy.useCallback((function(){u.current=[{id:null,frames:[]}]}),[]),f=oy.useCallback((function(){var e=u.current;e[e.length-1].frames.length>0&&e.push({id:null,frames:[]})}),[]),p=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,a,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.workingCanvas,n=s.current,a=u.current,o=n.resize({srcCanvas:r}),c=o.toDataURL("image/jpeg",i.saveFrameQuality/100).split(",")[1],a[a.length-1].frames.push({base64:c});case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[i]),h=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var r,n,s,u,l,d,f,h,g,m,y;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i){e.next=2;break}return e.abrupt("return");case 2:if(r=i.frameCaptureIntervalMs,i.enableRecording){e.next=5;break}return e.abrupt("return");case 5:n=c.current,s=t.current,o.current=!0,u=n.cropX,l=n.cropY,d=n.cropWidth,f=n.cropHeight,(h=a.current).width=d,h.height=f,g=h.getContext("2d"),m=null;case 14:if(g.drawImage(s,u,l,d,f,0,0,d,f),!r){e.next=25;break}if(!((y=(new Date).getTime())-m>=r)){e.next=23;break}return e.next=22,p({workingCanvas:h});case 22:m=y;case 23:e.next=27;break;case 25:return e.next=27,p({workingCanvas:h});case 27:if(o.current){e.next=29;break}return e.abrupt("break",33);case 29:return e.next=31,Qk.sleep(15);case 31:e.next=14;break;case 33:case"end":return e.stop()}}),e)}))),[t,p,i]);return oy.useEffect((function(){var e=t.current;function i(){return(i=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return c.current=bS.analyzeVideoAndWindowSizes(e,n),t.next=3,h();case 3:case"end":return t.stop()}}),t)})))).apply(this,arguments)}return r&&n&&function(){i.apply(this,arguments)}(),function(){l()}}),[r,n,t,l,f,h]),{refWorkingCanvas:a,stopCheckFrame:l,splitVideos:f,resetRecordedVideos:d,checkFrame:h,refRecordedVideos:u}}var KK,qK,HK,GK=function(e){var t=e.lang,r=e.onAboutToTimeout,n=e.onSessionTimeout,i=e.onVideoTimeLimitReached,a=e.settings,o=e.shouldStartTimers,s=e.sessionTime,c=oy.useRef(),u=AD(oy.useState(0),2),l=u[0],d=u[1],f=oy.useCallback((function(){clearInterval(c.current)}),[]),p=oy.useCallback((function(){d((function(e){return e+1}))}),[]);return oy.useEffect((function(){if(o){var e=a.maxRecordingTimePerVideo,t=0,u=s/3;c.current=setInterval((function(){var a=s-(t+=1);a<=u&&r&&r({curTimeLeft:a}),t>0&&t%e==0&&i&&i(),0===a&&(f(),n&&n())}),1e3)}return function(){f()}}),[o,t,r,f,n,i,l,a,s]),{stopTimers:f,startTimers:p}},QK=function(e){var t=e.shouldStart,r=e.refVideo,n=e.cropArea,i=e.settings,a=e.onModelErrorChange,o=e.frontSide,s=e.onDebugInfoChange,c=e.onAboutToTimeout,u=e.onSessionTimeout,l=e.onCaptureDone,d=e.outputEncryptionSettings,f=e.quality,p=oy.useRef(!1),h=AD(oy.useState(!1),2),g=h[0],m=h[1],y=oy.useRef((function(){})),v=zk.useSDKTracking().sendEvent,b=oy.useRef(),C=oy.useRef(),w=oy.useRef(),E=lk.useSDKSettings(),k=E.debug,S=E.lang,B=E.enableAntiDebug;oy.useEffect((function(){B&&bT.enableAntiDebug()}),[B]);var T=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return v({tag:o?"id_front":"id_back",event:"sdk_ui.auto_capture",log:{}}),e.next=3,y.current(t);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[v,o]),A=oy.useCallback((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];a.apply(void 0,t);var n=$V(t,"0.code");n&&n!==b.current&&v({tag:o?"id_front":"id_back",event:"sdk_ui.show_alert",log:{alert:n}}),b.current=n}),[a,o,v]),I=function(e){var t=e.refVideo,r=e.shouldStart,n=e.cropArea,i=e.settings,a=e.onError,o=e.frontSide,s=e.onAutoCaptureSuccess,c=e.quality,u=oy.useRef(null);null===u.current&&(u.current=document.createElement("canvas"));var l=oy.useRef(!1),d=oy.useRef(null),f=AD(oy.useState(!1),2),p=f[0],h=f[1],g=oy.useRef({imageBlob:null,takenAt:null,blurScore:null,detectedCard:null}),m=oy.useRef({imageBlob:null,blurScore:null,error:null,detectedCard:null}),y=oy.useRef(!1),v=oy.useRef(!1),b=oy.useRef(null),C=oy.useRef(!1),w=oy.useRef({}),E=lk.useSDKSettings().customUrls;oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!i||p){e.next=10;break}if(!i.enableIdDetection){e.next=8;break}return e.next=4,jK(E);case 4:w.current=e.sent,b.current=i.enableBlurCheck&&w.current.ableToUseModel,e.next=9;break;case 8:b.current=!1;case 9:h(!0);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[p,i,E]);var k=oy.useCallback((function(){!0===l.current&&(l.current=!1)}),[]),S=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.blurScore,n=t.detectedCard,a=i.blurThreshold,o=g.current,s=m.current,!(r<a&&yS.hasBetterCardBlurScore(r,o.blurScore))){e.next=15;break}if(!C.current){e.next=9;break}o.imageBlob=s.imageBlob,e.next=12;break;case 9:return e.next=11,bS.takePicture({canvas:u.current,quality:c});case 11:o.imageBlob=e.sent;case 12:o.takenAt=(new Date).getTime(),o.blurScore=r,o.detectedCard=n;case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[i,c]),B=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.blurScore,n=t.detectedCard,v.current=!0,i=m.current,!yS.hasBetterCardBlurScore(r,i.blurScore)){e.next=10;break}return e.next=6,bS.takePicture({canvas:u.current,quality:c});case 6:i.imageBlob=e.sent,i.blurScore=r,i.detectedCard=n,C.current=!0;case 10:v.current=!1;case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[c]),T=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=i.waitForBestImageTimeMs,null===(r=g.current).imageBlob){e.next=8;break}if(!((new Date).getTime()-r.takenAt>t)){e.next=8;break}return e.next=7,s(r);case 7:k();case 8:case"end":return e.stop()}}),e)}))),[s,i,k]),A=oy.useCallback((function(){y.current=!0}),[]),I=oy.useCallback((function(){return new Promise((function(e){y.current=!1;var t=setInterval((function(){v.current||(clearInterval(t),e())}),150)}))}),[]),_=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){var t=i.blurThreshold,r=m.current;b.current?(A(),setTimeout((function(){I().then((function(){yS.hasBetterCardBlurScore(r.blurScore,t)||(r.error=FK.id_detector_error_blur),null===r.imageBlob?bS.takePicture({canvas:u.current,quality:c}).then((function(t){r.imageBlob=t,e(r)})):e(r)}))}),2e3)):bS.takePicture({canvas:u.current,quality:c}).then((function(t){r.imageBlob=t,e(r)}))})));case 1:case"end":return e.stop()}}),e)}))),[i,A,I,c]),x=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var r,n,s,c,f,h,v,b,E,k,A,I,_,x,P,R,N,O,L,D,U,M,V,j,F;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i&&p&&!l.current){e.next=2;break}return e.abrupt("return");case 2:g.current={imageBlob:null,takenAt:null,blurScore:null,detectedCard:null},m.current={imageBlob:null,blurScore:null,error:null,detectedCard:null},r=i.enableAutoCapture,n=i.enableBlurCheck,s=i.enableIdDetection,c=w.current,f=c.idCardModel,h=c.blazefaceModel,v=c.ableToUseModel,b=d.current,E=t.current,l.current=!0,k=b.cropX,A=b.cropY,I=b.cropWidth,_=b.cropHeight,x=b.cropWidthWithoutPadding,P=b.cropHeightWithoutPadding,(R=u.current).width=I,R.height=_,N=R.getContext("2d"),O=document.createElement("canvas"),L=O.getContext("2d"),D=s&&v?15:700;case 17:if(N.drawImage(E,k,A,I,_,0,0,I,_),C.current=!1,!s||!v){e.next=74;break}return U=null,e.next=24,f.predict(R,{detectThreshold:.3});case 24:if(!(M=e.sent).card){e.next=70;break}if(!wK({corners:M.card.corners,width:I,height:_})){e.next=67;break}if(!SK(M.card.corners)){e.next=64;break}if(V=CK(R,M.card.corners),!((j=TS.rectAreaRatio({small:{area:V.width*V.height},big:{area:x*P}}))<.5)){e.next=36;break}U=FK.id_detector_card_too_small,e.next=62;break;case 36:if(!(j>.95)){e.next=40;break}U=FK.id_detector_error_incomplete,e.next=62;break;case 40:return O.width=V.width,O.height=V.height,L.putImageData(V,0,0),e.next=45,EK({canvas:O});case 45:if(!e.sent){e.next=50;break}U=FK.glare_detected,e.next=62;break;case 50:return e.next=52,BK({blazefaceModel:h,predictedIdCardCanvas:O,frontSide:o});case 52:if(U=e.sent){e.next=62;break}if(!n){e.next=62;break}if(F=yS.calculateIdCardBlurScore({canvas:O}),!y.current){e.next=59;break}return e.next=59,B({blurScore:F,detectedCard:M.card});case 59:if(!r){e.next=62;break}return e.next=62,S({blurScore:F,detectedCard:M.card});case 62:e.next=65;break;case 64:U=FK.id_detector_validate_angle_error;case 65:e.next=68;break;case 67:U=FK.id_detector_error_incomplete;case 68:e.next=71;break;case 70:U=FK.id_detector_no_cards;case 71:return a(U),e.next=74,T();case 74:if(l.current){e.next=76;break}return e.abrupt("break",80);case 76:return e.next=78,Qk.sleep(D);case 78:e.next=17;break;case 80:case"end":return e.stop()}}),e)}))),[t,i,p,o,a,S,B,T]);oy.useEffect((function(){var e=t.current;function i(){return(i=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return d.current=bS.analyzeVideoAndWindowSizes(e,n,.05),t.next=3,x();case 3:case"end":return t.stop()}}),t)})))).apply(this,arguments)}r&&n&&p&&function(){i.apply(this,arguments)}()}),[r,n,t,k,x,p]);var P=oy.useCallback((function(){k()}),[k]);return oy.useEffect((function(){return P}),[P]),{refWorkingCanvas:u,stopCheckFrame:k,checkFrame:x,warmupDone:p,takePictureManually:_,refAbleToRunBurstMode:b}}({refVideo:r,shouldStart:t,cropArea:n,settings:i,onError:A,frontSide:o,onAutoCaptureSuccess:T,quality:f}),_=I.refWorkingCanvas,x=I.stopCheckFrame,P=I.checkFrame,R=I.warmupDone,N=I.takePictureManually,O=I.refAbleToRunBurstMode,L=zK({refVideo:r,shouldStart:t&&R,cropArea:n,settings:i}),D=L.stopCheckFrame,U=L.splitVideos,M=L.resetRecordedVideos,V=L.checkFrame,j=L.refRecordedVideos;!function(e){var t=e.debug,r=e.refRecordedVideos,n=e.refWorkingCanvas,i=e.refVideo,a=e.onChange;oy.useEffect((function(){var e;return t&&(e=setInterval((function(){var e=i.current,t=r.current,o=n.current,s=t[t.length-1],c={videoWidth:e.videoWidth,videoHeight:e.videoHeight,framesCount:s.frames.length,"window.innerWidth":window.innerWidth,"window.innerHeight":window.innerHeight,"canvas.width":null==o?void 0:o.width,"canvas.height":null==o?void 0:o.height};a&&a(JSON.stringify(c,null,2))}),1e3)),function(){return clearInterval(e)}}),[a,t,r,n,i])}({debug:k,refRecordedVideos:j,refWorkingCanvas:_,refVideo:r,onChange:s});var F=oy.useCallback((function(){D(),x(),M(),u()}),[M,D,x,u]),z=oy.useCallback((function(){U()}),[U]),K=GK({lang:S,onAboutToTimeout:c,onSessionTimeout:F,onVideoTimeLimitReached:z,settings:i,shouldStartTimers:R&&t&&(null==i?void 0:i.enableTimers),sessionTime:null==i?void 0:i.idCardSessionTime}),q=K.stopTimers,H=K.startTimers,G=oy.useCallback((function(){p.current=!1}),[]),Q=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return G(),H(),e.next=4,Promise.all([V(),P()]);case 4:case"end":return e.stop()}}),e)}))),[V,P,H,G]),W=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,s,c=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=c.length>0&&void 0!==c[0]?c[0]:{},r=t.imageBlob,n=t.error,i=t.detectedCard,!p.current){e.next=3;break}return e.abrupt("return");case 3:if(p.current=!0,m(!0),D(),x(),q(),A(null),!d||!d.key){e.next=14;break}return s=d.key,e.next=13,ET.encrypt({blob:r,key:s});case 13:a=e.sent;case 14:l({image:{blob:r,encrypted:a,detectedCard:i},error:n,recordedVideos:j.current}),m(!1),v({tag:o?"id_front":"id_back",event:"user_activity",log:{time_capture_in_seconds:(performance.now()-w.current)/1e3}});case 17:case"end":return e.stop()}}),e)}))),[D,x,q,A,l,j,o,v,d]);y.current=W;var X=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return m(!0),q(),D(),O.current||x(),e.next=6,N();case 6:return t=e.sent,e.next=9,W(t);case 9:m(!1),v({tag:o?"id_front":"id_back",event:"user_activity.capture",log:{}});case 11:case"end":return e.stop()}}),e)}))),[N,W,q,O,D,x,v,o]);return oy.useEffect((function(){t&&(v({tag:o?"id_front":"id_back",event:"user_activity.start",log:{}}),C.current=performance.now())}),[v,o,t]),oy.useEffect((function(){R&&(v({tag:o?"id_front":"id_back",event:"user_activity.show",log:{}}),v({tag:o?"id_front":"id_back",event:"sdk.load_model",log:{status:"success",time_in_ms:performance.now()-C.current}}),w.current=performance.now())}),[v,o,R]),{warmupDone:R,isProcessing:g,takePictureManually:X,restartSession:Q,resetIsProcessingImageBlobTaken:G}},WK=oC.IDCardMessage,XK=oy.forwardRef((function(e,t){var r=e.description,n=e.usePortraitMask,i=e.windowAndVideoInfo,a=e.refVideo,o=e.frontSide,s=e.settings,c=e.onCaptureDone,u=e.onUISpacingChange,l=e.outputEncryptionSettings,d=AD(oy.useState({}),2),f=d[0],p=d[1],h=f.yDescription,g=f.yMessage,m=f.yCaptureButton,y=Hk.useAsset("ic_camera.svg"),v=Hk.useAsset("ic_loading.png"),b=AD(oy.useState(""),2),C=b[0],w=b[1],E=lk.useSDKSettings(),k=E.debug,S=E.lang,B=AD(oy.useState(null),2),T=B[0],A=B[1],I=AD(oy.useState(""),2),_=I[0],x=I[1],P=AD(oy.useState(null),2),R=P[0],N=P[1],O=dK(),L=O.showPopup,D=O.popupShown,U=O.popupType,M=oy.useCallback((function(e){x(null===e?"":IV(e.msg[S])({side:o?aK.FRONT[S]:aK.BACK[S]}))}),[S,o]),V=oy.useCallback((function(){A(""),L({popupType:fK})}),[L]),j=oy.useCallback((function(){A(""),c.apply(void 0,arguments)}),[c]),F=oy.useCallback((function(e){var t=e.curTimeLeft;A(IV(WK.REMAINING_TIME[S])({x:t}))}),[S]),z=QK({shouldStart:!0,refVideo:a,cropArea:R,settings:s,onModelErrorChange:M,frontSide:o,onDebugInfoChange:w,onSessionTimeout:V,onCaptureDone:j,onAboutToTimeout:F,outputEncryptionSettings:l}),K=z.warmupDone,q=z.isProcessing,H=z.takePictureManually,G=z.restartSession,Q=z.resetIsProcessingImageBlobTaken,W=oy.useCallback((function(){L({popupType:null}),Q()}),[L,Q]),X=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return W(),e.next=3,G();case 3:case"end":return e.stop()}}),e)}))),[G,W]);oy.useEffect((function(){if(i){var e,t,r,a,o,s,c,l=i.videoAreaWidth,d=i.videoAreaHeight,f=i.lostX,h=i.lostY,g=i.clientHeight;n?(o=.7*(s=d-165),r=(c=(e=h+10)+45)+20,a=(t=c+s+10)+60):(o=GD.isMobile?l-6:Math.floor(.7*l),r=(c=(e=h+10)+50)+20,a=(t=c+(s=Math.floor(Math.min(o/1.5,g-2*h-80-100)))+10)+60);var m=Math.floor((l-o)/2)+f;N({x:m,y:c,width:o,height:s,surroundStyle:{opacity:.6,background:"#000"}});var y={yTitle:e,yDescription:t,yMessage:r,yCaptureButton:a};p(y),u(y)}}),[i,n,u]);var Y=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A(""),e.next=3,H();case 3:case"end":return e.stop()}}),e)}))),[H]);return oy.useImperativeHandle(t,(function(){return{restartSession:X}}),[X]),oy.createElement(oy.Fragment,null,!K&&oy.createElement(gF,null),k&&oy.createElement(eK,null,C),q&&oy.createElement(Xz,null,oy.createElement("img",{src:v,alt:"",className:"spin"})),R&&oy.createElement(wU,{x:"".concat(R.x,"px"),y:"".concat(R.y,"px"),width:"".concat(R.width,"px"),height:"".concat(R.height,"px"),surroundStyle:R.surroundStyle},oy.createElement(iK,{width:R.width,height:R.height,type:_?lz.ERROR:lz.DEFAULT})),!_&&oy.createElement(tK,{y:"".concat(h,"px"),className:"description"},r),_&&oy.createElement(rK,{y:"".concat(h,"px")},_),!q&&(!(null!=s&&s.disableCaptureButtonIfAlert)||!_)&&oy.createElement(Wz,{onClick:Y,y:"".concat(m,"px")},oy.createElement("img",{src:y,alt:""})),T&&oy.createElement(nK,{key:T,className:"message",y:"".concat(g,"px")},T),oy.createElement(Yj,{open:D},U===fK&&oy.createElement(lK,{onOk:X,maxSessionTime:null==s?void 0:s.idCardSessionTime})))}));XK.propTypes={usePortraitMask:Py.bool,description:Py.string,windowAndVideoInfo:Py.shape({}),refVideo:Py.shape({}),frontSide:Py.bool,settings:Py.shape({}),onCaptureDone:Py.func,onUISpacingChange:Py.func,outputEncryptionSettings:Py.shape({})},XK.defaultProps={usePortraitMask:!1,description:"",windowAndVideoInfo:{},refVideo:{},frontSide:!0,settings:{},onCaptureDone:function(){},onUISpacingChange:function(){},outputEncryptionSettings:null};var YK,$K,ZK=eC.div(KK||(KK=TD(["\n background: ",";\n backdrop-filter: blur(12px);\n border-radius: 8px;\n top: ",";\n position: absolute;\n z-index: ",";\n color: #fff;\n padding: 10px;\n margin: 0 10px;\n max-width: 275px;\n text-align: center;\n"])),(function(e){return e.background}),(function(e){return e.y}),1020),JK=eC.div(qK||(qK=TD(["\n width: 0;\n height: 0;\n border-left: 20px solid transparent;\n border-right: 20px solid transparent;\n border-bottom: ",";\n position: absolute;\n left: 50%;\n top: ",";\n transform: translateX(-50%);\n"])),(function(e){return"".concat(e.arrowSize,"px solid ").concat(e.color)}),(function(e){return"".concat(e.top,"px")})),eq=function(e){var t=e.children,r=e.y;return oy.createElement(ZK,{y:r,background:"#00ce78"},oy.createElement(JK,{arrowSize:10,top:-10,color:"#00ce78"}),t)},tq=eC.div(HK||(HK=TD(["\n text-align: center;\n position: absolute;\n font-size: 18px;\n border-radius: 3px;\n padding: 5px 10px;\n background: #ea3223;\n color: #fff;\n margin: auto;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),rq={QR_INSTRUCTIONS_TEXT:{en:oy.createElement("span",null,"Please follow the instructions below to scan QR code:",oy.createElement("br",null),oy.createElement("br",null)," Move camera to the position of QR code on ID card. Align QR code to fit into camera frame to scan it"),vi:oy.createElement("span",null,"Vui lòng quét mã QR theo hướng dẫn sau:",oy.createElement("br",null),oy.createElement("br",null)," Đưa camera vào vị trí mã QR trên CCCD. Canh vừa mã QR vào 4 góc khung hình để quét mã")},QR_INSTRUCTIONS_START_BUTTON:{en:"Scan QR code",vi:"Tiến hành quét mã QR"},QR_INSTRUCTIONS_COUNTDOWN:{en:"Start in <%= x %> s",vi:"Bắt đầu trong <%= x %> giây"},QR_INVALID_POPUP_TITLE:{en:"Invalid QR code",vi:"QR không hợp lệ"},QR_INVALID_POPUP_DESCRIPTION:{en:"Please check and make sure scanning QR code on ID card",vi:"Vui lòng kiểm tra và đảm bảo việc thực hiện quét QR trên CCCD thật"},QR_INVALID_POPUP_RETRY_BUTTON:{en:"Scan QR (on ID card)",vi:"Quét lại QR (trên CCCD)"},QR_INVALID_POPUP_SKIP_BUTTON:{en:"Skip",vi:"Bỏ qua"},QR_TOOLTIP:{en:"Fit QR code to 4 corners of camera frame and try to move camera [in or out] to scan QR code",vi:"Canh vừa mã QR vào 4 góc khung hình và thử dịch chuyển camera [xa - gần] để quét được mã QR"},REMAINING_TIME:{en:"Remaining time: <%= x %> seconds",vi:"Thời gian còn lại: <%= x %> giây"},SESSION_TIMEOUT_POPUP_DESCRIPTION:{en:oy.createElement("span",null,"Quá thời gian quét. Vui lòng thực hiện lại.",oy.createElement("br",null),oy.createElement("br",null)," Đưa camera vào vị trí mã QR trên thẻ. Canh vừa vào 4 góc và"," ",oy.createElement("strong",{className:"text-primary"},"thử dịch chuyển camera [xa - gần]")," để camera điện thoại lấy nét chuẩn hơn."),vi:oy.createElement("span",null,"Quá thời gian quét. Vui lòng thực hiện lại.",oy.createElement("br",null),oy.createElement("br",null)," Đưa camera vào vị trí mã QR trên thẻ. Canh vừa vào 4 góc và"," ",oy.createElement("strong",{className:"text-primary"},"thử dịch chuyển camera [xa - gần]")," để camera điện thoại lấy nét chuẩn hơn.")},SESSION_TIMEOUT_POPUP_RETRY_BUTTON:{en:"Retry",vi:"Thực hiện lại"},SESSION_TIMEOUT_POPUP_SKIP_BUTTON:{en:"Skip",vi:"Bỏ qua"}},nq=function(e){var t=e.children,r=e.mt,n=e.mb,i=e.ml,a=e.mr,o=e.mx,s=e.my,c=e.pt,u=e.pb,l=e.pl,d=e.pr,f=e.px,p=e.py,h=t.props.style||{},g={};return null!==o&&(g.marginLeft=o,g.marginRight=o),null!==s&&(g.marginTop=s,g.marginBottom=s),null!==r&&(g.marginTop=r),null!==n&&(g.marginBottom=n),null!==i&&(g.marginLeft=i),null!==a&&(g.marginRight=a),null!==f&&(g.paddingLeft=f,g.paddingRight=f),null!==p&&(g.paddingTop=p,g.paddingBottom=p),null!==c&&(g.paddingTop=c),null!==u&&(g.paddingBottom=u),null!==l&&(g.paddingLeft=l),null!==d&&(g.paddingRight=d),oy.cloneElement(t,{style:SD(SD({},h),g)})};nq.propTypes={mt:Py.string,ml:Py.string,mr:Py.string,mb:Py.string,mx:Py.string,my:Py.string,pt:Py.string,pl:Py.string,pr:Py.string,pb:Py.string,px:Py.string,py:Py.string},nq.defaultProps={mt:null,ml:null,mr:null,mb:null,mx:null,my:null,pt:null,pl:null,pr:null,pb:null,px:null,py:null};var iq,aq,oq,sq,cq,uq,lq=eC.button(YK||(YK=TD(["\n width: 100%;\n max-width: 294px;\n height: 66px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 3px;\n color: #fff;\n font-weight: normal;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.tsBlue})),dq=eC.a($K||($K=TD(["\n color: ",";\n cursor: pointer;\n"])),(function(e){return e.theme.tsBlue})),fq=eC.div(iq||(iq=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),pq=eC.div(aq||(aq=TD(["\n color: ",";\n font-weight: bold;\n font-size: 16px;\n"])),(function(e){return e.theme.tsSecondary})),hq=eC.div(oq||(oq=TD(["\n color: ",";\n font-weight: normal;\n font-size: 16px;\n text-align: center;\n"])),(function(e){return e.theme.tsSecondary})),gq=function(e){var t=e.onRetry,r=e.onSkip,n=lk.useSDKSettings().lang;return oy.createElement(fq,null,oy.createElement(nq,{mt:"25px"},oy.createElement(pq,null,rq.QR_INVALID_POPUP_TITLE[n])),oy.createElement(nq,{mt:"30px"},oy.createElement(hq,null,rq.QR_INVALID_POPUP_DESCRIPTION[n])),oy.createElement(nq,{mt:"30px"},oy.createElement(lq,{onClick:t},rq.QR_INVALID_POPUP_RETRY_BUTTON[n])),oy.createElement(nq,{my:"20px"},oy.createElement(dq,{onClick:r},rq.QR_INVALID_POPUP_SKIP_BUTTON[n])))};gq.propTypes={onRetry:Py.func,onSkip:Py.func},gq.defaultProps={onRetry:function(){},onSkip:function(){}};var mq=eC.div(sq||(sq=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),yq=eC.div(cq||(cq=TD(["\n background: #e7e6e6;\n width: 100%;\n display: flex;\n justify-content: center;\n"]))),vq=eC.div(uq||(uq=TD(["\n color: ",";\n font-weight: normal;\n font-size: 16px;\n text-align: center;\n line-height: 20px;\n"])),(function(e){return e.theme.tsSecondary})),bq=function(e){var t=e.onRetry,r=e.onSkip,n=lk.useSDKSettings().lang,i=Hk.useAsset("qr_code_banner.svg");return oy.createElement(mq,null,oy.createElement(yq,null,oy.createElement("img",{src:i,alt:""})),oy.createElement(nq,{mt:"30px"},oy.createElement(vq,null,rq.SESSION_TIMEOUT_POPUP_DESCRIPTION[n])),oy.createElement(nq,{mt:"30px"},oy.createElement(lq,{onClick:t},rq.SESSION_TIMEOUT_POPUP_RETRY_BUTTON[n])),oy.createElement(nq,{my:"20px"},oy.createElement(dq,{onClick:r},rq.SESSION_TIMEOUT_POPUP_SKIP_BUTTON[n])))};bq.propTypes={onRetry:Py.func,onSkip:Py.func},bq.defaultProps={onRetry:function(){},onSkip:function(){}};var Cq,wq,Eq,kq,Sq,Bq,Tq=["children","ratio","padding"],Aq=eC.div(Cq||(Cq=TD(["\n width: 100%;\n padding-bottom: ","%;\n position: relative;\n"])),(function(e){return 1/e.ratio*100})),Iq=eC.div(wq||(wq=TD(["\n position: absolute;\n top: ",";\n left: ",";\n right: ",";\n bottom: ",";\n"])),(function(e){return e.padding}),(function(e){return e.padding}),(function(e){return e.padding}),(function(e){return e.padding})),_q=function(e){var t=e.children,r=e.ratio,n=e.padding,i=BD(e,Tq);return oy.createElement(Aq,ED({ratio:r},i),oy.createElement(Iq,{padding:n},t))};_q.propTypes={children:Py.node,ratio:Py.number,padding:Py.string},_q.defaultProps={children:null,ratio:4/3,padding:"0"};var xq=eC.div(Eq||(Eq=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),Pq=eC.div(kq||(kq=TD(["\n background: #e7e6e6;\n width: 100%;\n"]))),Rq=eC.img(Sq||(Sq=TD(["\n width: 100%;\n height: 100%;\n object-fit: contain;\n border-radius: 5px;\n"]))),Nq=eC.div(Bq||(Bq=TD(["\n color: ",";\n font-weight: normal;\n font-size: 16px;\n text-align: center;\n line-height: 20px;\n"])),(function(e){return e.theme.tsSecondary})),Oq=function(e){var t=e.onClickStart,r=e.onTimeout,n=e.timeout,i=lk.useSDKSettings().lang,a=Hk.useAsset("qr_code_banner.png"),o=oy.useRef(n),s=AD(oy.useState((function(){return IV(rq.QR_INSTRUCTIONS_COUNTDOWN[i])({x:n})})),2),c=s[0],u=s[1];return oy.useEffect((function(){var e=IV(rq.QR_INSTRUCTIONS_COUNTDOWN[i]),t=setInterval((function(){o.current--,u(e({x:o.current})),o.current<=0&&(clearInterval(t),r&&r())}),1e3);return function(){clearInterval(t)}}),[i,r]),oy.createElement(xq,null,oy.createElement(Pq,null,oy.createElement(_q,{ratio:1.6},oy.createElement(Rq,{src:a}))),oy.createElement(nq,{mt:"30px"},oy.createElement(Nq,null,rq.QR_INSTRUCTIONS_TEXT[i])),oy.createElement(nq,{mt:"30px"},oy.createElement(lq,{onClick:t},rq.QR_INSTRUCTIONS_START_BUTTON[i])),oy.createElement(nq,{my:"20px"},oy.createElement(Nq,null,c)))};Oq.propTypes={onClickStart:Py.func,onTimeout:Py.func,timeout:Py.number},Oq.defaultProps={onClickStart:null,onTimeout:null,timeout:10};var Lq=/^\d{12}\|(\d{9})?\|.+\|\d{8}\|((Nam)|(Nữ))\|.+\|\d{8}$/g,Dq=function(e){var t=e.match(Lq);return{valid:Boolean(t)}},Uq=function(){function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._onDecodeError,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this._calculateScanRegion,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"environment";em(this,t),this.$video=e,this.$canvas=document.createElement("canvas"),this._onDecode=r,this._legacyCanvasSize=t.DEFAULT_CANVAS_SIZE,this._preferredCamera=a,this._active=!1,this._paused=!1,this._flashOn=!1,"number"==typeof n?(this._legacyCanvasSize=n,console.warn("You're using a deprecated version of the QrScanner constructor which will be removed in the future")):this._onDecodeError=n,"number"==typeof i?(this._legacyCanvasSize=i,console.warn("You're using a deprecated version of the QrScanner constructor which will be removed in the future")):this._calculateScanRegion=i,this._scanRegion=this._calculateScanRegion(e),this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;var o=!1;e.hidden&&(e.hidden=!1,o=!0),document.body.contains(e)||(document.body.appendChild(e),o=!0),requestAnimationFrame((function(){var t=window.getComputedStyle(e);"none"===t.display&&(e.style.setProperty("display","block","important"),o=!0),"visible"!==t.visibility&&(e.style.setProperty("visibility","visible","important"),o=!0),o&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity=0,e.style.width=0,e.style.height=0)})),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),this._qrEnginePromise=t.createQrEngine()}return rm(t,[{key:"hasFlash",value:function(){var e=null;return(this.$video.srcObject?Promise.resolve(this.$video.srcObject.getVideoTracks()[0]):this._getCameraStream().then((function(t){var r=t.stream;return console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),e=r,r.getVideoTracks()[0]}))).then((function(e){return"torch"in e.getSettings()})).catch((function(){return!1})).finally((function(){if(e){var t,r=mm(e.getTracks());try{for(r.s();!(t=r.n()).done;){var n=t.value;n.stop(),e.removeTrack(n)}}catch(e){r.e(e)}finally{r.f()}}}))}},{key:"isFlashOn",value:function(){return this._flashOn}},{key:"toggleFlash",value:function(){return this._flashOn?this.turnFlashOff():this.turnFlashOn()}},{key:"turnFlashOn",value:function(){var t=this;return this._flashOn?Promise.resolve():(this._flashOn=!0,!this._active||this._paused?Promise.resolve():this.hasFlash().then((function(e){return e?t.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]}):Promise.reject("No flash available")})).catch((function(){throw t._flashOn=!1,e})))}},{key:"turnFlashOff",value:function(){if(this._flashOn)return this._flashOn=!1,this._restartVideoStream()}},{key:"destroy",value:function(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),this.stop(),t._postWorkerMessage(this._qrEnginePromise,"close")}},{key:"start",value:function(){var e=this;return this._active&&!this._paused?Promise.resolve():("https:"!==window.location.protocol&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,document.hidden?Promise.resolve():(this._paused=!1,this.$video.srcObject?(this.$video.play(),Promise.resolve()):this._getCameraStream().then((function(t){var r=t.stream,n=t.facingMode;e.$video.srcObject=r,e.$video.play(),e._setVideoMirror(n),e._flashOn&&(e._flashOn=!1,e.turnFlashOn().catch((function(){})))})).catch((function(t){throw e._active=!1,t}))))}},{key:"stop",value:function(){this.pause(),this._active=!1}},{key:"pause",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this._paused=!0,!this._active)return Promise.resolve(!0);this.$video.pause();var r=function(){var t,r=mm(e.$video.srcObject?e.$video.srcObject.getTracks():[]);try{for(r.s();!(t=r.n()).done;){var n=t.value;n.stop(),e.$video.srcObject.removeTrack(n)}}catch(e){r.e(e)}finally{r.f()}e.$video.srcObject=null};return t?(r(),Promise.resolve(!0)):new Promise((function(e){return setTimeout(e,300)})).then((function(){return!!e._paused&&(r(),!0)}))}},{key:"setCamera",value:function(e){return e===this._preferredCamera?Promise.resolve():(this._preferredCamera=e,this._restartVideoStream())}},{key:"setGrayscaleWeights",value:function(e,r,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];t._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:r,blue:n,useIntegerApproximation:i})}},{key:"setInversionMode",value:function(e){t._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}},{key:"_onPlay",value:function(){this._scanRegion=this._calculateScanRegion(this.$video),this._scanFrame()}},{key:"_onLoadedMetaData",value:function(){this._scanRegion=this._calculateScanRegion(this.$video)}},{key:"_onVisibilityChange",value:function(){document.hidden?this.pause():this._active&&this.start()}},{key:"_calculateScanRegion",value:function(e){var t=Math.min(e.videoWidth,e.videoHeight),r=Math.round(2/3*t);return{x:Math.round((e.videoWidth-r)/2),y:Math.round((e.videoHeight-r)/2),width:r,height:r,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}},{key:"_scanFrame",value:function(){var e=this;if(!this._active||this.$video.paused||this.$video.ended)return!1;requestAnimationFrame((function(){e.$video.readyState<=1?e._scanFrame():e._qrEnginePromise.then((function(r){return t.scanImage(e.$video,e._scanRegion,r,e.$canvas)})).then(e._onDecode,(function(r){e._active&&(-1!==(r.message||r).indexOf("service unavailable")&&(e._qrEnginePromise=t.createQrEngine()),e._onDecodeError(r))})).then((function(){return e._scanFrame()}))}))}},{key:"_onDecodeError",value:function(e){e!==t.NO_QR_CODE_FOUND&&console.log(e)}},{key:"_getCameraStream",value:function(){var e=this;if(!navigator.mediaDevices)return Promise.reject("Camera not found.");var t="environment"===this._preferredCamera||"user"===this._preferredCamera?"facingMode":"deviceId",r=[{width:{min:1024}},{width:{min:768}},{}];return[].concat(pm(r.map((function(r){return Object.assign({},r,nm({},t,{exact:e._preferredCamera}))}))),r).reduceRight((function(t,r){return function(){return navigator.mediaDevices.getUserMedia({video:r,audio:!1}).then((function(t){return{stream:t,facingMode:e._getFacingMode(t)||(r.facingMode?e._preferredCamera:"environment"===e._preferredCamera?"user":"environment")}})).catch(t)}}),(function(){return Promise.reject("Camera not found.")}))()}},{key:"_restartVideoStream",value:function(){var e=this,t=this._paused;return this.pause(!0).then((function(r){if(r&&!t&&e._active)return e.start()}))}},{key:"_setVideoMirror",value:function(e){var t="user"===e?-1:1;this.$video.style.transform="scaleX("+t+")"}},{key:"_getFacingMode",value:function(e){var t=e.getVideoTracks()[0];return t?/rear|back|environment/i.test(t.label)?"environment":/front|user|face/i.test(t.label)?"user":null:null}}],[{key:"hasCamera",value:function(){return t.listCameras(!1).then((function(e){return!!e.length})).catch((function(){return!1}))}},{key:"listCameras",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!navigator.mediaDevices)return Promise.resolve([]);var t=null;return(e?navigator.mediaDevices.getUserMedia({audio:!1,video:!0}).then((function(e){return t=e})).catch((function(){})):Promise.resolve()).then((function(){return navigator.mediaDevices.enumerateDevices()})).then((function(e){return e.filter((function(e){return"videoinput"===e.kind})).map((function(e,t){return{id:e.deviceId,label:e.label||(0===t?"Default Camera":"Camera ".concat(t+1))}}))})).finally((function(){if(t){var e,r=mm(t.getTracks());try{for(r.s();!(e=r.n()).done;){var n=e.value;n.stop(),t.removeTrack(n)}}catch(e){r.e(e)}finally{r.f()}}}))}},{key:"scanImage",value:function(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=arguments.length>5&&void 0!==arguments[5]&&arguments[5],c=i instanceof Worker,u=Promise.all([i||t.createQrEngine(),t._loadImage(e)]).then((function(e){var s,u,l=fm(e,2),d=l[0],f=l[1];return i=d,s=fm(r._drawToCanvas(f,n,a,o),2),a=s[0],u=s[1],i instanceof Worker?(c||i.postMessage({type:"inversionMode",data:"both"}),new Promise((function(e,r){var n,o,s;o=function(a){"qrResult"===a.data.type&&(i.removeEventListener("message",o),i.removeEventListener("error",s),clearTimeout(n),null!==a.data.data?e(a.data.data):r(t.NO_QR_CODE_FOUND))},s=function(e){i.removeEventListener("message",o),i.removeEventListener("error",s),clearTimeout(n);var t=e?e.message||e:"Unknown Error";r("Scanner error: "+t)},i.addEventListener("message",o),i.addEventListener("error",s),n=setTimeout((function(){return s("timeout")}),1e4);var c=u.getImageData(0,0,a.width,a.height);i.postMessage({type:"decode",data:c},[c.data.buffer])}))):new Promise((function(e,r){var n=setTimeout((function(){return r("Scanner error: timeout")}),1e4);i.detect(a).then((function(n){n.length?e(n[0].rawValue):r(t.NO_QR_CODE_FOUND)})).catch((function(e){return r("Scanner error: "+(e.message||e))})).finally((function(){return clearTimeout(n)}))}))}));return n&&s&&(u=u.catch((function(){return t.scanImage(e,null,i,a,o)}))),u=u.finally((function(){c||t._postWorkerMessage(i,"close")}))}},{key:"createQrEngine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.WORKER_PATH;return("BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats?BarcodeDetector.getSupportedFormats():Promise.resolve([])).then((function(t){return-1!==t.indexOf("qr_code")?new BarcodeDetector({formats:["qr_code"]}):new Worker(e)}))}},{key:"_drawToCanvas",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];r=r||document.createElement("canvas");var i=t&&t.x?t.x:0,a=t&&t.y?t.y:0,o=t&&t.width?t.width:e.width||e.videoWidth,s=t&&t.height?t.height:e.height||e.videoHeight;if(!n){var c=t&&t.downScaledWidth?t.downScaledWidth:o,u=t&&t.downScaledHeight?t.downScaledHeight:s;r.width!==c&&(r.width=c),r.height!==u&&(r.height=u)}var l=r.getContext("2d",{alpha:!1});return l.imageSmoothingEnabled=!1,l.drawImage(e,i,a,o,s,0,0,r.width,r.height),[r,l]}},{key:"_loadImage",value:function(e){if(e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||window.ImageBitmap&&e instanceof window.ImageBitmap||window.OffscreenCanvas&&e instanceof window.OffscreenCanvas)return Promise.resolve(e);if(e instanceof Image)return t._awaitImageLoad(e).then((function(){return e}));if(e instanceof File||e instanceof Blob||e instanceof URL||"string"==typeof e){var r=new Image;return e instanceof File||e instanceof Blob?r.src=URL.createObjectURL(e):r.src=e,t._awaitImageLoad(r).then((function(){return(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(r.src),r}))}return Promise.reject("Unsupported image type.")}},{key:"_awaitImageLoad",value:function(e){return new Promise((function(t,r){var n,i;e.complete&&0!==e.naturalWidth?t():(n=function(){e.removeEventListener("load",n),e.removeEventListener("error",i),t()},i=function(){e.removeEventListener("load",n),e.removeEventListener("error",i),r("Image load error")},e.addEventListener("load",n),e.addEventListener("error",i))}))}},{key:"_postWorkerMessage",value:function(e,t,r){return Promise.resolve(e).then((function(e){e instanceof Worker&&e.postMessage({type:t,data:r})}))}}]),t}();function Mq(){return Vq.apply(this,arguments)}function Vq(){return(Vq=CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Uq.WORKER_PATH=kT(),e.next=3,Uq.createQrEngine(Uq.WORKER_PATH);case 3:return t=e.sent,e.abrupt("return",{qrEngine:t});case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jq(){return(jq=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.length>0&&void 0!==c[0]?c[0]:{},r=t.opencvUrl,e.next=3,Promise.all([Mq(),xK({url:r})]);case 3:return n=e.sent,i=AD(n,1),a=i[0].qrEngine,o=window,s=o.cv,e.abrupt("return",{qrScannerResources:{engine:a,canvas:document.createElement("canvas")},blackAndWhiteConverterResources:{kernel:s.matFromArray(3,3,s.CV_32FC1,[-1,-1,-1,-1,11,-1,-1,-1,-1]),canvas:document.createElement("canvas"),dst:new s.Mat}});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}Uq.DEFAULT_CANVAS_SIZE=400,Uq.NO_QR_CODE_FOUND="No QR code found",Uq.WORKER_PATH="qr-scanner-worker.min.js";var Fq=rj((function(){return jq.apply(this,arguments)})),zq=RD(ND((function(e,t){var r;r=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){this.width=t,this.height=e.length/t,this.data=e}return e.createEmpty=function(t,r){return new e(new Uint8ClampedArray(t*r),t)},e.prototype.get=function(e,t){return!(e<0||e>=this.width||t<0||t>=this.height||!this.data[t*this.width+e])},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=r?1:0},e.prototype.setRegion=function(e,t,r,n,i){for(var a=t;a<t+n;a++)for(var o=e;o<e+r;o++)this.set(o,a,!!i)},e}();t.BitMatrix=n},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(2);t.addOrSubtractGF=function(e,t){return e^t};var i=function(){function e(e,t,r){this.primitive=e,this.size=t,this.generatorBase=r,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var i=1,a=0;a<this.size;a++)this.expTable[a]=i,(i*=2)>=this.size&&(i=(i^this.primitive)&this.size-1);for(a=0;a<this.size-1;a++)this.logTable[this.expTable[a]]=a;this.zero=new n.default(this,Uint8ClampedArray.from([0])),this.one=new n.default(this,Uint8ClampedArray.from([1]))}return e.prototype.multiply=function(e,t){return 0===e||0===t?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.size-1)]},e.prototype.inverse=function(e){if(0===e)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[e]-1]},e.prototype.buildMonomial=function(e,t){if(e<0)throw new Error("Invalid monomial degree less than 0");if(0===t)return this.zero;var r=new Uint8ClampedArray(e+1);return r[0]=t,new n.default(this,r)},e.prototype.log=function(e){if(0===e)throw new Error("Can't take log(0)");return this.logTable[e]},e.prototype.exp=function(e){return this.expTable[e]},e}();t.default=i},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),i=function(){function e(e,t){if(0===t.length)throw new Error("No coefficients.");this.field=e;var r=t.length;if(r>1&&0===t[0]){for(var n=1;n<r&&0===t[n];)n++;if(n===r)this.coefficients=e.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(r-n);for(var i=0;i<this.coefficients.length;i++)this.coefficients[i]=t[n+i]}}else this.coefficients=t}return e.prototype.degree=function(){return this.coefficients.length-1},e.prototype.isZero=function(){return 0===this.coefficients[0]},e.prototype.getCoefficient=function(e){return this.coefficients[this.coefficients.length-1-e]},e.prototype.addOrSubtract=function(t){var r;if(this.isZero())return t;if(t.isZero())return this;var i=this.coefficients,a=t.coefficients;i.length>a.length&&(i=(r=[a,i])[0],a=r[1]);for(var o=new Uint8ClampedArray(a.length),s=a.length-i.length,c=0;c<s;c++)o[c]=a[c];for(c=s;c<a.length;c++)o[c]=n.addOrSubtractGF(i[c-s],a[c]);return new e(this.field,o)},e.prototype.multiply=function(t){if(0===t)return this.field.zero;if(1===t)return this;for(var r=this.coefficients.length,n=new Uint8ClampedArray(r),i=0;i<r;i++)n[i]=this.field.multiply(this.coefficients[i],t);return new e(this.field,n)},e.prototype.multiplyPoly=function(t){if(this.isZero()||t.isZero())return this.field.zero;for(var r=this.coefficients,i=r.length,a=t.coefficients,o=a.length,s=new Uint8ClampedArray(i+o-1),c=0;c<i;c++)for(var u=r[c],l=0;l<o;l++)s[c+l]=n.addOrSubtractGF(s[c+l],this.field.multiply(u,a[l]));return new e(this.field,s)},e.prototype.multiplyByMonomial=function(t,r){if(t<0)throw new Error("Invalid degree less than 0");if(0===r)return this.field.zero;for(var n=this.coefficients.length,i=new Uint8ClampedArray(n+t),a=0;a<n;a++)i[a]=this.field.multiply(this.coefficients[a],r);return new e(this.field,i)},e.prototype.evaluateAt=function(e){var t=0;if(0===e)return this.getCoefficient(0);var r=this.coefficients.length;if(1===e)return this.coefficients.forEach((function(e){t=n.addOrSubtractGF(t,e)})),t;t=this.coefficients[0];for(var i=1;i<r;i++)t=n.addOrSubtractGF(this.field.multiply(e,t),this.coefficients[i]);return t},e}();t.default=i},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(4),i=r(5),a=r(11),o=r(12);function s(e){var t=o.locate(e);if(!t)return null;for(var r=0,n=t;r<n.length;r++){var s=n[r],c=a.extract(e,s),u=i.decode(c.matrix);if(u)return{binaryData:u.bytes,data:u.text,chunks:u.chunks,version:u.version,location:{topRightCorner:c.mappingFunction(s.dimension,0),topLeftCorner:c.mappingFunction(0,0),bottomRightCorner:c.mappingFunction(s.dimension,s.dimension),bottomLeftCorner:c.mappingFunction(0,s.dimension),topRightFinderPattern:s.topRight,topLeftFinderPattern:s.topLeft,bottomLeftFinderPattern:s.bottomLeft,bottomRightAlignmentPattern:s.alignmentPattern}}}return null}var c={inversionAttempts:"attemptBoth"};function u(e,t,r,i){void 0===i&&(i={});var a=c;Object.keys(a||{}).forEach((function(e){a[e]=i[e]||a[e]}));var o="attemptBoth"===a.inversionAttempts||"invertFirst"===a.inversionAttempts,u="onlyInvert"===a.inversionAttempts||"invertFirst"===a.inversionAttempts,l=n.binarize(e,t,r,o),d=l.binarized,f=l.inverted,p=s(u?f:d);return p||"attemptBoth"!==a.inversionAttempts&&"invertFirst"!==a.inversionAttempts||(p=s(u?d:f)),p}u.default=u,t.default=u},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(0);function i(e,t,r){return e<t?t:e>r?r:e}var a=function(){function e(e,t){this.width=e,this.data=new Uint8ClampedArray(e*t)}return e.prototype.get=function(e,t){return this.data[t*this.width+e]},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=r},e}();t.binarize=function(e,t,r,o){if(e.length!==t*r*4)throw new Error("Malformed data passed to binarizer.");for(var s=new a(t,r),c=0;c<t;c++)for(var u=0;u<r;u++){var l=e[4*(u*t+c)+0],d=e[4*(u*t+c)+1],f=e[4*(u*t+c)+2];s.set(c,u,.2126*l+.7152*d+.0722*f)}for(var p=Math.ceil(t/8),h=Math.ceil(r/8),g=new a(p,h),m=0;m<h;m++)for(var y=0;y<p;y++){var v=0,b=1/0,C=0;for(u=0;u<8;u++)for(c=0;c<8;c++){var w=s.get(8*y+c,8*m+u);v+=w,b=Math.min(b,w),C=Math.max(C,w)}var E=v/Math.pow(8,2);if(C-b<=24&&(E=b/2,m>0&&y>0)){var k=(g.get(y,m-1)+2*g.get(y-1,m)+g.get(y-1,m-1))/4;b<k&&(E=k)}g.set(y,m,E)}var S=n.BitMatrix.createEmpty(t,r),B=null;for(o&&(B=n.BitMatrix.createEmpty(t,r)),m=0;m<h;m++)for(y=0;y<p;y++){for(var T=i(y,2,p-3),A=i(m,2,h-3),I=(v=0,-2);I<=2;I++)for(var _=-2;_<=2;_++)v+=g.get(T+I,A+_);var x=v/25;for(I=0;I<8;I++)for(_=0;_<8;_++){c=8*y+I,u=8*m+_;var P=s.get(c,u);S.set(c,u,P<=x),o&&B.set(c,u,!(P<=x))}}return o?{binarized:S,inverted:B}:{binarized:S}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(0),i=r(6),a=r(9),o=r(10);function s(e,t){for(var r=e^t,n=0;r;)n++,r&=r-1;return n}function c(e,t){return t<<1|e}var u=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],l=[function(e){return(e.y+e.x)%2==0},function(e){return e.y%2==0},function(e){return e.x%3==0},function(e){return(e.y+e.x)%3==0},function(e){return(Math.floor(e.y/2)+Math.floor(e.x/3))%2==0},function(e){return e.x*e.y%2+e.x*e.y%3==0},function(e){return(e.y*e.x%2+e.y*e.x%3)%2==0},function(e){return((e.y+e.x)%2+e.y*e.x%3)%2==0}];function d(e,t,r){for(var i=l[r.dataMask],a=e.height,o=function(e){var t=17+4*e.versionNumber,r=n.BitMatrix.createEmpty(t,t);r.setRegion(0,0,9,9,!0),r.setRegion(t-8,0,8,9,!0),r.setRegion(0,t-8,9,8,!0);for(var i=0,a=e.alignmentPatternCenters;i<a.length;i++)for(var o=a[i],s=0,c=e.alignmentPatternCenters;s<c.length;s++){var u=c[s];6===o&&6===u||6===o&&u===t-7||o===t-7&&6===u||r.setRegion(o-2,u-2,5,5,!0)}return r.setRegion(6,9,1,t-17,!0),r.setRegion(9,6,t-17,1,!0),e.versionNumber>6&&(r.setRegion(t-11,0,3,6,!0),r.setRegion(0,t-11,6,3,!0)),r}(t),s=[],u=0,d=0,f=!0,p=a-1;p>0;p-=2){6===p&&p--;for(var h=0;h<a;h++)for(var g=f?a-1-h:h,m=0;m<2;m++){var y=p-m;if(!o.get(y,g)){d++;var v=e.get(y,g);i({y:g,x:y})&&(v=!v),u=c(v,u),8===d&&(s.push(u),d=0,u=0)}}f=!f}return s}function f(e){var t=function(e){var t=e.height,r=Math.floor((t-17)/4);if(r<=6)return o.VERSIONS[r-1];for(var n=0,i=5;i>=0;i--)for(var a=t-9;a>=t-11;a--)n=c(e.get(a,i),n);var u=0;for(a=5;a>=0;a--)for(i=t-9;i>=t-11;i--)u=c(e.get(a,i),u);for(var l,d=1/0,f=0,p=o.VERSIONS;f<p.length;f++){var h=p[f];if(h.infoBits===n||h.infoBits===u)return h;var g=s(n,h.infoBits);g<d&&(l=h,d=g),(g=s(u,h.infoBits))<d&&(l=h,d=g)}return d<=3?l:void 0}(e);if(!t)return null;var r=function(e){for(var t=0,r=0;r<=8;r++)6!==r&&(t=c(e.get(r,8),t));for(var n=7;n>=0;n--)6!==n&&(t=c(e.get(8,n),t));var i=e.height,a=0;for(n=i-1;n>=i-7;n--)a=c(e.get(8,n),a);for(r=i-8;r<i;r++)a=c(e.get(r,8),a);for(var o=1/0,l=null,d=0,f=u;d<f.length;d++){var p=f[d],h=p.bits,g=p.formatInfo;if(h===t||h===a)return g;var m=s(t,h);m<o&&(l=g,o=m),t!==a&&(m=s(a,h))<o&&(l=g,o=m)}return o<=3?l:null}(e);if(!r)return null;var n=function(e,t,r){var n=t.errorCorrectionLevels[r],i=[],a=0;if(n.ecBlocks.forEach((function(e){for(var t=0;t<e.numBlocks;t++)i.push({numDataCodewords:e.dataCodewordsPerBlock,codewords:[]}),a+=e.dataCodewordsPerBlock+n.ecCodewordsPerBlock})),e.length<a)return null;e=e.slice(0,a);for(var o=n.ecBlocks[0].dataCodewordsPerBlock,s=0;s<o;s++)for(var c=0,u=i;c<u.length;c++)u[c].codewords.push(e.shift());if(n.ecBlocks.length>1){var l=n.ecBlocks[0].numBlocks,d=n.ecBlocks[1].numBlocks;for(s=0;s<d;s++)i[l+s].codewords.push(e.shift())}for(;e.length>0;)for(var f=0,p=i;f<p.length;f++)p[f].codewords.push(e.shift());return i}(d(e,t,r),t,r.errorCorrectionLevel);if(!n)return null;for(var l=n.reduce((function(e,t){return e+t.numDataCodewords}),0),f=new Uint8ClampedArray(l),p=0,h=0,g=n;h<g.length;h++){var m=g[h],y=a.decode(m.codewords,m.codewords.length-m.numDataCodewords);if(!y)return null;for(var v=0;v<m.numDataCodewords;v++)f[p++]=y[v]}try{return i.decode(f,t.versionNumber)}catch(e){return null}}t.decode=function(e){if(null==e)return null;var t=f(e);if(t)return t;for(var r=0;r<e.width;r++)for(var n=r+1;n<e.height;n++)e.get(r,n)!==e.get(n,r)&&(e.set(r,n,!e.get(r,n)),e.set(n,r,!e.get(n,r)));return f(e)}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n,i,a=r(7),o=r(8);function s(e,t){for(var r=[],n="",i=[10,12,14][t],a=e.readBits(i);a>=3;){if((u=e.readBits(10))>=1e3)throw new Error("Invalid numeric value above 999");var o=Math.floor(u/100),s=Math.floor(u/10)%10,c=u%10;r.push(48+o,48+s,48+c),n+=o.toString()+s.toString()+c.toString(),a-=3}if(2===a){if((u=e.readBits(7))>=100)throw new Error("Invalid numeric value above 99");o=Math.floor(u/10),s=u%10,r.push(48+o,48+s),n+=o.toString()+s.toString()}else if(1===a){var u;if((u=e.readBits(4))>=10)throw new Error("Invalid numeric value above 9");r.push(48+u),n+=u.toString()}return{bytes:r,text:n}}!function(e){e.Numeric="numeric",e.Alphanumeric="alphanumeric",e.Byte="byte",e.Kanji="kanji",e.ECI="eci"}(n=t.Mode||(t.Mode={})),function(e){e[e.Terminator=0]="Terminator",e[e.Numeric=1]="Numeric",e[e.Alphanumeric=2]="Alphanumeric",e[e.Byte=4]="Byte",e[e.Kanji=8]="Kanji",e[e.ECI=7]="ECI"}(i||(i={}));var c=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function u(e,t){for(var r=[],n="",i=[9,11,13][t],a=e.readBits(i);a>=2;){var o=e.readBits(11),s=Math.floor(o/45),u=o%45;r.push(c[s].charCodeAt(0),c[u].charCodeAt(0)),n+=c[s]+c[u],a-=2}return 1===a&&(s=e.readBits(6),r.push(c[s].charCodeAt(0)),n+=c[s]),{bytes:r,text:n}}function l(e,t){for(var r=[],n="",i=[8,16,16][t],a=e.readBits(i),o=0;o<a;o++){var s=e.readBits(8);r.push(s)}try{n+=decodeURIComponent(r.map((function(e){return"%"+("0"+e.toString(16)).substr(-2)})).join(""))}catch(e){}return{bytes:r,text:n}}function d(e,t){for(var r=[],n="",i=[8,10,12][t],a=e.readBits(i),s=0;s<a;s++){var c=e.readBits(13),u=Math.floor(c/192)<<8|c%192;u+=u<7936?33088:49472,r.push(u>>8,255&u),n+=String.fromCharCode(o.shiftJISTable[u])}return{bytes:r,text:n}}t.decode=function(e,t){for(var r,o,c,f,p=new a.BitStream(e),h=t<=9?0:t<=26?1:2,g={text:"",bytes:[],chunks:[],version:t};p.available()>=4;){var m=p.readBits(4);if(m===i.Terminator)return g;if(m===i.ECI)0===p.readBits(1)?g.chunks.push({type:n.ECI,assignmentNumber:p.readBits(7)}):0===p.readBits(1)?g.chunks.push({type:n.ECI,assignmentNumber:p.readBits(14)}):0===p.readBits(1)?g.chunks.push({type:n.ECI,assignmentNumber:p.readBits(21)}):g.chunks.push({type:n.ECI,assignmentNumber:-1});else if(m===i.Numeric){var y=s(p,h);g.text+=y.text,(r=g.bytes).push.apply(r,y.bytes),g.chunks.push({type:n.Numeric,text:y.text})}else if(m===i.Alphanumeric){var v=u(p,h);g.text+=v.text,(o=g.bytes).push.apply(o,v.bytes),g.chunks.push({type:n.Alphanumeric,text:v.text})}else if(m===i.Byte){var b=l(p,h);g.text+=b.text,(c=g.bytes).push.apply(c,b.bytes),g.chunks.push({type:n.Byte,bytes:b.bytes,text:b.text})}else if(m===i.Kanji){var C=d(p,h);g.text+=C.text,(f=g.bytes).push.apply(f,C.bytes),g.chunks.push({type:n.Kanji,bytes:C.bytes,text:C.text})}}if(0===p.available()||0===p.readBits(p.available()))return g}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.byteOffset=0,this.bitOffset=0,this.bytes=e}return e.prototype.readBits=function(e){if(e<1||e>32||e>this.available())throw new Error("Cannot read "+e.toString()+" bits");var t=0;if(this.bitOffset>0){var r=8-this.bitOffset,n=e<r?e:r,i=255>>8-n<<(a=r-n);t=(this.bytes[this.byteOffset]&i)>>a,e-=n,this.bitOffset+=n,8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(e>0){for(;e>=8;)t=t<<8|255&this.bytes[this.byteOffset],this.byteOffset++,e-=8;var a;e>0&&(i=255>>(a=8-e)<<a,t=t<<e|(this.bytes[this.byteOffset]&i)>>a,this.bitOffset+=e)}return t},e.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},e}();t.BitStream=n},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),i=r(2);t.decode=function(e,t){var r=new Uint8ClampedArray(e.length);r.set(e);for(var a=new n.default(285,256,0),o=new i.default(a,r),s=new Uint8ClampedArray(t),c=!1,u=0;u<t;u++){var l=o.evaluateAt(a.exp(u+a.generatorBase));s[s.length-1-u]=l,0!==l&&(c=!0)}if(!c)return r;var d=new i.default(a,s),f=function(e,t,r,n){var i;t.degree()<r.degree()&&(t=(i=[r,t])[0],r=i[1]);for(var a=t,o=r,s=e.zero,c=e.one;o.degree()>=n/2;){var u=a,l=s;if(s=c,(a=o).isZero())return null;o=u;for(var d=e.zero,f=a.getCoefficient(a.degree()),p=e.inverse(f);o.degree()>=a.degree()&&!o.isZero();){var h=o.degree()-a.degree(),g=e.multiply(o.getCoefficient(o.degree()),p);d=d.addOrSubtract(e.buildMonomial(h,g)),o=o.addOrSubtract(a.multiplyByMonomial(h,g))}if(c=d.multiplyPoly(s).addOrSubtract(l),o.degree()>=a.degree())return null}var m=c.getCoefficient(0);if(0===m)return null;var y=e.inverse(m);return[c.multiply(y),o.multiply(y)]}(a,a.buildMonomial(t,1),d,t);if(null===f)return null;var p=function(e,t){var r=t.degree();if(1===r)return[t.getCoefficient(1)];for(var n=new Array(r),i=0,a=1;a<e.size&&i<r;a++)0===t.evaluateAt(a)&&(n[i]=e.inverse(a),i++);return i!==r?null:n}(a,f[0]);if(null==p)return null;for(var h=function(e,t,r){for(var i=r.length,a=new Array(i),o=0;o<i;o++){for(var s=e.inverse(r[o]),c=1,u=0;u<i;u++)o!==u&&(c=e.multiply(c,n.addOrSubtractGF(1,e.multiply(r[u],s))));a[o]=e.multiply(t.evaluateAt(s),e.inverse(c)),0!==e.generatorBase&&(a[o]=e.multiply(a[o],s))}return a}(a,f[1],p),g=0;g<p.length;g++){var m=r.length-1-a.log(p[g]);if(m<0)return null;r[m]=n.addOrSubtractGF(r[m],h[g])}return r}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(0);function i(e,t,r,n){var i=e.x-t.x+r.x-n.x,a=e.y-t.y+r.y-n.y;if(0===i&&0===a)return{a11:t.x-e.x,a12:t.y-e.y,a13:0,a21:r.x-t.x,a22:r.y-t.y,a23:0,a31:e.x,a32:e.y,a33:1};var o=t.x-r.x,s=n.x-r.x,c=t.y-r.y,u=n.y-r.y,l=o*u-s*c,d=(i*u-s*a)/l,f=(o*a-i*c)/l;return{a11:t.x-e.x+d*t.x,a12:t.y-e.y+d*t.y,a13:d,a21:n.x-e.x+f*n.x,a22:n.y-e.y+f*n.y,a23:f,a31:e.x,a32:e.y,a33:1}}t.extract=function(e,t){for(var r,a,o=(a=function(e,t,r,n){var a=i({x:3.5,y:3.5},t,r,n);return{a11:a.a22*a.a33-a.a23*a.a32,a12:a.a13*a.a32-a.a12*a.a33,a13:a.a12*a.a23-a.a13*a.a22,a21:a.a23*a.a31-a.a21*a.a33,a22:a.a11*a.a33-a.a13*a.a31,a23:a.a13*a.a21-a.a11*a.a23,a31:a.a21*a.a32-a.a22*a.a31,a32:a.a12*a.a31-a.a11*a.a32,a33:a.a11*a.a22-a.a12*a.a21}}(0,{x:t.dimension-3.5,y:3.5},{x:t.dimension-6.5,y:t.dimension-6.5},{x:3.5,y:t.dimension-3.5}),{a11:(r=i(t.topLeft,t.topRight,t.alignmentPattern,t.bottomLeft)).a11*a.a11+r.a21*a.a12+r.a31*a.a13,a12:r.a12*a.a11+r.a22*a.a12+r.a32*a.a13,a13:r.a13*a.a11+r.a23*a.a12+r.a33*a.a13,a21:r.a11*a.a21+r.a21*a.a22+r.a31*a.a23,a22:r.a12*a.a21+r.a22*a.a22+r.a32*a.a23,a23:r.a13*a.a21+r.a23*a.a22+r.a33*a.a23,a31:r.a11*a.a31+r.a21*a.a32+r.a31*a.a33,a32:r.a12*a.a31+r.a22*a.a32+r.a32*a.a33,a33:r.a13*a.a31+r.a23*a.a32+r.a33*a.a33}),s=n.BitMatrix.createEmpty(t.dimension,t.dimension),c=function(e,t){var r=o.a13*e+o.a23*t+o.a33;return{x:(o.a11*e+o.a21*t+o.a31)/r,y:(o.a12*e+o.a22*t+o.a32)/r}},u=0;u<t.dimension;u++)for(var l=0;l<t.dimension;l++){var d=c(l+.5,u+.5);s.set(l,u,e.get(Math.floor(d.x),Math.floor(d.y)))}return{matrix:s,mappingFunction:c}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))};function i(e){return e.reduce((function(e,t){return e+t}))}function a(e,t,r,i){var a,o,s,c,u=[{x:Math.floor(e.x),y:Math.floor(e.y)}],l=Math.abs(t.y-e.y)>Math.abs(t.x-e.x);l?(a=Math.floor(e.y),o=Math.floor(e.x),s=Math.floor(t.y),c=Math.floor(t.x)):(a=Math.floor(e.x),o=Math.floor(e.y),s=Math.floor(t.x),c=Math.floor(t.y));for(var d=Math.abs(s-a),f=Math.abs(c-o),p=Math.floor(-d/2),h=a<s?1:-1,g=o<c?1:-1,m=!0,y=a,v=o;y!==s+h;y+=h){var b=l?v:y,C=l?y:v;if(r.get(b,C)!==m&&(m=!m,u.push({x:b,y:C}),u.length===i+1))break;if((p+=f)>0){if(v===c)break;v+=g,p-=d}}for(var w=[],E=0;E<i;E++)u[E]&&u[E+1]?w.push(n(u[E],u[E+1])):w.push(0);return w}function o(e,t,r,n){var i,o=t.y-e.y,s=t.x-e.x,c=a(e,t,r,Math.ceil(n/2)),u=a(e,{x:e.x-s,y:e.y-o},r,Math.ceil(n/2)),l=c.shift()+u.shift()-1;return(i=u.concat(l)).concat.apply(i,c)}function s(e,t){var r=i(e)/i(t),n=0;return t.forEach((function(t,i){n+=Math.pow(e[i]-t*r,2)})),{averageSize:r,error:n}}function c(e,t,r){try{var n=o(e,{x:-1,y:e.y},r,t.length),i=o(e,{x:e.x,y:-1},r,t.length),a=o(e,{x:Math.max(0,e.x-e.y)-1,y:Math.max(0,e.y-e.x)-1},r,t.length),c=o(e,{x:Math.min(r.width,e.x+e.y)+1,y:Math.min(r.height,e.y+e.x)+1},r,t.length),u=s(n,t),l=s(i,t),d=s(a,t),f=s(c,t),p=Math.sqrt(u.error*u.error+l.error*l.error+d.error*d.error+f.error*f.error),h=(u.averageSize+l.averageSize+d.averageSize+f.averageSize)/4;return p+(Math.pow(u.averageSize-h,2)+Math.pow(l.averageSize-h,2)+Math.pow(d.averageSize-h,2)+Math.pow(f.averageSize-h,2))/h}catch(e){return 1/0}}function u(e,t){for(var r=Math.round(t.x);e.get(r,Math.round(t.y));)r--;for(var n=Math.round(t.x);e.get(n,Math.round(t.y));)n++;for(var i=(r+n)/2,a=Math.round(t.y);e.get(Math.round(i),a);)a--;for(var o=Math.round(t.y);e.get(Math.round(i),o);)o++;return{x:i,y:(a+o)/2}}function l(e,t,r,a,s){var u,l,d;try{u=function(e,t,r,a){var s=(i(o(e,r,a,5))/7+i(o(e,t,a,5))/7+i(o(r,e,a,5))/7+i(o(t,e,a,5))/7)/4;if(s<1)throw new Error("Invalid module size");var c=Math.round(n(e,t)/s),u=Math.round(n(e,r)/s),l=Math.floor((c+u)/2)+7;switch(l%4){case 0:l++;break;case 2:l--}return{dimension:l,moduleSize:s}}(a,r,s,e),l=u.dimension,d=u.moduleSize}catch(e){return null}var f=r.x-a.x+s.x,p=r.y-a.y+s.y,h=(n(a,s)+n(a,r))/2/d,g=1-3/h,m={x:a.x+g*(f-a.x),y:a.y+g*(p-a.y)},y=t.map((function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,a=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.floor(r),Math.floor(a)))return i([t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1]),{x:r,y:a,score:c({x:Math.floor(r),y:Math.floor(a)},[1,1,1],e)+n({x:r,y:a},m)}})).filter((function(e){return!!e})).sort((function(e,t){return e.score-t.score}));return{alignmentPattern:h>=15&&y.length?y[0]:m,dimension:l}}t.locate=function(e){for(var t=[],r=[],a=[],o=[],s=function(n){for(var s=0,c=!1,u=[0,0,0,0,0],l=function(t){var a=e.get(t,n);if(a===c)s++;else{u=[u[1],u[2],u[3],u[4],s],s=1,c=a;var l=i(u)/7,d=Math.abs(u[0]-l)<l&&Math.abs(u[1]-l)<l&&Math.abs(u[2]-3*l)<3*l&&Math.abs(u[3]-l)<l&&Math.abs(u[4]-l)<l&&!a,f=i(u.slice(-3))/3,p=Math.abs(u[2]-f)<f&&Math.abs(u[3]-f)<f&&Math.abs(u[4]-f)<f&&a;if(d){var h=t-u[3]-u[4],g=h-u[2],m={startX:g,endX:h,y:n};(y=r.filter((function(e){return g>=e.bottom.startX&&g<=e.bottom.endX||h>=e.bottom.startX&&g<=e.bottom.endX||g<=e.bottom.startX&&h>=e.bottom.endX&&u[2]/(e.bottom.endX-e.bottom.startX)<1.5&&u[2]/(e.bottom.endX-e.bottom.startX)>.5}))).length>0?y[0].bottom=m:r.push({top:m,bottom:m})}if(p){var y,v=t-u[4],b=v-u[3];m={startX:b,y:n,endX:v},(y=o.filter((function(e){return b>=e.bottom.startX&&b<=e.bottom.endX||v>=e.bottom.startX&&b<=e.bottom.endX||b<=e.bottom.startX&&v>=e.bottom.endX&&u[2]/(e.bottom.endX-e.bottom.startX)<1.5&&u[2]/(e.bottom.endX-e.bottom.startX)>.5}))).length>0?y[0].bottom=m:o.push({top:m,bottom:m})}}},d=-1;d<=e.width;d++)l(d);t.push.apply(t,r.filter((function(e){return e.bottom.y!==n&&e.bottom.y-e.top.y>=2}))),r=r.filter((function(e){return e.bottom.y===n})),a.push.apply(a,o.filter((function(e){return e.bottom.y!==n}))),o=o.filter((function(e){return e.bottom.y===n}))},d=0;d<=e.height;d++)s(d);t.push.apply(t,r.filter((function(e){return e.bottom.y-e.top.y>=2}))),a.push.apply(a,o);var f=t.filter((function(e){return e.bottom.y-e.top.y>=2})).map((function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,n=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.round(r),Math.round(n))){var a=[t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1],o=i(a)/a.length;return{score:c({x:Math.round(r),y:Math.round(n)},[1,1,3,1,1],e),x:r,y:n,size:o}}})).filter((function(e){return!!e})).sort((function(e,t){return e.score-t.score})).map((function(e,t,r){if(t>4)return null;var n=r.filter((function(e,r){return t!==r})).map((function(t){return{x:t.x,y:t.y,score:t.score+Math.pow(t.size-e.size,2)/e.size,size:t.size}})).sort((function(e,t){return e.score-t.score}));if(n.length<2)return null;var i=e.score+n[0].score+n[1].score;return{points:[e].concat(n.slice(0,2)),score:i}})).filter((function(e){return!!e})).sort((function(e,t){return e.score-t.score}));if(0===f.length)return null;var p=function(e,t,r){var i,a,o,s,c,u,l,d=n(e,t),f=n(t,r),p=n(e,r);return f>=d&&f>=p?(c=(i=[t,e,r])[0],u=i[1],l=i[2]):p>=f&&p>=d?(c=(a=[e,t,r])[0],u=a[1],l=a[2]):(c=(o=[e,r,t])[0],u=o[1],l=o[2]),(l.x-u.x)*(c.y-u.y)-(l.y-u.y)*(c.x-u.x)<0&&(c=(s=[l,c])[0],l=s[1]),{bottomLeft:c,topLeft:u,topRight:l}}(f[0].points[0],f[0].points[1],f[0].points[2]),h=p.topRight,g=p.topLeft,m=p.bottomLeft,y=l(e,a,h,g,m),v=[];y&&v.push({alignmentPattern:{x:y.alignmentPattern.x,y:y.alignmentPattern.y},bottomLeft:{x:m.x,y:m.y},dimension:y.dimension,topLeft:{x:g.x,y:g.y},topRight:{x:h.x,y:h.y}});var b=u(e,h),C=u(e,g),w=u(e,m),E=l(e,a,b,C,w);return E&&v.push({alignmentPattern:{x:E.alignmentPattern.x,y:E.alignmentPattern.y},bottomLeft:{x:w.x,y:w.y},topLeft:{x:C.x,y:C.y},topRight:{x:b.x,y:b.y},dimension:E.dimension}),0===v.length?null:v}}]).default},e.exports=r()})));function Kq(e){return qq.apply(this,arguments)}function qq(){return(qq=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.imageData,n=t.canvas,(i=r)||(a=n.getContext("2d"),i=a.getImageData(0,0,n.width,n.height)),!(o=zq(i.data,i.width,i.height,{inversionAttempts:"dontInvert"}))){e.next=6;break}return e.abrupt("return",o.data);case 6:return e.abrupt("return","");case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hq(e){return Gq.apply(this,arguments)}function Gq(){return(Gq=CD(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.canvas,n=t.qrScannerResources,e.abrupt("return",new Promise((function(e){setTimeout((function(){return e("")}),1e3),Uq.scanImage(r,void 0,void 0,n.canvas).then(e).catch((function(){return e("")}))})));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Qq,Wq,Xq,Yq,$q,Zq,Jq=function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.canvas,n=t.blackAndWhiteConverterResources,i=t.qrScannerResources,a=n.kernel,o=n.canvas,s=n.dst,c=window,u=c.cv,l="",d=u.imread(r),u.cvtColor(d,s,u.COLOR_RGBA2GRAY),u.filter2D(s,s,-1,a),u.imshow(o,s),e.next=10,Kq({canvas:o});case 10:if(l=e.sent){e.next=15;break}return e.next=14,Hq({canvas:o,qrScannerResources:i});case 14:l=e.sent;case 15:return d.delete(),e.abrupt("return",l);case 17:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),eH=function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.canvas,n=t.blob,i=t.qrScannerResources,a=t.blackAndWhiteConverterResources,o=r,!n){e.next=6;break}return e.next=5,DB.blobToCanvas({blob:n});case 5:o=e.sent;case 6:return s=o.getContext("2d"),e.next=9,Kq({imageData:s.getImageData(0,0,o.width,o.height)});case 9:if(c=e.sent){e.next=18;break}return e.next=13,Hq({canvas:o,qrScannerResources:i});case 13:if(c=e.sent){e.next=18;break}return e.next=17,Jq({canvas:o,blackAndWhiteConverterResources:a,qrScannerResources:i});case 17:c=e.sent;case 18:return e.abrupt("return",c);case 19:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),tH=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c,u,l=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=l.length>0&&void 0!==l[0]?l[0]:{},r=t.blob,n=t.resultWarmup,i=t.enableValidation,a=void 0===i||i,o=n.qrScannerResources,s=n.blackAndWhiteConverterResources,c={},e.next=5,eH({blob:r,qrScannerResources:o,blackAndWhiteConverterResources:s});case 5:return u=e.sent,a&&u&&(c=Dq(u)),e.abrupt("return",{result:u,validateResult:c});case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),rH=function(e){var t=e.shouldStart,r=e.refVideo,n=e.cropArea,i=e.settings,a=e.onSessionTimeout,o=e.onCaptureDone,s=e.onAboutToTimeout,c=e.outputEncryptionSettings,u=AD(oy.useState(!1),2),l=u[0],d=u[1],f=oy.useRef((function(){})),p=oy.useRef((function(){})),h=lk.useSDKSettings().lang,g=function(e){var t=e.refVideo,r=e.shouldStart,n=e.cropArea,i=e.settings,a=e.onResult,o=e.outputEncryptionSettings,s=oy.useRef(null);null===s.current&&(s.current=document.createElement("canvas"));var c=oy.useRef(!1),u=oy.useRef(null),l=AD(oy.useState(!1),2),d=l[0],f=l[1],p=oy.useRef({}),h=lk.useSDKSettings().customUrls;oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(d){e.next=5;break}return e.next=3,Fq(h);case 3:p.current=e.sent,f(!0);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[d,h]);var g=oy.useCallback((function(){!0===c.current&&(c.current=!1)}),[]),m=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var r,n,l,f,h,m,y,v,b,C,w,E,k,S,B,T;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(d&&i&&!c.current){e.next=2;break}return e.abrupt("return");case 2:r=p.current,n=r.qrScannerResources,l=r.blackAndWhiteConverterResources,f=u.current,h=t.current,c.current=!0,m=f.cropX,y=f.cropY,v=f.cropWidth,b=f.cropHeight,(C=s.current).width=v,C.height=b,w=C.getContext("2d");case 11:return w.drawImage(h,m,y,v,b,0,0,v,b),e.next=15,eH({canvas:C,qrScannerResources:n,blackAndWhiteConverterResources:l});case 15:if(!(E=e.sent)){e.next=29;break}return g(),k=Dq(E),e.next=21,bS.takePicture({canvas:s.current});case 21:if(S=e.sent,B=void 0,!o||!o.key){e.next=28;break}return T=o.key,e.next=27,ET.encrypt({blob:S,key:T});case 27:B=e.sent;case 28:a({result:E,validateResult:k,image:{blob:S,encrypted:B}});case 29:if(c.current){e.next=31;break}return e.abrupt("break",33);case 31:e.next=11;break;case 33:case"end":return e.stop()}}),e)}))),[t,i,d,a,g,o]);oy.useEffect((function(){var e=t.current;function i(){return(i=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return u.current=bS.analyzeVideoAndWindowSizes(e,n,0),t.next=3,m();case 3:case"end":return t.stop()}}),t)})))).apply(this,arguments)}d&&r&&n&&function(){i.apply(this,arguments)}()}),[r,n,t,g,m,d]);var y=oy.useCallback((function(){g()}),[g]);return oy.useEffect((function(){return y}),[y]),{refWorkingCanvas:s,stopCheckFrame:g,checkFrame:m,warmupDone:d}}({refVideo:r,shouldStart:t,cropArea:n,settings:i,onResult:oy.useCallback((function(){f.current.apply(f,arguments)}),[]),outputEncryptionSettings:c}),m=g.stopCheckFrame,y=g.checkFrame,v=g.warmupDone,b=zK({refVideo:r,shouldStart:t&&v,cropArea:n,settings:i}),C=b.stopCheckFrame,w=b.refRecordedVideos,E=b.splitVideos,k=b.resetRecordedVideos,S=b.checkFrame;f.current=oy.useCallback((function(e){d(!0),C(),m(),p.current(),o(SD(SD({},e),{},{recordedVideos:w.current})),d(!1)}),[C,o,w,m]);var B=oy.useCallback((function(){C(),m(),k(),a()}),[k,C,m,a]),T=oy.useCallback((function(){E()}),[E]),A=GK({lang:h,onAboutToTimeout:s,onSessionTimeout:B,onVideoTimeLimitReached:T,settings:i,shouldStartTimers:t&&v,sessionTime:null==i?void 0:i.scanQrLimitTimeSecond}),I=A.stopTimers,_=A.startTimers;return p.current=I,{isProcessing:l,restartSession:oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return _(),e.next=3,Promise.all([S(),y()]);case 3:case"end":return e.stop()}}),e)}))),[S,y,_]),refRecordedVideos:w,warmupDone:v}};function nH(e){var t=e.windowAndVideoInfo,r=e.onUISpacingChange,n=e.refVideo,i=e.settings,a=e.onCaptureDone,o=e.outputEncryptionSettings,s=AD(oy.useState(null),2),c=s[0],u=s[1],l=Hk.useAsset("qr_capture_cursor.png"),d=AD(oy.useState({}),2),f=d[0],p=d[1],h=f.yTooltip,g=f.yMessage,m=lk.useSDKSettings().lang,y=dK(),v=y.showPopup,b=y.popupShown,C=y.popupType,w=AD(oy.useState(!1),2),E=w[0],k=w[1],S=AD(oy.useState(null),2),B=S[0],T=S[1],A=Hk.useAsset("ic_loading.png");oy.useEffect((function(){v({popupType:gK})}),[v]),oy.useEffect((function(){if(t){var e=t.videoAreaWidth,n=t.lostX,i=t.lostY,a=GD.isMobile?Math.min(e-6,145):145,o=a,s=i+10,c=s+90,l=c+40,d=l+o+20,f=Math.floor((e-a)/2)+n;u({x:f,y:l,width:a,height:o,surroundStyle:{opacity:.6,background:"#000"}});var h={yTitle:s,yTooltip:d,yMessage:c};p(h),r(h)}}),[t,r]);var I=oy.useCallback((function(){T(""),a()}),[a]),_=oy.useCallback((function(e){var t=e.validateResult.valid;T(""),t?a(e):v({popupType:hK})}),[v,a]),x=oy.useCallback((function(e){var t=e.curTimeLeft;T(IV(rq.REMAINING_TIME[m])({x:t}))}),[m]),P=rH({shouldStart:E,refVideo:n,cropArea:c,settings:i,onSessionTimeout:I,onCaptureDone:_,onAboutToTimeout:x,outputEncryptionSettings:o}),R=P.isProcessing,N=P.restartSession,O=P.warmupDone,L=oy.useCallback((function(){v({popupType:null})}),[v]),D=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return L(),e.next=3,N();case 3:case"end":return e.stop()}}),e)}))),[N,L]),U=oy.useCallback((function(){L(),a()}),[L,a]),M=oy.useCallback((function(){L(),setTimeout((function(){k(!0)}),200)}),[L]);return oy.createElement(oy.Fragment,null,!O&&oy.createElement(gF,{contentStyle:{maxWidth:"300px"}}),c&&oy.createElement(wU,{x:"".concat(c.x,"px"),y:"".concat(c.y,"px"),width:"".concat(c.width,"px"),height:"".concat(c.height,"px"),surroundStyle:c.surroundStyle},oy.createElement("div",null,oy.createElement("img",{src:l,width:c.width,height:c.height,alt:""}))),oy.createElement(eq,{y:"".concat(h,"px")},rq.QR_TOOLTIP[m]),B&&oy.createElement(tq,{key:B,className:"message",y:"".concat(g,"px")},B),R&&oy.createElement(Xz,null,oy.createElement("img",{src:A,alt:"",className:"spin"})),oy.createElement(Yj,{contentStyle:{maxWidth:"332px"},open:b},C===hK&&oy.createElement(gq,{onRetry:D,onSkip:U}),C===fK&&oy.createElement(bq,{onRetry:D,onSkip:U}),C===gK&&oy.createElement(Oq,{onClickStart:M,onTimeout:M})))}nH.propTypes={windowAndVideoInfo:Py.shape({}),onUISpacingChange:Py.func,refVideo:Py.shape({}),settings:Py.shape({}),onCaptureDone:Py.func,outputEncryptionSettings:Py.shape({})},nH.defaultProps={windowAndVideoInfo:{},onUISpacingChange:function(){},refVideo:{},settings:{},onCaptureDone:function(){},outputEncryptionSettings:null};var iH,aH,oH,sH,cH,uH={SUCCESS:"SUCCESS",WARNING:"WARNING"},lH=(wD(Qq={},uH.SUCCESS,"52,206,95"),wD(Qq,uH.WARNING,"255,148,50"),Qq),dH=(wD(Wq={},uH.SUCCESS,"✓"),wD(Wq,uH.WARNING,"!"),Wq),fH=eC.div(Xq||(Xq=TD(["\n font-weight: normal;\n"]))),pH=eC.div(Yq||(Yq=TD(["\n height: 2px;\n width: 100%;\n background: ",";\n"])),(function(e){return Vb(["linear-gradient(to right,rgba(",",0),rgba(",",1),rgba(",",0));"],lH[e.type],lH[e.type],lH[e.type])})),hH=eC.div($q||($q=TD(["\n width: 22px;\n height: 22px;\n border-radius: 50%;\n background: ",";\n display: flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n margin-right: 8px;\n font-weight: bold;\n"])),(function(e){return Vb(["rgb(",")"],lH[e.type])})),gH=eC.div(Zq||(Zq=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 10px 0;\n"]))),mH=function(e){var t=e.children,r=e.type,n=e.className;return oy.createElement(fH,{className:n},oy.createElement(pH,{type:r}),oy.createElement(gH,null,oy.createElement(hH,{type:r},dH[r]),t),oy.createElement(pH,{type:r}))};mH.propTypes={children:Py.node,type:Py.string,className:Py.string},mH.defaultProps={children:null,type:uH.SUCCESS,className:""};var yH=eC.div(iH||(iH=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),vH=eC.div(aH||(aH=TD(["\n text-align: center;\n font-size: 1rem;\n color: #ea3223;\n margin-top: 10px;\n"]))),bH=eC.button(oH||(oH=TD(["\n margin-top: 20px;\n width: 100%;\n max-width: 160px;\n height: 50px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 0.25rem;\n color: #fff;\n font-weight: 400;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.tsBlue})),CH=eC.img(sH||(sH=TD(["\n width: 100%;\n height: 100%;\n object-fit: contain;\n border-radius: 5px;\n"]))),wH=eC.div(cH||(cH=TD(["\n margin: 20px 0;\n width: 100%;\n display: flex;\n justify-content: space-evenly;\n gap: 10px;\n"]))),EH=function(e){var t=e.imageTaken,r=e.onConfirm,n=e.onTryAgain,i=e.error,a=e.hasValidQR,o=AD(oy.useState(null),2),s=o[0],c=o[1],u=lk.useSDKSettings().lang;return oy.useEffect((function(){var e;return t&&(e=URL.createObjectURL(t.blob),c(e)),function(){URL.revokeObjectURL(e)}}),[t]),oy.createElement(yH,null,null!==a&&oy.createElement(nq,{mb:"20px"},oy.createElement("div",null,oy.createElement(mH,{type:a?uH.SUCCESS:uH.WARNING},a?aK.CONFIRM_POPUP_VALID_QR[u]:aK.CONFIRM_POPUP_INVALID_QR[u]))),oy.createElement(_q,{ratio:1.5},oy.createElement(CH,{src:s})),i&&oy.createElement(vH,{className:"confirm-popup-error-message"},i.msg[u]),oy.createElement(wH,null,oy.createElement(bH,{onClick:n},aK.BTN_TRY_AGAIN[u]),oy.createElement(bH,{onClick:r},aK.BTN_USE_THIS_PICTURE[u])))};EH.propTypes={imageTaken:Py.shape({}),error:Py.shape({msg:Py.shape({})}),onConfirm:Py.func,onTryAgain:Py.func,hasValidQR:Py.bool},EH.defaultProps={imageTaken:null,error:null,onConfirm:function(){},onTryAgain:function(){},hasValidQR:null};var kH={tsBlue:"#0276f1",tsSecondary:"rgba(0, 47, 117, 0.6)"};function SH(e){var t=this.__data__=new VV(e);this.size=t.size}SH.prototype.clear=function(){this.__data__=new VV,this.size=0},SH.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},SH.prototype.get=function(e){return this.__data__.get(e)},SH.prototype.has=function(e){return this.__data__.has(e)},SH.prototype.set=function(e,t){var r=this.__data__;if(r instanceof VV){var n=r.__data__;if(!jV||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new KV(n)}return r.set(e,t),this.size=r.size,this};var BH,TH=SH,AH=function(e,t,r){(void 0!==r&&!uM(e[t],r)||void 0===r&&!(t in e))&&cM(e,t,r)},IH=function(e,t,r){for(var n=-1,i=Object(e),a=r(e),o=a.length;o--;){var s=a[++n];if(!1===t(i[s],s,i))break}return e},_H=ND((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r?AU.Buffer:void 0,a=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}})),xH=AU.Uint8Array,PH=function(e,t){var r=t?function(e){var t=new e.constructor(e.byteLength);return new xH(t).set(new xH(e)),t}(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)},RH=Object.create,NH=function(){function e(){}return function(t){if(!SU(t))return{};if(RH)return RH(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),OH=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]},LH=function(e,t,r,n,i,a,o){var s=OH(e,r),c=OH(t,r),u=o.get(c);if(u)AH(e,r,u);else{var l=a?a(s,c,r+"",e,t,o):void 0,d=void 0===l;if(d){var f=RM(c),p=!f&&OM(c),h=!f&&!p&&MM(c);l=c,f||p||h?RM(s)?l=s:function(e){return UU(e)&&EM(e)}(s)?l=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(s):p?(d=!1,l=_H(c,!0)):h?(d=!1,l=PH(c,!0)):l=[]:eV(c)||PM(c)?(l=s,PM(s)?l=function(e){return fM(e,HM(e))}(s):SU(s)&&!XU(s)||(l=function(e){return"function"!=typeof e.constructor||zM(e)?{}:NH(WM(e))}(c))):d=!1}d&&(o.set(c,l),i(l,c,n,a,o),o.delete(c)),AH(e,r,l)}},DH=function e(t,r,n,i,a){t!==r&&IH(r,(function(o,s){if(a||(a=new TH),SU(o))LH(t,r,s,n,e,i,a);else{var c=i?i(OH(t,s),o,s+"",t,r,a):void 0;void 0===c&&(c=o),AH(t,s,c)}}),HM)},UH=TM((function(e,t,r){DH(e,t,r)})),MH={data:{settings:{sdk_settings:{id_detection_settings:{auto_capture:{enable:!0,show_capture_button:!0,wait_for_best_image_time_ms_web:1e3},blur_check:{enable:!0,threshold_web:.82},disable_capture_button_if_alert:!1,id_detection:{enable:!0},limit_time_settings:{enable:!0,limit_time_second:30,video_partial_length_seconds:15},save_frame_settings:{enable:!1,frames_interval_ms:190,quality_web:80},scan_qr_settings:{enable:!0,limit_time_second:20}}}}}};function VH(e){var t=e.clientSettings,r=AD(oy.useState(null),2),n=r[0],i=r[1];return oy.useEffect((function(){var e=UH(MH,t),r=$V(e,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.enable"),n=$V(e,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.frames_interval_ms"),a=$V(e,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.quality_web"),o=$V(e,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.enable"),s=$V(e,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.limit_time_second"),c=$V(e,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.video_partial_length_seconds"),u=$V(e,"data.settings.sdk_settings.id_detection_settings.auto_capture.enable"),l=$V(e,"data.settings.sdk_settings.id_detection_settings.auto_capture.wait_for_best_image_time_ms_web"),d=$V(e,"data.settings.sdk_settings.id_detection_settings.blur_check.enable"),f=$V(e,"data.settings.sdk_settings.id_detection_settings.blur_check.threshold_web"),p=$V(e,"data.settings.sdk_settings.id_detection_settings.disable_capture_button_if_alert"),h=$V(e,"data.settings.sdk_settings.id_detection_settings.id_detection.enable"),g=$V(e,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable"),m=$V(e,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.limit_time_second");i({enableRecording:r,frameCaptureIntervalMs:n,idCardSessionTime:s,maxRecordingTimePerVideo:c,saveFrameQuality:a,enableTimers:o,enableAutoCapture:u,waitForBestImageTimeMs:l,enableBlurCheck:d,blurThreshold:f,disableCaptureButtonIfAlert:p,enableIdDetection:h,enableScanQr:g,scanQrLimitTimeSecond:m})}),[t]),{settings:n}}var jH=rC(BH||(BH=TD(["\n .text-primary {\n color: ",";\n }\n"])),(function(e){return e.theme.tsBlue})),FH=oC.IDCardSide,zH=oC.IDCardType,KH=oC.Errors,qH={ID_CARD:"id_card",QR_CODE:"qr_code"},HH=[{scannerType:qH.ID_CARD,title:"Mặt trước CMND/CCCD",description:"Vui lòng đặt CMND mặt trước vào trong khung",titleIcon:"id_card_front.svg",cardSide:oC.IDCardSide.FRONT,cardType:zH.VN,frontCamera:!1,enableConfirmPopup:!0},{scannerType:qH.ID_CARD,title:"Mặt sau CMND/CCCD",description:"Vui lòng đặt CMND mặt sau vào trong khung",titleIcon:"id_card_back.svg",cardSide:oC.IDCardSide.BACK,cardType:zH.VN,frontCamera:!1,enableConfirmPopup:!0}],GH={scannerType:qH.QR_CODE,title:"Quét mã QR trên CCCD",frontCamera:!1};function QH(e){var t=e.onClose,r=e.onError,n=e.clientSettings,i=e.detectIdCard,a=e.onStepDone,o=e.steps,s=e.outputEncryptionSettings,c=AD(oy.useState(0),2),u=c[0],l=c[1],d=AD(oy.useState(o[u]),2),f=d[0],p=d[1],h=oy.useRef(null),g=AD(oy.useState(null),2),m=g[0],y=g[1],v=AD(oy.useState(!1),2),b=v[0],C=v[1],w=AD(oy.useState(0),2),E=w[0],k=w[1],S=oy.useRef(),B=f.scannerType,T=f.frontCamera,A=f.title,I=f.titleIcon,_=f.cardSide,x=f.description,P=f.usePortraitMask,R=f.cardType,N=f.enableConfirmPopup,O=_===FH.FRONT,L=Hk.useAsset(I),D=dK(),U=D.showPopup,M=D.popupShown,V=D.popupType,j=D.props,F=AD(oy.useState(!1),2),z=F[0],K=F[1],q=Hk.useAsset("ic_loading.png"),H=oy.useRef({}),G=oy.useRef(null),Q=oy.useRef([]),W=VH({clientSettings:n}).settings,X=AD(oy.useState({}),2),Y=X[0],$=X[1],Z=Y.yTitle,J=oy.useCallback((function(e){y(e),C(!0)}),[]);oy.useEffect((function(){C(!1)}),[T]);var ee=oy.useCallback((function(){U({popupType:null})}),[U]),te=oy.useCallback((function(e){e>=o.length||setTimeout((function(){l(e),p(o[e])}),200)}),[o]),re=oy.useCallback((function(){te(u+1)}),[te,u]),ne=oy.useCallback((function(){setTimeout((function(){p((function(e){return SD(SD({},GH),{},{enableConfirmPopup:e.enableConfirmPopup})}))}),200)}),[]),ie=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={stepNumber:u,image:H.current,recordedVideos:null!=W&&W.enableRecording?Q.current:[]},B===qH.QR_CODE&&(t.qrScannedResult=G.current),K(!0),e.next=5,a(t);case 5:K(!1),re();case 7:case"end":return e.stop()}}),e)}))),[W,u,a,re,B]),ae=oy.useCallback((function(){ee(),B===qH.QR_CODE?te(u):B===qH.ID_CARD&&S.current.restartSession()}),[te,u,ee,B]),oe=oy.useCallback((function(){ee(),ie()}),[ie,ee]),se=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,a,o,s,c,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.image,a=t.error,o=t.recordedVideos,H.current=n,Q.current=o,k((function(e){return e+1})),_!==oC.IDCardSide.FRONT){e.next=23;break}if(!W.enableScanQr||!GD.isMobile){e.next=23;break}if(c=null==n||null===(s=n.detectedCard)||void 0===s?void 0:s.label){e.next=20;break}return K(!0),e.prev=9,e.next=12,i({image:n,cardType:R,cardSide:_});case 12:u=e.sent,c=u.card_label,e.next=19;break;case 16:e.prev=16,e.t0=e.catch(9),r(KH.detect_id_card_error);case 19:K(!1);case 20:if(!c||!"vn.cccd_new.front".includes(c)){e.next=23;break}return ne(),e.abrupt("return");case 23:N?U({popupType:pK,props:{imageTaken:H.current,error:a}}):ie();case 24:case"end":return e.stop()}}),e,null,[[9,16]])})));return function(t){return e.apply(this,arguments)}}(),[N,U,_,W,R,i,ie,ne,r]),ce=oy.useCallback((function(e){var t;if(G.current=e,e){var r,n=e.recordedVideos;(r=Q.current).push.apply(r,ID(n))}k((function(e){return e+1}));var i=Boolean(null==e||null===(t=e.validateResult)||void 0===t?void 0:t.valid);N?U({popupType:pK,props:{hasValidQR:i,imageTaken:H.current}}):ie()}),[U,N,ie]);return oy.createElement($b,{theme:kH},oy.createElement(Gz,null,oy.createElement(gU,{key:T,frontCamera:T,onVideoPlayed:J,onClose:t,flipHorizontal:T,ref:h,onError:r},b&&oy.createElement(oy.Fragment,null,B===qH.ID_CARD&&oy.createElement(XK,{key:u,ref:S,windowAndVideoInfo:m,refVideo:h,settings:W,onCaptureDone:se,onUISpacingChange:$,frontSide:O,description:x,usePortraitMask:P,outputEncryptionSettings:s}),B===qH.QR_CODE&&oy.createElement(nH,{key:u,refVideo:h,windowAndVideoInfo:m,settings:W,onCaptureDone:ce,onUISpacingChange:$,outputEncryptionSettings:s})),oy.createElement(Hz,{keyForTransition:E}),oy.createElement($z,{y:"".concat(Z,"px")},oy.createElement(uz,null,oy.createElement(az,{key:A,timeout:{enter:500,exit:500},classNames:"flipY",unmountOnExit:!0},oy.createElement(Zz,null,I&&oy.createElement(Qz,{src:L,alt:""}),oy.createElement(Jz,{className:"title"},A))))),z&&oy.createElement(Xz,null,oy.createElement("img",{src:q,alt:"",className:"spin"}))),oy.createElement(Yj,{open:M},V===pK&&oy.createElement(EH,ED({},j,{onConfirm:oe,onTryAgain:ae})))),oy.createElement(jH,null))}QH.propTypes={onClose:Py.func,onError:Py.func,clientSettings:Py.shape({}),detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),outputEncryptionSettings:Py.shape({})},QH.defaultProps={onClose:function(){},onError:function(){},clientSettings:{},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:HH,outputEncryptionSettings:null};var WH=["tracking","clientSettings"];function XH(e){var t=e.tracking,r=e.clientSettings,n=BD(e,WH),i=oy.useMemo((function(){return $V(r,"data.settings.sdk_settings.server_log_settings.enable",null==t?void 0:t.enable)}),[r,t]);return oy.createElement(zk.SDKTrackingProvider,{value:{tracking:SD(SD({},t),{},{enable:i})}},oy.createElement(QH,ED({},n,{clientSettings:r})))}XH.propTypes={tracking:Py.shape({}),clientSettings:Py.shape({})},XH.defaultProps={tracking:void 0,clientSettings:void 0};var YH=oC.IDCardSide,$H=oC.Errors;function ZH(e){return JH.apply(this,arguments)}function JH(){return(JH=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.image,n=t.cardType,i=t.cardSide,a=t.apiClient,o=t.outputEncryptionSettings,s={label:"id_card.".concat(n,".").concat(i)},!o||!o.key){e.next=4;break}return e.abrupt("return",a.httpClient.post("/v1/images",SD({base64:r.encrypted.hex},s),{"X-TV-Key":o.key}));case 4:return e.abrupt("return",a.uploadImage(SD({file:r.blob},s)));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function eG(e){return tG.apply(this,arguments)}function tG(){return(tG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.image,n=t.apiClient,i=t.rawString,a=t.outputEncryptionSettings,o={label:"qr_code",metadata:JSON.stringify({raw:i})},!a||!a.key){e.next=4;break}return e.abrupt("return",n.httpClient.post("/v1/images",SD({base64:r.encrypted.hex},o),{"X-TV-Key":a.key}));case 4:return e.abrupt("return",n.uploadImage(SD({file:r.blob},o)));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rG(e){return nG.apply(this,arguments)}function nG(){return(nG=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.imageId,n=t.cardType,i=t.apiClient,e.abrupt("return",i.requestVerifyIDCard({card_type:n,image1:{id:r}}));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function iG(e){return aG.apply(this,arguments)}function aG(){return(aG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.apiClient,n=t.cardType,i=t.frontCardId,a=t.isCapturingFrontSide,o=t.backCardId,s=t.recordedVideos,c=t.qrImageId,u=s.filter((function(e){return null!==e.id})),l=s.filter((function(e){return null===e.id&&e.frames.length>0})),e.next=5,Promise.all(l.map((function(e){return r.fileService.request({frames:e.frames})})));case 5:return d=e.sent,f={card_type:n,image:{id:i},image2:a?void 0:{id:o},videos:[].concat(ID(u.map((function(e){return{id:e.id}}))),ID(d.map((function(e){return{id:e.data.file_id}}))))},c&&(f.qr1_images=[{id:c}]),e.abrupt("return",r.detectIDTampering(f));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function oG(e){return sG.apply(this,arguments)}function sG(){return(sG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.cardType,n=t.apiClient,i=t.frontCardId,a=t.backCardId,o=t.isCapturingFrontSide,s=t.qrImageId,c={card_type:r,image1:o?{id:i}:{id:a}},s&&(c.qr1_images=[{id:s}]),e.abrupt("return",n.readIDCard(c));case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function cG(e){return uG.apply(this,arguments)}function uG(){return(uG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.image,i=t.frontCardId,a=t.qrImageId,o=t.onError,s=t.recordedVideos,c=t.apiClient,u=t.cardType,l=t.cardSide,d=t.qrScannedResult,f=t.outputEncryptionSettings,l!==YH.BACK||i){e.next=4;break}return o($H.missing_front_id_card),e.abrupt("return");case 4:return p=[ZH({image:n,cardType:u,cardSide:l,apiClient:c,outputEncryptionSettings:f})],d&&p.push(eG({image:d.image,apiClient:c,rawString:d.result,outputEncryptionSettings:f})),e.next=8,Promise.all(p);case 8:if(h=e.sent,g=AD(h,2),m=g[0],y=g[1],!m.errors){e.next=15;break}return o(SD(SD({},$H.upload_error),{},{details:m.errors})),e.abrupt("return");case 15:return v=m.data.image_id,b=(null==y||null===(r=y.data)||void 0===r?void 0:r.image_id)||a,(E=l===YH.FRONT)?C=v:(C=i,w=v),e.next=21,rG({imageId:v,cardType:u,apiClient:c});case 21:if(!(k=e.sent).errors){e.next=25;break}return o(SD(SD({},$H.sanity_check_error),{},{details:k.errors})),e.abrupt("return");case 25:return e.next=27,oG({cardType:u,apiClient:c,frontCardId:C,backCardId:w,isCapturingFrontSide:E,qrImageId:b});case 27:if(!(S=e.sent).errors){e.next=31;break}return o(SD(SD({},$H.read_id_card_error),{},{details:S.errors})),e.abrupt("return");case 31:return e.next=33,iG({apiClient:c,cardType:u,frontCardId:C,isCapturingFrontSide:E,backCardId:w,recordedVideos:s,qrImageId:b});case 33:if(!(B=e.sent).errors){e.next=37;break}return o(SD(SD({},$H.detect_id_tampering_error),{},{details:B.errors})),e.abrupt("return");case 37:return e.abrupt("return",{sanityResult:k.data,tamperingInfo:B.data,cardInfo:S.data,qrImageId:b});case 38:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var lG=["onClose","onError","detectIdCard","steps","onStepDone","apiCredentials","tracking","outputEncryptionSettings"],dG=oC.Errors,fG=function(e){var t=e.onClose,r=e.onError,n=e.detectIdCard,i=e.steps,a=e.onStepDone,o=e.apiCredentials,s=e.tracking,c=e.outputEncryptionSettings,u=BD(e,lG),l=AD(oy.useState(null),2),d=l[0],f=l[1],p=YB.useApiClient({apiCredentials:o,tracking:s}).apiClient,h=oy.useRef(""),g=oy.useRef("");oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.clientSettings();case 2:t=e.sent,f(t);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[p]);var m=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,o,s,u,l,d,f,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.stepNumber,o=t.recordedVideos,s=t.qrScannedResult,u=t.image,l=i[n],d=l.cardType,f=l.cardSide,m=null,e.prev=3,e.next=6,cG({image:u,cardSide:f,frontCardId:h.current,qrImageId:g.current,onError:r,apiClient:p,cardType:d,recordedVideos:o,qrScannedResult:s,outputEncryptionSettings:c});case 6:m=e.sent,f===oC.IDCardSide.FRONT&&(h.current=m.cardInfo.image1.id),g.current=m.qrImageId,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(3),r(SD(SD({},dG.api_call_error),{},{details:e.t0}));case 14:m&&a(SD(SD({},t),{},{apiResult:m}));case 15:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t){return e.apply(this,arguments)}}(),[p,r,i,a,c]);return d&&oy.createElement(XH,ED({tracking:s,onClose:t,onError:r,detectIdCard:n,onStepDone:m,steps:i,outputEncryptionSettings:c},u,{clientSettings:d}))};function pG(){return(pG=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=s.length>0&&void 0!==s[0]?s[0]:{},r=t.opencvUrl,n=t.idCardModelUrl,i=t.blazefaceModelUrl,a=t.tfScriptUrls,"iOS"!==GD.osName||!GD.osVersion.includes("12.")){e.next=5;break}return e.next=4,xK({url:r});case 4:return e.abrupt("return");case 5:return e.next=7,vT.loadTensorFlow(a);case 7:return o=new OK,e.next=10,Promise.all([o.loadResource({modelUrl:n}),vT.loadBlazefaceModel({modelUrl:i}),xK({url:r})]);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}fG.propTypes={onClose:Py.func,onError:Py.func,detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string}),tracking:Py.shape({}),outputEncryptionSettings:Py.shape({})},fG.defaultProps={onClose:function(){},onError:function(){},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:HH,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"},outputEncryptionSettings:{key:""},tracking:void 0};var hG=rj((function(){return pG.apply(this,arguments)})),gG=function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.blob,n=t.resultWarmup,i=n.idCardModel,a=n.ableToUseModel){e.next=4;break}return e.abrupt("return",{ableToUseModel:a});case 4:return e.next=6,DB.blobToCanvas({blob:r});case 6:return o=e.sent,e.abrupt("return",i.predict(o,{detectThreshold:.3}));case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),mG=Ej,yG=BD(DF,["useLivenessDetection"]);function vG(){return(vG=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function bG(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}function CG(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function wG(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var EG=!1,kG=oy.createContext(null),SG="entering",BG="entered",TG=function(e){function t(t,r){var n;n=e.call(this,t,r)||this;var i,a=r&&!r.isMounting?t.enter:t.appear;return n.appearStatus=null,t.in?a?(i="exited",n.appearStatus=SG):i=BG:i=t.unmountOnExit||t.mountOnEnter?"unmounted":"exited",n.state={status:i},n.nextCallback=null,n}CG(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&"unmounted"===t.status?{status:"exited"}:null};var r=t.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(e){var t=null;if(e!==this.props){var r=this.state.status;this.props.in?r!==SG&&r!==BG&&(t=SG):r!==SG&&r!==BG||(t="exiting")}this.updateStatus(!1,t)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var e,t,r,n=this.props.timeout;return e=t=r=n,null!=n&&"number"!=typeof n&&(e=n.exit,t=n.enter,r=void 0!==n.appear?n.appear:t),{exit:e,enter:t,appear:r}},r.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),t===SG?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&"exited"===this.state.status&&this.setState({status:"unmounted"})},r.performEnter=function(e){var t=this,r=this.props.enter,n=this.context?this.context.isMounting:e,i=this.props.nodeRef?[n]:[yD.findDOMNode(this),n],a=i[0],o=i[1],s=this.getTimeouts(),c=n?s.appear:s.enter;!e&&!r||EG?this.safeSetState({status:BG},(function(){t.props.onEntered(a)})):(this.props.onEnter(a,o),this.safeSetState({status:SG},(function(){t.props.onEntering(a,o),t.onTransitionEnd(c,(function(){t.safeSetState({status:BG},(function(){t.props.onEntered(a,o)}))}))})))},r.performExit=function(){var e=this,t=this.props.exit,r=this.getTimeouts(),n=this.props.nodeRef?void 0:yD.findDOMNode(this);t&&!EG?(this.props.onExit(n),this.safeSetState({status:"exiting"},(function(){e.props.onExiting(n),e.onTransitionEnd(r.exit,(function(){e.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))}))}))):this.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},r.setNextCallback=function(e){var t=this,r=!0;return this.nextCallback=function(n){r&&(r=!1,t.nextCallback=null,e(n))},this.nextCallback.cancel=function(){r=!1},this.nextCallback},r.onTransitionEnd=function(e,t){this.setNextCallback(t);var r=this.props.nodeRef?this.props.nodeRef.current:yD.findDOMNode(this),n=null==e&&!this.props.addEndListener;if(r&&!n){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[r,this.nextCallback],a=i[0],o=i[1];this.props.addEndListener(a,o)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},r.render=function(){var e=this.state.status;if("unmounted"===e)return null;var t=this.props,r=t.children,n=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,bG(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return oy.createElement(kG.Provider,{value:null},"function"==typeof r?r(e,n):oy.cloneElement(oy.Children.only(r),n))},t}(oy.Component);function AG(){}TG.contextType=kG,TG.propTypes={},TG.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:AG,onEntering:AG,onEntered:AG,onExit:AG,onExiting:AG,onExited:AG},TG.UNMOUNTED="unmounted",TG.EXITED="exited",TG.ENTERING=SG,TG.ENTERED=BG,TG.EXITING="exiting";var IG,_G,xG=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.add(n):function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")}(r,n)||("string"==typeof r.className?r.className=r.className+" "+n:r.setAttribute("class",(r.className&&r.className.baseVal||"")+" "+n)));var r,n}))},PG=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.remove(n):"string"==typeof r.className?r.className=wG(r.className,n):r.setAttribute("class",wG(r.className&&r.className.baseVal||"",n)));var r,n}))},RG=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).appliedClasses={appear:{},enter:{},exit:{}},t.onEnter=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1];t.removeClasses(i,"exit"),t.addClass(i,a?"appear":"enter","base"),t.props.onEnter&&t.props.onEnter(e,r)},t.onEntering=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.addClass(i,a,"active"),t.props.onEntering&&t.props.onEntering(e,r)},t.onEntered=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.removeClasses(i,a),t.addClass(i,a,"done"),t.props.onEntered&&t.props.onEntered(e,r)},t.onExit=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"appear"),t.removeClasses(r,"enter"),t.addClass(r,"exit","base"),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){var r=t.resolveArguments(e)[0];t.addClass(r,"exit","active"),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"exit"),t.addClass(r,"exit","done"),t.props.onExited&&t.props.onExited(e)},t.resolveArguments=function(e,r){return t.props.nodeRef?[t.props.nodeRef.current,e]:[e,r]},t.getClassNames=function(e){var r=t.props.classNames,n="string"==typeof r,i=n?""+(n&&r?r+"-":"")+e:r[e];return{baseClassName:i,activeClassName:n?i+"-active":r[e+"Active"],doneClassName:n?i+"-done":r[e+"Done"]}},t}CG(t,e);var r=t.prototype;return r.addClass=function(e,t,r){var n=this.getClassNames(t)[r+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===t&&"done"===r&&i&&(n+=" "+i),"active"===r&&e&&e.scrollTop,n&&(this.appliedClasses[t][r]=n,xG(e,n))},r.removeClasses=function(e,t){var r=this.appliedClasses[t],n=r.base,i=r.active,a=r.done;this.appliedClasses[t]={},n&&PG(e,n),i&&PG(e,i),a&&PG(e,a)},r.render=function(){var e=this.props,t=(e.classNames,bG(e,["classNames"]));return oy.createElement(TG,vG({},t,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(oy.Component);RG.defaultProps={classNames:""},RG.propTypes={};var NG="out-in",OG="in-out",LG=function(e,t,r){return function(){var n;e.props[t]&&(n=e.props)[t].apply(n,arguments),r()}},DG=((IG={})[NG]=function(e){var t=e.current,r=e.changeState;return oy.cloneElement(t,{in:!1,onExited:LG(t,"onExited",(function(){r(SG,null)}))})},IG[OG]=function(e){var t=e.current,r=e.changeState,n=e.children;return[t,oy.cloneElement(n,{in:!0,onEntered:LG(n,"onEntered",(function(){r(SG)}))})]},IG),UG=((_G={})[NG]=function(e){var t=e.children,r=e.changeState;return oy.cloneElement(t,{in:!0,onEntered:LG(t,"onEntered",(function(){r(BG,oy.cloneElement(t,{in:!0}))}))})},_G[OG]=function(e){var t=e.current,r=e.children,n=e.changeState;return[oy.cloneElement(t,{in:!1,onExited:LG(t,"onExited",(function(){n(BG,oy.cloneElement(r,{in:!0}))}))}),oy.cloneElement(r,{in:!0})]},_G),MG=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).state={status:BG,current:null},t.appeared=!1,t.changeState=function(e,r){void 0===r&&(r=t.state.current),t.setState({status:e,current:r})},t}CG(t,e);var r=t.prototype;return r.componentDidMount=function(){this.appeared=!0},t.getDerivedStateFromProps=function(e,t){return null==e.children?{current:null}:t.status===SG&&e.mode===OG?{status:SG}:!t.current||(r=t.current,n=e.children,r===n||oy.isValidElement(r)&&oy.isValidElement(n)&&null!=r.key&&r.key===n.key)?{current:oy.cloneElement(e.children,{in:!0})}:{status:"exiting"};var r,n},r.render=function(){var e,t=this.props,r=t.children,n=t.mode,i=this.state,a=i.status,o=i.current,s={children:r,current:o,changeState:this.changeState,status:a};switch(a){case SG:e=UG[n](s);break;case"exiting":e=DG[n](s);break;case BG:e=o}return oy.createElement(kG.Provider,{value:{isMounting:!this.appeared}},e)},t}(oy.Component);MG.propTypes={},MG.defaultProps={mode:NG};var VG=a((function(e){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var n={MOBILE:"mobile",TABLET:"tablet",SMART_TV:"smarttv",CONSOLE:"console",WEARABLE:"wearable",BROWSER:void 0};e.exports={BROWSER_TYPES:{CHROME:"Chrome",FIREFOX:"Firefox",OPERA:"Opera",YANDEX:"Yandex",SAFARI:"Safari",INTERNET_EXPLORER:"Internet Explorer",EDGE:"Edge",CHROMIUM:"Chromium",IE:"IE",MOBILE_SAFARI:"Mobile Safari",EDGE_CHROMIUM:"Edge Chromium"},DEVICE_TYPES:n,OS_TYPES:{IOS:"iOS",ANDROID:"Android",WINDOWS_PHONE:"Windows Phone",WINDOWS:"Windows",MAC_OS:"Mac OS"},defaultData:{isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1}}},function(e,t,r){var n,i=r(2),a=r(0),o=a.BROWSER_TYPES,s=a.OS_TYPES,c=a.DEVICE_TYPES,u=r(4),l=u.checkType,d=u.broPayload,f=u.mobilePayload,p=u.wearPayload,h=u.consolePayload,g=u.stvPayload,m=u.getNavigatorInstance,y=u.isIOS13Check,v=new i,b=v.getBrowser(),C=v.getDevice(),w=v.getEngine(),E=v.getOS(),k=v.getUA(),S=o.CHROME,B=o.CHROMIUM,T=o.IE,A=o.INTERNET_EXPLORER,I=o.OPERA,_=o.FIREFOX,x=o.SAFARI,P=o.EDGE,R=o.YANDEX,N=o.MOBILE_SAFARI,O=c.MOBILE,L=c.TABLET,D=c.SMART_TV,U=c.BROWSER,M=c.WEARABLE,V=c.CONSOLE,j=s.ANDROID,F=s.WINDOWS_PHONE,z=s.IOS,K=s.WINDOWS,q=s.MAC_OS,H=function(){return E.name===s.WINDOWS&&"10"===E.version&&("string"==typeof k&&-1!==k.indexOf("Edg/"))},G=function(){return b.name===P},Q=function(){return y("iPad")},W=C.type===D,X=C.type===V,Y=C.type===M,$=b.name===N||Q(),Z=b.name===B,J=function(){switch(C.type){case O:case L:return!0;default:return!1}}()||Q(),ee=C.type===O,te=C.type===L||Q(),re=C.type===U,ne=E.name===j,ie=E.name===F,ae=E.name===z||Q(),oe=b.name===S,se=b.name===_,ce=b.name===x||b.name===N,ue=b.name===I,le=b.name===A||b.name===T,de=E.version?E.version:"none",fe=E.name?E.name:"none",pe=b.major,he=b.version,ge=b.name,me=C.vendor?C.vendor:"none",ye=C.model?C.model:"none",ve=w.name,be=w.version,Ce=k,we=G()||H(),Ee=b.name===R,ke=C.type,Se=(n=m())&&(/iPad|iPhone|iPod/.test(n.platform)||"MacIntel"===n.platform&&n.maxTouchPoints>1)&&!window.MSStream,Be=Q(),Te=y("iPhone"),Ae=y("iPod"),Ie=function(){var e=m(),t=e&&e.userAgent.toLowerCase();return"string"==typeof t&&/electron/.test(t)}(),_e=H(),xe=G(),Pe=E.name===K,Re=E.name===q,Ne=l(C.type);e.exports={deviceDetect:function(){var e=Ne.isBrowser,t=Ne.isMobile,r=Ne.isTablet,n=Ne.isSmartTV,i=Ne.isConsole,a=Ne.isWearable;return e?d(e,b,w,E,k):n?g(n,w,E,k):i?h(i,w,E,k):t||r?f(Ne,C,E,k):a?p(a,w,E,k):void 0},isSmartTV:W,isConsole:X,isWearable:Y,isMobileSafari:$,isChromium:Z,isMobile:J,isMobileOnly:ee,isTablet:te,isBrowser:re,isAndroid:ne,isWinPhone:ie,isIOS:ae,isChrome:oe,isFirefox:se,isSafari:ce,isOpera:ue,isIE:le,osVersion:de,osName:fe,fullBrowserVersion:pe,browserVersion:he,browserName:ge,mobileVendor:me,mobileModel:ye,engineName:ve,engineVersion:be,getUA:Ce,isEdge:we,isYandex:Ee,deviceType:ke,isIOS13:Se,isIPad13:Be,isIPhone13:Te,isIPod13:Ae,isElectron:Ie,isEdgeChromium:_e,isLegacyEdge:xe,isWindows:Pe,isMacOs:Re}},function(e,t,r){var n;
|
53
|
+
*/!function(i,a){var o="function",s="undefined",c="object",u="model",l="name",d="type",f="vendor",p="version",h="architecture",g="console",m="mobile",y="tablet",v="smarttv",b="wearable",C={extend:function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:a},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},w={rgx:function(e,t){for(var r,n,i,s,u,l,d=0;d<t.length&&!u;){var f=t[d],p=t[d+1];for(r=n=0;r<f.length&&!u;)if(u=f[r++].exec(e))for(i=0;i<p.length;i++)l=u[++n],$g(s=p[i])===c&&s.length>0?2==s.length?$g(s[1])==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3==s.length?$g(s[1])!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):a:this[s[0]]=l?s[1].call(this,l,s[2]):a:4==s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):a):this[s]=l||a;d+=2}},str:function(e,t){for(var r in t)if($g(t[r])===c&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(C.has(t[r][n],e))return"?"===r?a:r}else if(C.has(t[r],e))return"?"===r?a:r;return e}},E={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}},k={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[l,p],[/(opios)[\/\s]+([\w\.]+)/i],[[l,"Opera Mini"],p],[/\s(opr)\/([\w\.]+)/i],[[l,"Opera"],p],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]*)/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark)\/([\w\.-]+)/i],[l,p],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[l,"IE"],p],[/(edge|edgios|edgea)\/((\d+)?[\w\.]+)/i],[[l,"Edge"],p],[/(yabrowser)\/([\w\.]+)/i],[[l,"Yandex"],p],[/(puffin)\/([\w\.]+)/i],[[l,"Puffin"],p],[/((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],[[l,"UCBrowser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],p],[/(micromessenger)\/([\w\.]+)/i],[[l,"WeChat"],p],[/(qqbrowserlite)\/([\w\.]+)/i],[l,p],[/(QQ)\/([\d\.]+)/i],[l,p],[/m?(qqbrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(BIDUBrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(2345Explorer)[\/\s]?([\w\.]+)/i],[l,p],[/(MetaSr)[\/\s]?([\w\.]+)/i],[l],[/(LBBROWSER)/i],[l],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[p,[l,"MIUI Browser"]],[/;fbav\/([\w\.]+);/i],[p,[l,"Facebook"]],[/headlesschrome(?:\/([\w\.]+)|\s)/i],[p,[l,"Chrome Headless"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[l,/(.+)/,"$1 WebView"],p],[/((?:oculus|samsung)browser)\/([\w\.]+)/i],[[l,/(.+(?:g|us))(.+)/,"$1 $2"],p],[/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],[p,[l,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i],[l,p],[/(dolfin)\/([\w\.]+)/i],[[l,"Dolphin"],p],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[l,"Chrome"],p],[/(coast)\/([\w\.]+)/i],[[l,"Opera Coast"],p],[/fxios\/([\w\.-]+)/i],[p,[l,"Firefox"]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[p,[l,"Mobile Safari"]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[p,l],[/webkit.+?(gsa)\/([\w\.]+).+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[[l,"GSA"],p],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[l,[p,w.str,E.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[l,p],[/(navigator|netscape)\/([\w\.-]+)/i],[[l,"Netscape"],p],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]*)/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[l,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[h,"amd64"]],[/(ia32(?=;))/i],[[h,C.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[h,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[h,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[h,/ower/,"",C.lowerize]],[/(sun4\w)[;\)]/i],[[h,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[h,C.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[u,f,[d,y]],[/applecoremedia\/[\w\.]+ \((ipad)/],[u,[f,"Apple"],[d,y]],[/(apple\s{0,1}tv)/i],[[u,"Apple TV"],[f,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[f,u,[d,y]],[/(kf[A-z]+)\sbuild\/.+silk\//i],[u,[f,"Amazon"],[d,y]],[/(sd|kf)[0349hijorstuw]+\sbuild\/.+silk\//i],[[u,w.str,E.device.amazon.model],[f,"Amazon"],[d,m]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[u,f,[d,m]],[/\((ip[honed|\s\w*]+);/i],[u,[f,"Apple"],[d,m]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[f,u,[d,m]],[/\(bb10;\s(\w+)/i],[u,[f,"BlackBerry"],[d,m]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone)/i],[u,[f,"Asus"],[d,y]],[/(sony)\s(tablet\s[ps])\sbuild\//i,/(sony)?(?:sgp.+)\sbuild\//i],[[f,"Sony"],[u,"Xperia Tablet"],[d,y]],[/android.+\s([c-g]\d{4}|so[-l]\w+)\sbuild\//i],[u,[f,"Sony"],[d,m]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[f,u,[d,g]],[/android.+;\s(shield)\sbuild/i],[u,[f,"Nvidia"],[d,g]],[/(playstation\s[34portablevi]+)/i],[u,[f,"Sony"],[d,g]],[/(sprint\s(\w+))/i],[[f,w.str,E.device.sprint.vendor],[u,w.str,E.device.sprint.model],[d,m]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[f,u,[d,y]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w*)/i,/(alcatel|geeksphone|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i],[f,[u,/_/g," "],[d,m]],[/(nexus\s9)/i],[u,[f,"HTC"],[d,y]],[/d\/huawei([\w\s-]+)[;\)]/i,/(nexus\s6p)/i],[u,[f,"Huawei"],[d,m]],[/(microsoft);\s(lumia[\s\w]+)/i],[f,u,[d,m]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[u,[f,"Microsoft"],[d,g]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[f,"Microsoft"],[d,m]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)[\w\s]+build\//i,/mot[\s-]?(\w*)/i,/(XT\d{3,4}) build\//i,/(nexus\s6)/i],[u,[f,"Motorola"],[d,m]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[u,[f,"Motorola"],[d,y]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[f,C.trim],[u,C.trim],[d,v]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[f,"Samsung"],[d,v]],[/\(dtv[\);].+(aquos)/i],[u,[f,"Sharp"],[d,v]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[f,"Samsung"],u,[d,y]],[/smart-tv.+(samsung)/i],[f,[d,v],u],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)/i,/sec-((sgh\w+))/i],[[f,"Samsung"],u,[d,m]],[/sie-(\w*)/i],[u,[f,"Siemens"],[d,m]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]*)/i],[[f,"Nokia"],u,[d,m]],[/android\s3\.[\s\w;-]{10}(a\d{3})/i],[u,[f,"Acer"],[d,y]],[/android.+([vl]k\-?\d{3})\s+build/i],[u,[f,"LG"],[d,y]],[/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[f,"LG"],u,[d,y]],[/(lg) netcast\.tv/i],[f,u,[d,v]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w*)/i,/android.+lg(\-?[\d\w]+)\s+build/i],[u,[f,"LG"],[d,m]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[u,[f,"Lenovo"],[d,y]],[/linux;.+((jolla));/i],[f,u,[d,m]],[/((pebble))app\/[\d\.]+\s/i],[f,u,[d,b]],[/android.+;\s(oppo)\s?([\w\s]+)\sbuild/i],[f,u,[d,m]],[/crkey/i],[[u,"Chromecast"],[f,"Google"]],[/android.+;\s(glass)\s\d/i],[u,[f,"Google"],[d,b]],[/android.+;\s(pixel c)\s/i],[u,[f,"Google"],[d,y]],[/android.+;\s(pixel xl|pixel)\s/i],[u,[f,"Google"],[d,m]],[/android.+;\s(\w+)\s+build\/hm\1/i,/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i,/android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d?\w?)[\s_]*(?:plus)?)\s+build/i,/android.+(redmi[\s\-_]*(?:note)?(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,m]],[/android.+(mi[\s\-_]*(?:pad)(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,y]],[/android.+;\s(m[1-5]\snote)\sbuild/i],[u,[f,"Meizu"],[d,y]],[/android.+a000(1)\s+build/i,/android.+oneplus\s(a\d{4})\s+build/i],[u,[f,"OnePlus"],[d,m]],[/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i],[u,[f,"RCA"],[d,y]],[/android.+[;\/\s]+(Venue[\d\s]{2,7})\s+build/i],[u,[f,"Dell"],[d,y]],[/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i],[u,[f,"Verizon"],[d,y]],[/android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i],[[f,"Barnes & Noble"],u,[d,y]],[/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i],[u,[f,"NuVision"],[d,y]],[/android.+;\s(k88)\sbuild/i],[u,[f,"ZTE"],[d,y]],[/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i],[u,[f,"Swiss"],[d,m]],[/android.+[;\/]\s*(zur\d{3})\s+build/i],[u,[f,"Swiss"],[d,y]],[/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i],[u,[f,"Zeki"],[d,y]],[/(android).+[;\/]\s+([YR]\d{2})\s+build/i,/android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i],[[f,"Dragon Touch"],u,[d,y]],[/android.+[;\/]\s*(NS-?\w{0,9})\sbuild/i],[u,[f,"Insignia"],[d,y]],[/android.+[;\/]\s*((NX|Next)-?\w{0,9})\s+build/i],[u,[f,"NextBook"],[d,y]],[/android.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i],[[f,"Voice"],u,[d,m]],[/android.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i],[[f,"LvTel"],u,[d,m]],[/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i],[u,[f,"Envizen"],[d,y]],[/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i],[u,[f,"MachSpeed"],[d,y]],[/android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*TU_(1491)\s+build/i],[u,[f,"Rotor"],[d,y]],[/android.+(KS(.+))\s+build/i],[u,[f,"Amazon"],[d,y]],[/android.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i],[f,u,[d,y]],[/\s(tablet|tab)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[d,C.lowerize],f,u],[/(android[\w\.\s\-]{0,9});.+build/i],[u,[f,"Generic"]]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[p,[l,"EdgeHTML"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[l,p],[/rv\:([\w\.]{1,9}).+(gecko)/i],[p,l]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[l,p],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[l,[p,w.str,E.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[l,"Windows"],[p,w.str,E.os.windows.version]],[/\((bb)(10);/i],[[l,"BlackBerry"],p],[/(blackberry)\w*\/?([\w\.]*)/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]*)/i,/linux;.+(sailfish);/i],[l,p],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]*)/i],[[l,"Symbian"],p],[/\((series40);/i],[l],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[l,"Firefox OS"],p],[/(nintendo|playstation)\s([wids34portablevu]+)/i,/(mint)[\/\s\(]?(\w*)/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]*)/i,/(hurd|linux)\s?([\w\.]*)/i,/(gnu)\s?([\w\.]*)/i],[l,p],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[l,"Chromium OS"],p],[/(sunos)\s?([\w\.\d]*)/i],[[l,"Solaris"],p],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]*)/i],[l,p],[/(haiku)\s(\w+)/i],[l,p],[/cfnetwork\/.+darwin/i,/ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i],[[p,/_/g,"."],[l,"iOS"]],[/(mac\sos\sx)\s?([\w\s\.]*)/i,/(macintosh|mac(?=_powerpc)\s)/i],[[l,"Mac OS"],[p,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]*)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]*)/i],[l,p]]},S=function e(t,r){if("object"==$g(t)&&(r=t,t=a),!(this instanceof e))return new e(t,r).getResult();var n=t||(i&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),o=r?C.extend(k,r):k;return this.getBrowser=function(){var e={name:a,version:a};return w.rgx.call(e,n,o.browser),e.major=C.major(e.version),e},this.getCPU=function(){var e={architecture:a};return w.rgx.call(e,n,o.cpu),e},this.getDevice=function(){var e={vendor:a,model:a,type:a};return w.rgx.call(e,n,o.device),e},this.getEngine=function(){var e={name:a,version:a};return w.rgx.call(e,n,o.engine),e},this.getOS=function(){var e={name:a,version:a};return w.rgx.call(e,n,o.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return n},this.setUA=function(e){return n=e,this},this};S.VERSION="0.7.18",S.BROWSER={NAME:l,MAJOR:"major",VERSION:p},S.CPU={ARCHITECTURE:h},S.DEVICE={MODEL:u,VENDOR:f,TYPE:d,CONSOLE:g,MOBILE:m,SMARTTV:v,TABLET:y,WEARABLE:b,EMBEDDED:"embedded"},S.ENGINE={NAME:l,VERSION:p},S.OS={NAME:l,VERSION:p},$g(t)!==s?($g(e)!==s&&e.exports&&(t=e.exports=S),t.UAParser=S):r(3)?(n=function(){return S}.call(t,r,t,e))===a||(e.exports=n):i&&(i.UAParser=S);var B=i&&(i.jQuery||i.Zepto);if($g(B)!==s){var T=new S;B.ua=T.getResult(),B.ua.get=function(){return T.getUA()},B.ua.set=function(e){T.setUA(e);var t=T.getResult();for(var r in t)B.ua[r]=t[r]}}}("object"==("undefined"==typeof window?"undefined":$g(window))?window:this)},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i=r(0),a=i.DEVICE_TYPES,o=i.defaultData,s=t.getNavigatorInstance=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},c=t.isIOS13Check=function(e){var t=s();return t&&t.platform&&(-1!==t.platform.indexOf(e)||"MacIntel"===t.platform&&t.maxTouchPoints>1&&!window.MSStream)};e.exports={checkType:function(e){switch(e){case a.MOBILE:return{isMobile:!0};case a.TABLET:return{isTablet:!0};case a.SMART_TV:return{isSmartTV:!0};case a.CONSOLE:return{isConsole:!0};case a.WEARABLE:return{isWearable:!0};case a.BROWSER:return{isBrowser:!0};default:return o}},broPayload:function(e,t,r,n,i){return{isBrowser:e,browserMajorVersion:t.major,browserFullVersion:t.version,browserName:t.name,engineName:r.name||!1,engineVersion:r.version,osName:n.name,osVersion:n.version,userAgent:i}},mobilePayload:function(e,t,r,i){return n({},e,{vendor:t.vendor,model:t.model,os:r.name,osVersion:r.version,ua:i})},stvPayload:function(e,t,r,n){return{isSmartTV:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},consolePayload:function(e,t,r,n){return{isConsole:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},wearPayload:function(e,t,r,n){return{isWearable:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},getNavigatorInstance:s,isIOS13Check:c}}])})),QD=RD(GD),WD=Object.freeze(Object.assign(Object.create(null),GD,{default:QD}));function XD(){return"function"==typeof navigator.enumerateDevices?navigator.enumerateDevices():"object"===vD(navigator.mediaDevices)&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():new Promise((function(e,t){try{if(null==window.MediaStreamTrack||null==window.MediaStreamTrack.getSources)throw new Error;window.MediaStreamTrack.getSources((function(t){e(t.filter((function(e){return"video"===e.kind.toLowerCase()||"videoinput"===e.kind.toLowerCase()})).map((function(e){return{deviceId:null!=e.deviceId?e.deviceId:"",groupId:e.groupId,kind:"videoinput",label:e.label,toJSON:function(){return this}}})))}))}catch(e){return t(e)}}))}var YD=oC.Errors,$D=eC.div(OD||(OD=TD(["\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #000;\n display: flex;\n justify-content: center;\n z-index: ",";\n ","\n"])),1e3,(function(e){return e.checkCameraMode&&"opacity: 0;"})),ZD=eC.video(LD||(LD=TD(["\n width: 100%;\n ","\n"])),(function(e){return e.flipHorizontal&&"\n transform: scaleX(-1);\n "})),JD=eC.div(DD||(DD=TD(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),eU=eC(JD)(UD||(UD=TD(["\n z-index: ",";\n position: absolute;\n top: 20px;\n right: 20px;\n width: 20px;\n"])),1100),tU=eC.div(MD||(MD=TD(["\n z-index: ",";\n position: absolute;\n top: 40px;\n color: red;\n"])),1020),rU=eC.div(VD||(VD=TD(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: ",";\n"])),1030),nU=eC.section(jD||(jD=TD(["\n width: 260px;\n margin: 1.25rem;\n padding: 0.625rem 1.875rem;\n background: #ffffff;\n border-radius: 0.3125rem;\n box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.15);\n"]))),iU=eC.header(FD||(FD=TD(["\n text-align: center;\n padding: 0.625rem 0;\n border-bottom: 1px solid #dddddd;\n"]))),aU=eC.h2(zD||(zD=TD(["\n margin: 0.25rem auto;\n padding: 0;\n font-weight: 600;\n font-size: 1.2rem;\n"]))),oU=eC.p(KD||(KD=TD(["\n padding: 0 0 0.3125rem;\n margin: 0.25rem auto;\n font-size: 0.8rem;\n"]))),sU=eC.ul(qD||(qD=TD(["\n list-style: none;\n padding: 0;\n"]))),cU=eC.li(HD||(HD=TD(["\n padding: 0.625rem 0 0.9375rem;\n margin: 0;\n text-align: left;\n width: 100%;\n cursor: pointer;\n font-size: 0.82rem;\n transition: all 550ms ease-in-out;\n\n &:hover {\n opacity: 0.8;\n }\n"]))),uU=oy.createRef(),lU=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)return navigator.mediaDevices;var e=navigator.mozGetUserMedia||navigator.webkitGetUserMedia;return e?{getUserMedia:function(t){return new Promise((function(r,n){e.call(navigator,t,r,n)}))}}:null}();function dU(e){var t=e.checkCameraMode,r=e.frontCamera,n=e.onClose,i=e.children,a=e.onVideoPlayed,o=e.flipHorizontal,s=e.videoSettings,c=e.refVideo,u=e.onError,l=e.closeButton,d=e.videoClassName,f=lk.useSDKSettings().lang,p=zk.useSDKTracking().sendEvent,h=Hk.useAsset("ic_close.png"),g=AD(oy.useState(""),2),m=g[0],y=g[1],v=AD(oy.useState([]),2),b=v[0],C=v[1],w=AD(oy.useState(!1),2),E=w[0],k=w[1],S=oy.useRef(!1),B=oy.useRef(!1),T=oy.useCallback((function(){try{var e;(null==c||null===(e=c.current)||void 0===e?void 0:e.srcObject)instanceof MediaStream&&(c.current.srcObject.getTracks().forEach((function(e){return e.stop()})),c.current.srcObject=null)}catch(e){}}),[c]),A=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return{},n=GD.isMobile?GD.isIOS?{width:{ideal:1460},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{width:{ideal:1650},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{height:{ideal:9999}},e.prev=2,e.next=5,lU.getUserMedia({audio:!1,video:SD(SD({},t?{deviceId:t}:{facingMode:r?"user":"environment"}),s||n)});case 5:return(i=e.sent)||(y(YD.not_supported.msg[f]),u(YD.not_supported)),e.abrupt("return",i);case 10:e.prev=10,e.t0=e.catch(2),"NotAllowedError"===e.t0.name?(y(YD.no_permission.msg[f]),u(YD.no_permission)):(k(!0),y(e.t0.message),u({code:e.t0.name||e.t0.code}));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,null,[[2,10]])})));return function(t){return e.apply(this,arguments)}}(),[r,s,f,u]),I=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=c.current).oncanplaythrough=function(){r.play(),B.current=!0,y("");var e=window.innerWidth,t=window.innerHeight,n=bS.analyzeVideoAndWindowSizes(r),i=n.lostX,o=void 0===i?0:i,s=n.lostY,c=void 0===s?0:s,u=Math.min(e,Math.floor(e-2*o)),l=Math.min(t,Math.floor(t-2*c));a&&a({clientWidth:e,clientHeight:t,videoAreaWidth:u,videoAreaHeight:l,lostX:o,lostY:c})},e.next=4,A(t);case 4:(n=e.sent)&&(r.srcObject=n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[c,A,a]);oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,XD();case 3:t=e.sent,r=t.filter((function(e){return e.deviceId&&"videoinput"===e.kind})),C(r),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.error(e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}E&&!S.current&&(S.current=!0,function(){e.apply(this,arguments)}())}),[E]),oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){var t,r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I();case 2:return e.next=4,XD();case 4:t=e.sent,(r=t.filter((function(e){return"videoinput"===e.kind&&e.label.includes("0")}))).length>0&&(n=r[0].deviceId,T(),I(n));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var t=c.current;return!lU||GD.browserName&&["facebook"].includes(GD.browserName.toLowerCase())||GD.getUA.includes("Zalo iOS")?(y(YD.not_supported.msg[f]),u(YD.not_supported)):t&&(GD.isAndroid&&!1===r?function(){e.apply(this,arguments)}():I()),function(){T()}}),[c,f,r,I,T,u]),oy.useEffect((function(){var e=setTimeout((function(){B.current||(y(YD.camera_timeout.msg[f]),u(YD.camera_timeout))}),3e5);return function(){clearTimeout(e)}}),[f,u]);var _=oy.useCallback((function(){T(),n&&n(),p({tag:"result",event:"user_activity.cancel",log:{}})}),[n,T,p]);return oy.createElement($D,{checkCameraMode:t},E&&null!=b&&b.length?oy.createElement(rU,null,oy.createElement(nU,null,oy.createElement(iU,null,oy.createElement(aU,null,"Không thể mở camera mặc định"),oy.createElement(oU,null,"Vui lòng thử chọn camera khác trong danh sách dưới đây")),oy.createElement(sU,null,b.map((function(e,t){return oy.createElement(cU,{key:e.deviceId,onClick:function(){y(""),T(),k(!1),I(e.deviceId)}},e.label?e.label:"Camera ".concat(t+1))}))))):null,function(){if(!m)return null;var e=YD.no_permission.msg[f];return m===e&&GD.isIOS?oy.createElement(tU,null,m," ",oy.createElement("button",{onClick:function(){window.location.reload()}},{vi:"Cấp lại quyền truy cập camera",en:"Request camera permission"}[f])):oy.createElement(tU,null,m)}(),oy.createElement(ZD,{ref:c,playsInline:!0,muted:!0,flipHorizontal:o,className:d}),i,l?oy.cloneElement(l,{onClick:_,"data-testid":"close-camera"}):oy.createElement(eU,{onClick:_,"data-testid":"close-camera"},oy.createElement("img",{src:h,alt:""})))}dU.propTypes={checkCameraMode:Py.bool,frontCamera:Py.bool,onClose:Py.func,onError:Py.func,onVideoPlayed:Py.func,children:Py.node,flipHorizontal:Py.bool,videoSettings:Py.object,refVideo:Py.object,closeButton:Py.node,videoClassName:Py.string},dU.defaultProps={checkCameraMode:!1,frontCamera:!0,onClose:null,onError:function(){},onVideoPlayed:null,children:null,flipHorizontal:!1,videoSettings:null,refVideo:null,closeButton:null,videoClassName:""};var fU,pU,hU,gU=oy.forwardRef((function(e,t){return oy.createElement(dU,ED({},e,{refVideo:t||uU}))})),mU=eC.table(fU||(fU=TD(["\n width: 100%;\n height: 100%;\n td {\n text-align: center;\n vertical-align: middle;\n padding: 0;\n border: 0;\n }\n border-spacing: 0;\n table-layout: auto;\n border-collapse: collapse;\n"]))),yU=eC.div(pU||(pU=TD(["\n position: relative;\n"]))),vU=Array.from(Array(3).keys()),bU=Array.from(Array(3).keys());function CU(e){var t=e.children,r=e.x,n=e.y,i=e.width,a=e.height,o=e.className,s=e.surroundStyle;return oy.createElement(mU,{className:o},oy.createElement("tbody",null,vU.map((function(e,o){return oy.createElement("tr",{key:e,style:{height:0===o?n:"auto"},"data-testid":"row"},bU.map((function(e,n){var c=1===o&&1===n,u="auto";return c?u=i:0===n&&(u=r),oy.createElement("td",{"data-testid":c?"centeredCell":"cell",key:e,style:SD({width:u,height:c?a:"auto"},c?{}:s)},c?oy.createElement(yU,{style:{width:u,height:a}},t):null)})))}))))}CU.propTypes={children:Py.node,x:Py.string,y:Py.string,width:Py.string,height:Py.string,className:Py.string,surroundStyle:Py.object},CU.defaultProps={children:null,x:"auto",y:"auto",width:"auto",height:"auto",className:"",surroundStyle:{}};var wU=eC(CU)(hU||(hU=TD(["\n background: transparent;\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: ",";\n"])),1010);function EU(e){var t=e.className;return oy.createElement("svg",{className:t,width:"38px",height:"32px",viewBox:"0 0 24 21","data-testid":"camera-icon"},oy.createElement("title",null,"FA45C15C-1E21-4D7B-9585-07FB9F999CB8"),oy.createElement("desc",null,"Created with sketchtool."),oy.createElement("g",{id:"Web-demo",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},oy.createElement("g",{id:"step1",transform:"translate(-950.000000, -380.000000)",fill:"currentColor",fillRule:"nonzero"},oy.createElement("g",{id:"Group",transform:"translate(950.000000, 380.000000)"},oy.createElement("g",{id:"Group-2"},oy.createElement("g",{id:"camera"},oy.createElement("path",{d:"M21,3 L17,3 L15,0 L9,0 L7,3 L3,3 C1.34314575,3 0,4.34314575 0,6 L0,18 C0,19.6568542 1.34314575,21 3,21 L21,21 C22.6568542,21 24,19.6568542 24,18 L24,6 C24,4.34314575 22.6568542,3 21,3 Z M12,17 C9.23857625,17 7,14.7614237 7,12 C7,9.23857625 9.23857625,7 12,7 C14.7614237,7 17,9.23857625 17,12 C17,14.7614237 14.7614237,17 12,17 L12,17 Z",id:"Shape"})))))))}EU.propTypes={className:Py.string},EU.defaultProps={className:""};var kU,SU=function(e){var t=$g(e);return null!=e&&("object"==t||"function"==t)},BU="object"==$g(PD)&&PD&&PD.Object===Object&&PD,TU="object"==("undefined"==typeof self?"undefined":$g(self))&&self&&self.Object===Object&&self,AU=BU||TU||Function("return this")(),IU=function(){return AU.Date.now()},_U=AU.Symbol,xU=Object.prototype,PU=xU.hasOwnProperty,RU=xU.toString,NU=_U?_U.toStringTag:void 0,OU=Object.prototype.toString,LU=_U?_U.toStringTag:void 0,DU=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":LU&&LU in Object(e)?function(e){var t=PU.call(e,NU),r=e[NU];try{e[NU]=void 0;var n=!0}catch(e){}var i=RU.call(e);return n&&(t?e[NU]=r:delete e[NU]),i}(e):function(e){return OU.call(e)}(e)},UU=function(e){return null!=e&&"object"==$g(e)},MU=function(e){return"symbol"==$g(e)||UU(e)&&"[object Symbol]"==DU(e)},VU=/^\s+|\s+$/g,jU=/^[-+]0x[0-9a-f]+$/i,FU=/^0b[01]+$/i,zU=/^0o[0-7]+$/i,KU=parseInt,qU=function(e){if("number"==typeof e)return e;if(MU(e))return NaN;if(SU(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=SU(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(VU,"");var r=FU.test(e);return r||zU.test(e)?KU(e.slice(2),r?2:8):jU.test(e)?NaN:+e},HU=Math.max,GU=Math.min,QU=function(e,t,r){var n,i,a,o,s,c,u=0,l=!1,d=!1,f=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var r=n,a=i;return n=i=void 0,u=t,o=e.apply(a,r)}function h(e){return u=e,s=setTimeout(m,t),l?p(e):o}function g(e){var r=e-c;return void 0===c||r>=t||r<0||d&&e-u>=a}function m(){var e=IU();if(g(e))return y(e);s=setTimeout(m,function(e){var r=t-(e-c);return d?GU(r,a-(e-u)):r}(e))}function y(e){return s=void 0,f&&n?p(e):(n=i=void 0,o)}function v(){var e=IU(),r=g(e);if(n=arguments,i=this,c=e,r){if(void 0===s)return h(c);if(d)return clearTimeout(s),s=setTimeout(m,t),p(c)}return void 0===s&&(s=setTimeout(m,t)),o}return t=qU(t)||0,SU(r)&&(l=!!r.leading,a=(d="maxWait"in r)?HU(qU(r.maxWait)||0,t):a,f="trailing"in r?!!r.trailing:f),v.cancel=function(){void 0!==s&&clearTimeout(s),u=0,n=c=i=s=void 0},v.flush=function(){return void 0===s?o:y(IU())},v},WU=function(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return SU(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),QU(e,t,{leading:n,maxWait:t,trailing:i})},XU=function(e){if(!SU(e))return!1;var t=DU(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},YU=AU["__core-js_shared__"],$U=(kU=/[^.]+$/.exec(YU&&YU.keys&&YU.keys.IE_PROTO||""))?"Symbol(src)_1."+kU:"",ZU=Function.prototype.toString,JU=/^\[object .+?Constructor\]$/,eM=Function.prototype,tM=Object.prototype,rM=eM.toString,nM=tM.hasOwnProperty,iM=RegExp("^"+rM.call(nM).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),aM=function(e){return!(!SU(e)||function(e){return!!$U&&$U in e}(e))&&(XU(e)?iM:JU).test(function(e){if(null!=e){try{return ZU.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))},oM=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return aM(r)?r:void 0},sM=function(){try{var e=oM(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),cM=function(e,t,r){"__proto__"==t&&sM?sM(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r},uM=function(e,t){return e===t||e!=e&&t!=t},lM=Object.prototype.hasOwnProperty,dM=function(e,t,r){var n=e[t];lM.call(e,t)&&uM(n,r)&&(void 0!==r||t in e)||cM(e,t,r)},fM=function(e,t,r,n){var i=!r;r||(r={});for(var a=-1,o=t.length;++a<o;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),i?cM(r,s,c):dM(r,s,c)}return r},pM=function(e){return e},hM=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},gM=Math.max,mM=function(e){return function(){return e}},yM=sM?function(e,t){return sM(e,"toString",{configurable:!0,enumerable:!1,value:mM(t),writable:!0})}:pM,vM=Date.now,bM=function(e){var t=0,r=0;return function(){var n=vM(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(yM),CM=function(e,t){return bM(function(e,t,r){return t=gM(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=gM(n.length-t,0),o=Array(a);++i<a;)o[i]=n[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=n[i];return s[t]=r(o),hM(e,this,s)}}(e,t,pM),e+"")},wM=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},EM=function(e){return null!=e&&wM(e.length)&&!XU(e)},kM=/^(?:0|[1-9]\d*)$/,SM=function(e,t){var r=$g(e);return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&kM.test(e))&&e>-1&&e%1==0&&e<t},BM=function(e,t,r){if(!SU(r))return!1;var n=$g(t);return!!("number"==n?EM(r)&&SM(t,r.length):"string"==n&&t in r)&&uM(r[t],e)},TM=function(e){return CM((function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,o&&BM(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var s=r[n];s&&e(t,s,n,a)}return t}))},AM=function(e){return UU(e)&&"[object Arguments]"==DU(e)},IM=Object.prototype,_M=IM.hasOwnProperty,xM=IM.propertyIsEnumerable,PM=AM(function(){return arguments}())?AM:function(e){return UU(e)&&_M.call(e,"callee")&&!xM.call(e,"callee")},RM=Array.isArray,NM=function(){return!1},OM=ND((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r?AU.Buffer:void 0,a=(i?i.isBuffer:void 0)||NM;e.exports=a})),LM={};LM["[object Float32Array]"]=LM["[object Float64Array]"]=LM["[object Int8Array]"]=LM["[object Int16Array]"]=LM["[object Int32Array]"]=LM["[object Uint8Array]"]=LM["[object Uint8ClampedArray]"]=LM["[object Uint16Array]"]=LM["[object Uint32Array]"]=!0,LM["[object Arguments]"]=LM["[object Array]"]=LM["[object ArrayBuffer]"]=LM["[object Boolean]"]=LM["[object DataView]"]=LM["[object Date]"]=LM["[object Error]"]=LM["[object Function]"]=LM["[object Map]"]=LM["[object Number]"]=LM["[object Object]"]=LM["[object RegExp]"]=LM["[object Set]"]=LM["[object String]"]=LM["[object WeakMap]"]=!1;var DM=ND((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r&&BU.process,a=function(){try{return n&&n.require&&n.require("util").types||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=a})),UM=DM&&DM.isTypedArray,MM=UM?function(e){return function(t){return e(t)}}(UM):function(e){return UU(e)&&wM(e.length)&&!!LM[DU(e)]},VM=Object.prototype.hasOwnProperty,jM=function(e,t){var r=RM(e),n=!r&&PM(e),i=!r&&!n&&OM(e),a=!r&&!n&&!i&&MM(e),o=r||n||i||a,s=o?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],c=s.length;for(var u in e)!t&&!VM.call(e,u)||o&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||SM(u,c))||s.push(u);return s},FM=Object.prototype,zM=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||FM)},KM=Object.prototype.hasOwnProperty,qM=function(e){if(!SU(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=zM(e),r=[];for(var n in e)("constructor"!=n||!t&&KM.call(e,n))&&r.push(n);return r},HM=function(e){return EM(e)?jM(e,!0):qM(e)},GM=TM((function(e,t,r,n){fM(t,HM(t),e,n)})),QM=function(e,t){return function(r){return e(t(r))}},WM=QM(Object.getPrototypeOf,Object),XM=Function.prototype,YM=Object.prototype,$M=XM.toString,ZM=YM.hasOwnProperty,JM=$M.call(Object),eV=function(e){if(!UU(e)||"[object Object]"!=DU(e))return!1;var t=WM(e);if(null===t)return!0;var r=ZM.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&$M.call(r)==JM},tV=function(e){if(!UU(e))return!1;var t=DU(e);return"[object Error]"==t||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!eV(e)},rV=CM((function(e,t){try{return hM(e,void 0,t)}catch(e){return tV(e)?e:new Error(e)}})),nV=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i},iV=Object.prototype,aV=iV.hasOwnProperty,oV=function(e,t,r,n){return void 0===e||uM(e,iV[r])&&!aV.call(n,r)?t:e},sV={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},cV=function(e){return"\\"+sV[e]},uV=QM(Object.keys,Object),lV=Object.prototype.hasOwnProperty,dV=function(e){return EM(e)?jM(e):function(e){if(!zM(e))return uV(e);var t=[];for(var r in Object(e))lV.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)},fV=/<%=([\s\S]+?)%>/g,pV=function(e){return function(t){return null==e?void 0:e[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),hV=_U?_U.prototype:void 0,gV=hV?hV.toString:void 0,mV=function e(t){if("string"==typeof t)return t;if(RM(t))return nV(t,e)+"";if(MU(t))return gV?gV.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r},yV=function(e){return null==e?"":mV(e)},vV=/[&<>"']/g,bV=RegExp(vV.source),CV={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:fV,variable:"",imports:{_:{escape:function(e){return(e=yV(e))&&bV.test(e)?e.replace(vV,pV):e}}}},wV=/\b__p \+= '';/g,EV=/\b(__p \+=) '' \+/g,kV=/(__e\(.*?\)|\b__t\)) \+\n'';/g,SV=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,BV=/($^)/,TV=/['\n\r\u2028\u2029\\]/g,AV=Object.prototype.hasOwnProperty,IV=function(e,t,r){var n=CV.imports._.templateSettings||CV;r&&BM(e,t,r)&&(t=void 0),e=yV(e),t=GM({},t,n,oV);var i,a,o=GM({},t.imports,n.imports,oV),s=dV(o),c=function(e,t){return nV(t,(function(t){return e[t]}))}(o,s),u=0,l=t.interpolate||BV,d="__p += '",f=RegExp((t.escape||BV).source+"|"+l.source+"|"+(l===fV?SV:BV).source+"|"+(t.evaluate||BV).source+"|$","g"),p=AV.call(t,"sourceURL")?"//# sourceURL="+(t.sourceURL+"").replace(/\s/g," ")+"\n":"";e.replace(f,(function(t,r,n,o,s,c){return n||(n=o),d+=e.slice(u,c).replace(TV,cV),r&&(i=!0,d+="' +\n__e("+r+") +\n'"),s&&(a=!0,d+="';\n"+s+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=c+t.length,t})),d+="';\n";var h=AV.call(t,"variable")&&t.variable;h||(d="with (obj) {\n"+d+"\n}\n"),d=(a?d.replace(wV,""):d).replace(EV,"$1").replace(kV,"$1;"),d="function("+(h||"obj")+") {\n"+(h?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var g=rV((function(){return Function(s,p+"return "+d).apply(void 0,c)}));if(g.source=d,tV(g))throw g;return g},_V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xV=/^\w*$/,PV=oM(Object,"create"),RV=Object.prototype.hasOwnProperty,NV=Object.prototype.hasOwnProperty;function OV(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}OV.prototype.clear=function(){this.__data__=PV?PV(null):{},this.size=0},OV.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},OV.prototype.get=function(e){var t=this.__data__;if(PV){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return RV.call(t,e)?t[e]:void 0},OV.prototype.has=function(e){var t=this.__data__;return PV?void 0!==t[e]:NV.call(t,e)},OV.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=PV&&void 0===t?"__lodash_hash_undefined__":t,this};var LV=OV,DV=function(e,t){for(var r=e.length;r--;)if(uM(e[r][0],t))return r;return-1},UV=Array.prototype.splice;function MV(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}MV.prototype.clear=function(){this.__data__=[],this.size=0},MV.prototype.delete=function(e){var t=this.__data__,r=DV(t,e);return!(r<0||(r==t.length-1?t.pop():UV.call(t,r,1),--this.size,0))},MV.prototype.get=function(e){var t=this.__data__,r=DV(t,e);return r<0?void 0:t[r][1]},MV.prototype.has=function(e){return DV(this.__data__,e)>-1},MV.prototype.set=function(e,t){var r=this.__data__,n=DV(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var VV=MV,jV=oM(AU,"Map"),FV=function(e,t){var r=e.__data__;return function(e){var t=$g(e);return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?r["string"==typeof t?"string":"hash"]:r.map};function zV(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}zV.prototype.clear=function(){this.size=0,this.__data__={hash:new LV,map:new(jV||VV),string:new LV}},zV.prototype.delete=function(e){var t=FV(this,e).delete(e);return this.size-=t?1:0,t},zV.prototype.get=function(e){return FV(this,e).get(e)},zV.prototype.has=function(e){return FV(this,e).has(e)},zV.prototype.set=function(e,t){var r=FV(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};var KV=zV;function qV(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function r(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(qV.Cache||KV),r}qV.Cache=KV;var HV=qV,GV=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QV=/\\(\\)?/g,WV=function(e){var t=HV((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(GV,(function(e,r,n,i){t.push(n?i.replace(QV,"$1"):r||e)})),t}),(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}(),XV=function(e,t){return RM(e)?e:function(e,t){if(RM(e))return!1;var r=$g(e);return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!MU(e))||xV.test(e)||!_V.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:WV(yV(e))},YV=function(e){if("string"==typeof e||MU(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},$V=function(e,t,r){var n=null==e?void 0:function(e,t){for(var r=0,n=(t=XV(t,e)).length;null!=e&&r<n;)e=e[YV(t[r++])];return r&&r==n?e:void 0}(e,t);return void 0===n?r:n},ZV=oC.Errors;function JV(e){var t=e.livenessSettings,r=e.apiClient,n=e.apiCheck,i=e.onError,a=AD(oy.useState({face_tracking_setting:{enable:!1,web_terminate_threshold:.0030152991993743408,web_warning_threshold:.0017317430600108828,limit_for:"all_flow",max_warning_time:5},flow_interval_time_ms:3e3,limit_time_liveness_check:{enable:!1,limit_time_second:45},terminate_if_no_face:{enable:!1,max_invalid_frame:5,max_time_ms:1e3}}),2),o=a[0],s=a[1];return oy.useEffect((function(){t?s(SD({},t)):n&&r.clientSettings().then((function(e){if(e&&e.data){var t,r=$V(e,"data.settings.sdk_settings.server_log_settings.enable"),n=$V(e,"data.settings.sdk_settings.active_liveness_settings"),a=$V(n,"save_encoded_frames",{});a.enable&&(t={enable:!0,framesIntervalTime:a.frames_interval_ms,framesBatchLength:a.frames_batch_len}),s(SD(SD({},n),{},{enableTracking:r,captureFrameSettings:t}))}e&&e.errors&&i(ZV.server_error)})).catch((function(e){i(e)}))}),[t,r,i,n]),o}var ej=function(e){var t=e.curStep,r=e.faceDirection,n=$V(t,"stepTimeConstraints.delayTime");return!!n&&(null===t.firstFrameSpottedAt?(t.name===r&&(t.firstFrameSpottedAt=(new Date).getTime()),!0):(new Date).getTime()-t.firstFrameSpottedAt<n)},tj=function(e){var t=function(e){return e?1/0===(e=qU(e))||-1/0===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),r=t%1;return t==t?r?t-r:t:0},rj=function(e){return function(e,t){var r;if("function"!=typeof t)throw new TypeError("Expected a function");return e=tj(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=void 0),r}}(2,e)};function nj(){return(nj=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:{},r=t.blazefaceModelUrl,n=t.tfScriptUrls,e.next=3,vT.loadTensorFlow(n);case 3:return e.next=5,vT.initTensorFlow({preferredBackends:["wasm","webgl","cpu"]});case 5:return e.next=7,vT.loadBlazefaceModel({modelUrl:r});case 7:return i=e.sent,e.abrupt("return",{blazefaceModel:i});case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ij,aj,oj,sj,cj,uj,lj,dj=rj((function(){return nj.apply(this,arguments)})),fj=[],pj=function(){fj=[]},hj=function(e,t,r){r&&pj(),fj.push({id:null});var n=fj.length-1;t.httpClient.post("/v1/files",{frames:e,metadata:JSON.stringify({type:"selfie"})}).then((function(e){e&&e.data&&e.data.file_id?fj[n].id=e.data.file_id:fj[n].id=-1}))},gj=function(){return new Promise((function(e){var t=setInterval((function(){fj.every((function(e){return e.id}))&&(e(),clearInterval(t))}),200)}))},mj=function(e){return e.enable?fj.some((function(e){return-1===e.id}))?null:fj:[]},yj=OS.faceTracker(),vj=oC.Mode,bj=oC.FaceDirection,Cj=oC.Errors,wj=oC.Messages;function Ej(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.apiCheck,n=t.mode,i=t.bgCameraMask,a=t.bgCameraMaskRed,o=t.surroundStyle,s=t.cropAreaDimension,c=t.customInstructions,u=t.customIcon,l=t.customDirectionIcon,d=t.customStepTimeConstraints,f=void 0===d?(wD(e={},oC.FaceDirection.UP,{delayTime:1e3}),wD(e,oC.FaceDirection.LEFT,{delayTime:1e3}),wD(e,oC.FaceDirection.RIGHT,{delayTime:1e3}),wD(e,oC.FaceDirection.FRONTAL,{delayTime:2e3}),e):d,p=t.onLivenessDetectionDone,h=t.onError,g=t.frontalMinSize,m=t.waitingTimeToGetBetterFrames,y=void 0===m?500:m,v=t.captureFrameSettings,b=void 0===v?{enable:!1,framesIntervalTime:180,framesBatchLength:0}:v,C=t.livenessSettings,w=t.setRemainingTime,E=void 0===w?function(){}:w,k=t.onProcessing,S=void 0===k?function(){}:k,B=t.customErrors,T=t.customMessages,A=t.apiCredentials,I=void 0===A?{}:A,_=t.onFramesCaptured,x=void 0===_?function(){}:_,P=t.initFirstGestureTimeout,R=void 0===P?2e3:P,N=oy.useState(!1),O=AD(N,2),L=O[0],D=O[1],U=oy.useState(!1),M=AD(U,2),V=M[0],j=M[1],F=oy.useState(!1),z=AD(F,2),K=z[0],q=z[1],H=oy.useRef(null),G=lk.useSDKSettings(),Q=G.lang,W=G.assetRoot,X=G.customUrls,Y=YB.useApiClient({apiCredentials:I}),$=Y.apiClient,Z=n===vj.ACTIVE,J=oy.useReducer((function(e){return e+1}),0),ee=AD(J,2),te=(ee[0],ee[1]),re=oy.useRef(null),ne=oy.useRef(!1),ie=oy.useState(!1),ae=AD(ie,2),oe=ae[0],se=ae[1],ce=oy.useRef({}),ue=zk.useSDKTracking(),le=ue.sendEvent,de=oy.useRef(null);null===de.current&&(de.current=OS.initFaceVerificationData({assetRoot:W,customInstructions:c,customIcon:u,customDirectionIcon:l,customStepTimeConstraints:f}));var fe=oy.useState(),pe=AD(fe,2),he=pe[0],ge=pe[1],me=oy.useMemo((function(){return WU(ge,500)}),[ge]),ye=oy.useRef([]),ve=oy.useRef(),be=oy.useRef(),Ce=JV({livenessSettings:C,apiClient:$,apiCheck:r,onError:h}),we=Ce.face_tracking_setting,Ee=Ce.flow_interval_time_ms,ke=Ce.limit_time_liveness_check,Se=Ce.terminate_if_no_face,Be=Ce.captureFrameSettings,Te=void 0===Be?b:Be,Ae=Ce.enableTracking,Ie=oy.useMemo((function(){return WU((function(e){r&&!Ae||le(e)}),2e3)}),[r,Ae,le]),_e=oy.useRef(0),xe=oy.useRef();oy.useEffect((function(){Ie({tag:"selfie",event:"user_activity.start",log:{}})}),[Ie]),oy.useEffect((function(){var e=!1;function t(){return(t=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(oe){t.next=11;break}return be.current=performance.now(),t.next=4,dj(X);case 4:if(ce.current=t.sent,!e){t.next=7;break}return t.abrupt("return");case 7:se(!0),Ie({tag:"selfie",event:"user_activity.show",log:{}}),Ie({tag:"selfie",event:"sdk.load_model",log:{status:"success",time_in_ms:performance.now()-be.current}}),be.current=null;case 11:case"end":return t.stop()}}),t)})))).apply(this,arguments)}return function(){t.apply(this,arguments)}(),function(){e=!0}}),[oe,X,Ie]);var Pe=oy.useCallback((function(){E(""),de.current.curStepIndex=de.current.steps.length,j(!1),setTimeout((function(){de.current=OS.initFaceVerificationData({assetRoot:W,customInstructions:c,customIcon:u,customDirectionIcon:l}),ve.current=Date.now(),_e.current=0,xe.current=null,ye.current=[],q(!1),pj(),te()}),Ee)}),[W,c,u,l,Ee,E]),Re=oy.useRef(null),Ne=oy.useMemo((function(){return SD(SD({},Cj),B)}),[B]),Oe=oy.useMemo((function(){return SD(SD({},wj),T)}),[T]),Le=400;oy.useEffect((function(){if(L&&ke.enable&&K){ve.current=Date.now();var e=ke.limit_time_second+1,t=ke.remain_time_show||10,r=ke.format||"s";Re.current=setInterval((function(){var n=Math.round((1e3*e-(Date.now()-ve.current))/1e3);if(de.current.curStepIndex<de.current.steps.length){if(n<=t&&n>=1){var i=IV(Oe.REMAIN_TIME[Q]),a=n;switch(r){case"mm:ss":a=n.toString().padStart(5,"00:00");break;case"ss":a=n.toString().padStart(2,"0")}E(i({x:a}))}if(Math.round((Date.now()-ve.current)/1e3)===e){var o,s={};Object.keys(null===(o=Ne.liveness_terminated_time_out)||void 0===o?void 0:o.msg).forEach((function(e){var t,r=IV(null===(t=Ne.liveness_terminated_time_out)||void 0===t?void 0:t.msg[e]);s[e]=r({x:ke.limit_time_second})})),ge(SD(SD({},Ne.liveness_terminated_time_out),{},{msg:s,duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated_time_out,"}}),Pe()}}}),1e3)}return function(){clearInterval(Re.current)}}),[Pe,E,L,Q,Ee,ke.enable,ke.limit_time_second,K,Ne.liveness_terminated_time_out,Oe.REMAIN_TIME,ke.format,ke.remain_time_show,Ie]);var De=oy.useCallback((function(e){var t,r,n=e.clientWidth,a=e.clientHeight,c=e.videoAreaWidth,u=e.videoAreaHeight,l=e.lostX,d=e.lostY;GD.isMobile?r=t=c:t=r=u-200;var f=Math.floor((c-t)/2)+l,p=5+d,h=i;re.current={x:f,y:p,width:t,height:r,image:h,surroundStyle:o},"object"===vD(s)?re.current=SD(SD({},re.current),s):"function"==typeof s&&(re.current=SD(SD({},re.current),s({clientWidth:n,clientHeight:a,videoAreaWidth:c,videoAreaHeight:u,lostX:l,lostY:d,isMobile:GD.isMobile,width:t,height:r}))),te(),D(!0)}),[i,o,s]),Ue=oy.useState(3),Me=AD(Ue,2),Ve=Me[0],je=Me[1],Fe=oy.useState(!1),ze=AD(Fe,2),Ke=ze[0],qe=ze[1],He=oy.useRef(!1),Ge=oy.useCallback((function(e){qe(e),He.current=e}),[]),Qe=oy.useRef(null),We=oy.useRef([]),Xe=oy.useCallback((function(){je(3),clearInterval(Qe.current),Ge(!0);var e=function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,i,a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t-1!=0){e.next=9;break}return clearInterval(Qe.current),n=We.current,S(),i=n.map((function(e){return DB.resizeBlobImg(e.blob,Le,Le)})),e.next=7,Promise.all(i);case 7:a=e.sent,r?(o=ID(ye.current),s=n.map((function(e,t){return $.uploadImage({file:a[t],label:"portrait",metadata:JSON.stringify({gesture_score:e.leftRightScore,gesture:bj.FRONTAL})})})),Promise.all(s).then((function(e){return $.verifyFaceLiveness({images:e.map((function(e){return{id:e.data.image_id}})),videos:[{frames:o}]})})).then((function(e){p({apiCheckPassed:e.data.is_live,verifyFaceLivenessResult:e.data})})).catch((function(e){h({error:e})}))):p({frontalFaces:a,capturedFrames:ye.current});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();Qe.current=setInterval((function(){je((function(t){return e(t),t-1}))}),1e3)}),[Ge,r,p,$,h,S]);oy.useEffect((function(){he&&(clearInterval(Qe.current),Ge(!1))}),[he,Ge]),oy.useEffect((function(){var e,t=H.current,n=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=de.current.steps,r=[],t.forEach((function(e){var t=e.name,n=e.image,i=e.frontalFaceImage;t!==bj.FRONTAL?r.push($.uploadImage({file:n.blob,label:"portrait",metadata:JSON.stringify({gesture_score:n.leftRightScore,gesture:t})})):r.push(Promise.resolve({data:{image_id:null}})),i.blob?r.push($.uploadImage({file:i.blob,label:"portrait",metadata:JSON.stringify({gesture_score:i.leftRightScore,gesture:bj.FRONTAL})})):r.push(Promise.resolve({data:{image_id:null}}))})),e.next=5,Promise.all(r);case 5:n=e.sent,t.forEach((function(e,t){e.image.imageId=n[2*t].data.image_id,e.frontalFaceImage.imageId=n[2*t+1].data.image_id}));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),o=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,n();case 3:if(t=de.current.steps,0!==(r=t.filter((function(e){return e.frontalFaceImage.imageId}))).length){e.next=9;break}p({error:"wrong_face_movement"}),e.next=26;break;case 9:return e.next=11,gj();case 11:if(i=mj(Te)){e.next=16;break}p({error:"network_error"}),e.next=26;break;case 16:return a=$.verifyFaceLiveness({images:r.map((function(e){return{id:e.frontalFaceImage.imageId}})),gesture_images:t.filter((function(e){return e.image.imageId&&e.name!==bj.FRONTAL})).map((function(e){return{gesture:e.name,images:[{id:e.image.imageId}]}})),videos:i}),o=$.requestVerifyPortrait({image:{id:r[r.length-1].frontalFaceImage.imageId}}),e.next=20,Promise.all([a,o]);case 20:s=e.sent,c=AD(s,2),u=c[0],l=c[1],d=!0===u.data.is_live,p({apiCheckPassed:d,verifyFaceLivenessResult:u.data,verifyFacePortraitResult:l.data,frontalFaces:r.map((function(e){return{id:e.frontalFaceImage.imageId,blob:e.frontalFaceImage.blob}})),steps:t.filter((function(e){return e.image.imageId&&e.name!==bj.FRONTAL})).map((function(e){var t=e.name,r=e.image;return{name:t,blob:r.blob,id:r.imageId}}))});case 26:e.next=31;break;case 28:e.prev=28,e.t0=e.catch(0),h({error:e.t0});case 31:case"end":return e.stop()}}),e,null,[[0,28]])})));return function(){return e.apply(this,arguments)}}(),s=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=de.current.steps,r=[],t.map((function(e){return r.push({name:e.name,blob:e.image.blob}),e.frontalFaceImage.blob&&r.push({name:e.name,blob:e.frontalFaceImage.blob}),0})),n=r.map((function(e){return DB.resizeBlobImg(e.blob,Le,Le)})),e.next=6,Promise.all(n);case 6:i=e.sent,a=r.map((function(e,t){return{name:e.name,blob:i[t]}})),t.map((function(e,r){var n=a.filter((function(t){return t.name===e.name}));return t[r].image.blob=n[0].blob,e.frontalFaceImage.blob&&(t[r].frontalFaceImage.blob=n[1].blob),0}));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),c=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,n,i,a,c,u,l,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=de.current.steps,n=t[de.current.curStepIndex],Ie({tag:"selfie",event:"user_activity.".concat(n.name),log:{time_capture_in_seconds:((performance.now()-be.current)/1e3).toFixed(1)}}),de.current.curStepIndex++,be.current=performance.now(),we.enable&&"each_gesture"===we.limit_for&&(_e.current=0),de.current.curStepIndex!==t.length){e.next=33;break}if(ke.enable&&E(""),!p){e.next=33;break}return Te.enable&&(Te.framesBatchLength>0?(x(ye.current.slice(ye.current.length%Te.framesBatchLength*-1).map((function(e){return{base64:e.base64,label:e.label,index:e.index}}))),r&&hj(ye.current.slice(ye.current.length%Te.framesBatchLength*-1),$)):x(ye.current.map((function(e){return{base64:e.base64,label:e.label,index:e.index}})))),Ie({tag:"selfie",event:"user_activity",log:{time_capture_in_seconds:((Date.now()-ve.current)/1e3).toFixed(1)}}),S(),e.next=14,s();case 14:if(r){e.next=31;break}if(c=t.filter((function(e){return e.name!==bj.FRONTAL})).map((function(e){return{name:e.name,image:{blob:e.image.blob}}})),u=t.filter((function(e){return e.name!==bj.FRONTAL})).map((function(e){return e.frontalFaceImage.blob})).filter((function(e){return null!==e})),!(l=null===(i=t.find((function(e){return e.name===bj.FRONTAL})))||void 0===i||null===(a=i.image)||void 0===a?void 0:a.blob)||!g){e.next=24;break}return e.next=21,DB.scaleImage(l,{minSize:g});case 21:e.t0=e.sent,e.next=25;break;case 24:e.t0=null;case 25:d=e.t0,l&&u.push(l),Ie({tag:"result",event:"sdk_mode.liveness",log:{result_object:{steps:c,frontalFaces:u,frontalScaledImage:d}}}),p({steps:c,frontalFaces:u,frontalScaledImage:d,capturedFrames:ye.current}),e.next=33;break;case 31:return e.next=33,o();case 33:te();case 34:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),u=QU((function(){var e=de.current,t=e.curStepIndex,r=e.steps,n=r[t],i=null!==(null==n?void 0:n.image.blob),a=null!==(null==n?void 0:n.frontalFaceImage.blob),o=r.filter((function(e){return e.frontalFaceImage.blob})).length,s=!1;return i&&(a||![1].includes(t)||o>=1)?(ne.current=!1,c(),s=!0):ne.current=!(!i||a),j(!1),s}),y);function l(e,t,r,n){return d.apply(this,arguments)}function d(){return(d=CD(regeneratorRuntime.mark((function e(t,r,n,i){var a,o,s,l,d,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=de.current,o=a.curStepIndex,s=a.steps,!(o<s.length)){e.next=24;break}if(l=s[o],!ej({faceDirection:t,curStep:l})){e.next=5;break}return e.abrupt("return");case 5:if(t!==bj.FRONTAL||null!==l.frontalFaceImage.blurScore&&!yS.hasBetterBlurScore(n,l.frontalFaceImage.blurScore)){e.next=13;break}return l.frontalFaceImage.blurScore=n,e.next=9,bS.takePicture({canvas:r});case 9:d=e.sent,l.frontalFaceImage.blob=d,l.frontalFaceImage.leftRightScore=i,ne.current&&(ne.current=!1,c());case 13:if(l.name!==t||null!==l.image.blurScore&&!yS.hasBetterBlurScore(n,l.image.blurScore)){e.next=24;break}return j(!0),l.image.blurScore=n,e.next=18,bS.takePicture({canvas:r});case 18:f=e.sent,l.image.blob=f,l.image.leftRightScore=i,l.image.objUrl&&URL.revokeObjectURL(l.image.objUrl),l.image.objUrl=URL.createObjectURL(f),u();case 24:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(e,t,r){return m.apply(this,arguments)}function m(){return(m=CD(regeneratorRuntime.mark((function e(t,r,n){var i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(!0===He.current&&t===bj.FRONTAL&&We.current.length<3)){e.next=5;break}return e.next=3,bS.takePicture({canvas:r});case 3:i=e.sent,We.current.push({blob:i,leftRightScore:n});case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e,t,n,i){if(ye.current.length&&Date.now()-ye.current[ye.current.length-1].time<Te.framesIntervalTime)return null;if(Te.enable&&!i){var a=e.topLeft,o=e.bottomRight,s=[].concat(ID(a),ID(o)),c=[];[a,o].forEach((function(e){c=[].concat(ID(c),[e[0]/MS.SIZE*t.width,e[1]/MS.SIZE*t.height])}));var u=yj(e,0===ye.current.length),l=u.score,d=u.time,f=t.toDataURL("image/jpeg",.8);return ye.current.push({label:"portrait",base64:f.split(",")[1],landmarks:n,original_landmarks:n.map((function(e){return[e[0]/MS.SIZE*t.width,e[1]/MS.SIZE*t.height]})),score:l,time:d,index:ye.current.length,bbox:s,original_bbox:c}),Te.framesBatchLength>0&&ye.current.length%Te.framesBatchLength==0&&x&&(x(ye.current.slice(-Te.framesBatchLength).map((function(e){return{base64:e.base64,label:e.label,index:e.index}}))),r&&hj(ye.current.slice(-Te.framesBatchLength),$,ye.current.length===Te.framesBatchLength)),l}return null}function b(e){if(!we.enable||null===e||!K)return!0;var t=we.web_warning_threshold,r=we.web_terminate_threshold,n=we.max_warning_time;return e<t||(e<r&&_e.current<n?(_e.current++,_e.current===n?(ge(SD(SD({},Ne.liveness_terminated_face_tracking),{},{duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated_face_tracking"}})):ge(SD(SD({},Ne.liveness_too_fast),{},{duration:1500})),!0):(ge(SD(SD({},Ne.liveness_terminated),{},{duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated"}}),Pe(),!1))}function C(e){if(Se.enable&&K){var t=Se.max_time_ms;xe.current&&e||(xe.current={time:Date.now(),frame:0}),e&&xe.current.frame++;var r=xe.current.time;e&&Date.now()-r>=t&&(ge(SD(SD({},Ne.liveness_terminated_no_face),{},{duration:Ee})),Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:"liveness_terminated_no_face"}}),Pe())}}function w(e,t){return k.apply(this,arguments)}function k(){return(k=CD(regeneratorRuntime.mark((function r(n,o){var s,c,u,d,p,h,g,m,y,E,k,S,B,T,A,I,_,x,P,R,N;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(0!==(null==o?void 0:o.width)&&0!==(null==o?void 0:o.height)){r.next=2;break}return r.abrupt("return");case 2:return s=n.cropX,c=n.cropY,u=n.cropWidth,d=n.cropHeight,o.getContext("2d").drawImage(t,s,c,u,d,0,0,u,d),p=ce.current.blazefaceModel,r.next=8,yS.calculateBlurScore(o);case 8:return h=r.sent,r.next=11,MS.getModelPredictions({model:p,sCanvas:o});case 11:return g=r.sent,r.next=14,OS.validatePredictions({predictions:g,width:MS.SIZE,height:MS.SIZE});case 14:if(m=r.sent,y=m.error,E=m.fullFace,re.current.image=i,S=null,B=null,T=null,A=de.current,I=A.curStepIndex,_=A.steps,!E){r.next=29;break}return x=_[I],T=E.landmarks,r.next=27,OS.calculateFaceDirection({landmarks:T,getPerfectFrontal:x&&x.name===bj.FRONTAL});case 27:(P=r.sent)&&(S=P.gesture,B=P.leftRightScore);case 29:if(R="no_face"===(null==y?void 0:y.code)||"partial_face"===(null==y?void 0:y.code),N=I<_.length,C(R&&N),null!=y&&y.code&&Ie({tag:"selfie",event:"sdk_ui.show_alert",log:{alert:y.code}}),y&&("face_too_small"!==y.code||![bj.DOWN,bj.UP,bj.LEFT,bj.RIGHT].includes(S))){r.next=52;break}if(Z||v(g[0],o,T),!Z){r.next=43;break}if(K||(q(!0),be.current=performance.now(),ve.current=Date.now()),!b(v(g[0],o,T,I>=_.length))){r.next=41;break}return r.next=41,l(S,o,h,B);case 41:r.next=50;break;case 43:if(![bj.LEFT,bj.RIGHT].includes(S)){r.next=48;break}k=Ne.not_frontal_face,re.current.image=a,r.next=50;break;case 48:return r.next=50,f(S,o,B);case 50:r.next=53;break;case 52:I<_.length&&(k=Ne[y.code],re.current.image=a);case 53:me(k),-1!==e&&(e=requestAnimationFrame((function(){return w(n,o)})));case 55:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function B(){return(B=CD(regeneratorRuntime.mark((function e(){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=bS.analyzeVideoAndWindowSizes(t,re.current),n=r.cropWidth,i=r.cropHeight,(a=document.createElement("canvas")).width=n,a.height=i,(o=a.getContext("2d")).translate(n,0),o.scale(-1,1),w(r,a);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return L&&oe&&setTimeout((function(){!function(){B.apply(this,arguments)}()}),R),function(){cancelAnimationFrame(e),e=-1}}),[R,L,Q,Z,$,r,i,a,p,h,g,y,Te,S,we,ke.enable,E,me,Ee,Pe,Se,K,Ne,oe,Ie,x]);var Ye=de.current,$e=Ye.curStepIndex,Ze=Ye.steps,Je=oy.useMemo((function(){return Ze.find((function(e){return e.name===oC.FaceDirection.FRONTAL}))}),[Ze]),et=ne.current?Je:Ze[$e],tt=et&&K?et.instructions[Q]:null,rt=et&&K?et.directionIcon:"",nt=et?et.directionIconAnimation:"";return{countdownToTakePicture:Ve,cropArea:re,curStepIndex:$e,directionIcon:rt,directionIconAnimation:nt,faceDetectionError:he,handleTriggerPassiveMode:Xe,handleVideoPlayed:De,instructions:tt,isActiveMode:Z,refVideo:H,showCountdown:Ke,steps:Ze,videoPlayed:L,activeCapturing:V,isFirstValidFrameFound:K,warmupDone:oe}}var kj=(wD(ij={},oC.FaceDirection.LEFT,90),wD(ij,oC.FaceDirection.RIGHT,270),wD(ij,oC.FaceDirection.UP,180),wD(ij,oC.FaceDirection.DOWN,0),ij),Sj=nC(["0%{opacity:0.15;}50%{opacity:0.3;}100%{opacity:1;}"]),Bj=eC.div(aj||(aj=TD(["\n width: 200px;\n height: 200px;\n position: relative;\n transform: scale(0.48);\n\n .top,\n .right,\n .bottom,\n .left {\n position: absolute;\n }\n\n .top {\n top: 0;\n left: 50%;\n transform: rotate(","deg) translateX(-50%);\n }\n\n .right {\n right: 0;\n top: 50%;\n transform: rotate(","deg) translateX(-50%);\n }\n\n .bottom {\n bottom: 0;\n left: 50%;\n transform: rotate(","deg) translateX(50%);\n }\n\n .left {\n left: 0;\n top: 50%;\n transform: rotate(","deg) translateX(50%);\n }\n"])),kj[oC.FaceDirection.DOWN],kj[oC.FaceDirection.LEFT],kj[oC.FaceDirection.UP],kj[oC.FaceDirection.RIGHT]),Tj=eC.div(oj||(oj=TD(["\n width: 70px;\n transform: rotate(","deg);\n"])),(function(e){var t,r=e.direction;return null!==(t=kj[r])&&void 0!==t?t:0})),Aj=eC.span(sj||(sj=TD(["\n display: flex;\n margin: 4px 0;\n width: 100%;\n height: 15px;\n animation: "," 1s infinite;\n animation-direction: alternate;\n\n &::before,\n &::after {\n content: '';\n height: 100%;\n width: 50%;\n background: rgba(255, 255, 255, 0.8);\n }\n\n &::before {\n transform: skewY(32deg);\n }\n\n &::after {\n width: 50%;\n transform: skewY(-32deg);\n }\n"])),Sj),Ij=eC(Aj)(cj||(cj=TD(["\n animation-delay: 0s;\n"]))),_j=eC(Aj)(uj||(uj=TD(["\n animation-delay: 0.5s;\n"]))),xj=eC(Aj)(lj||(lj=TD(["\n animation-delay: 1s;\n"])));function Pj(e){var t=e.type;return t!==oC.FaceDirection.FRONTAL?oy.createElement(Tj,{direction:t},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)):oy.createElement(Bj,null,oy.createElement(Tj,{className:"top"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)),oy.createElement(Tj,{className:"right"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)),oy.createElement(Tj,{className:"bottom"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)),oy.createElement(Tj,{className:"left"},oy.createElement(Ij,null),oy.createElement(_j,null),oy.createElement(xj,null)))}Pj.propTypes={type:Py.oneOf([oC.FaceDirection.LEFT,oC.FaceDirection.RIGHT,oC.FaceDirection.UP,oC.FaceDirection.FRONTAL])},Pj.defaultProps={type:oC.FaceDirection.LEFT};var Rj,Nj=oC.ErrorDuration;function Oj(e){var t=e.children,r=e.errorMsg,n=e.className;return oy.isValidElement(t)?r?oy.createElement("div",{className:n},oy.cloneElement(t,{errorMsg:r})):null:r?oy.createElement("div",{className:n},r):null}function Lj(e){var t=e.children,r=e.className,n=e.error,i=oy.useRef(0),a=oy.useRef(""),o=lk.useSDKSettings().lang,s=oy.useRef(Nj.SHORT),c=n||{},u=c.msg,l=c.duration,d=void 0===l?Nj.SHORT:l,f=null==u?void 0:u[o];return Date.now()-i.current>=s.current?(i.current=Date.now(),s.current=d,a.current=f,Oj({children:t,errorMsg:f,className:r})):Oj({children:t,errorMsg:a.current,className:r})}Lj.propTypes={children:Py.node,className:Py.string},Lj.defaultProps={className:""};var Dj=eC.circle(Rj||(Rj=TD(["\n transition: stroke-dashoffset 0.4s;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n"])));function Uj(e){var t=e.className,r=e.style,n=e.radius,i=e.strokeWidth,a=e.progress,o=e.hasError,s=e.activeColor,c=e.innerPadding,u=e.outsideRingColor,l=e.outsideRingOpacity,d=e.insideRingColor,f=e.insideRingWidth,p=e.insideRingStrokeDash,h=e.errorRingWidth,g=e.errorRingColor,m=e.dashedRingColor,y=e.dashedRingOpacity,v=e.dashedRingWidth,b=e.dashedRingLineThick,C=e.dashedRingLineSpacing,w=e.dashedInsideRingColor,E=e.dashedInsideRingWidth,k=e.showOutsideRing,S=e.showInsideRing,B=e.showDashedRing,T=2*n,A=2*n,I=n-2*i,_=2*Math.PI*I,x=_-a/100*_,P=I-v/2-i/2-c,R=2*Math.PI*P,N=R-a/100*R,O=P-E/2-v/2,L=2*Math.PI*O,D=L-a/100*L,U=O-f/2-E/2,M=O-h/2-E/2;return oy.createElement("svg",{className:t,style:r,width:T,height:A,viewBox:"0 0 ".concat(T," ").concat(A),fill:"none",xmlns:"http://www.w3.org/2000/svg"},k?oy.createElement(oy.Fragment,null,oy.createElement("circle",{"data-testid":"outsideRing",opacity:l,cx:n,cy:n,r:I,stroke:u}),oy.createElement(Dj,{"data-testid":"outsideAnimateRing",cx:n,cy:n,r:I,stroke:s,strokeWidth:i,strokeLinecap:"round",strokeDasharray:"".concat(_," ").concat(_),style:{strokeDashoffset:x}})):null,B?oy.createElement(oy.Fragment,null,oy.createElement("circle",{"data-testid":"dashedRing",opacity:y,cx:n,cy:n,r:P,stroke:m,strokeWidth:v,strokeDasharray:"".concat(b," ").concat(C)}),oy.createElement("mask",{id:"mask0","mask-type":"alpha",maskUnits:"userSpaceOnUse"},oy.createElement("circle",{cx:n,cy:n,r:P,stroke:s,strokeWidth:v,strokeDasharray:"".concat(b," ").concat(C)})),oy.createElement("g",{mask:"url(#mask0)"},oy.createElement(Dj,{"data-testid":"dashedAnimateRing",cx:n,cy:n,r:P,stroke:s,strokeWidth:v,strokeDasharray:"".concat(R," ").concat(R),style:{strokeDashoffset:N}})),oy.createElement("circle",{"data-testid":"dashedInsideRing",opacity:y,cx:n,cy:n,r:O,stroke:w,strokeWidth:E}),oy.createElement(Dj,{"data-testid":"dashedInsideAnimateRing",cx:n,cy:n,r:O,stroke:s,strokeWidth:E,strokeLinecap:"round",strokeDasharray:"".concat(L," ").concat(L),style:{strokeDashoffset:D}})):null,S?oy.createElement("circle",{"data-testid":"insideRing",strokeDasharray:p,cx:n,cy:n,r:U,stroke:d,strokeWidth:f}):null,o?oy.createElement("circle",{"data-testid":"errorRing",strokeDasharray:p,cx:n,cy:n,r:M,stroke:g,strokeWidth:h}):null)}function Mj(e){var t=e.className;return oy.createElement("svg",{className:t,width:"320",height:"320",viewBox:"0 0 320 320",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M320 0H0V320H320V0ZM160 296C235.111 296 296 235.111 296 160C296 84.8893 235.111 24 160 24C84.8893 24 24 84.8893 24 160C24 235.111 84.8893 296 160 296Z",fill:"currentColor"}))}function Vj(){return(Vj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}Uj.propTypes={className:Py.string,style:Py.shape({}),radius:Py.number,strokeWidth:Py.number,progress:Py.number,hasError:Py.bool,activeColor:Py.string,innerPadding:Py.number,outsideRingColor:Py.string,outsideRingOpacity:Py.number,insideRingColor:Py.string,insideRingWidth:Py.number,insideRingStrokeDash:Py.string,errorRingColor:Py.string,errorRingWidth:Py.number,dashedRingColor:Py.string,dashedRingOpacity:Py.number,dashedRingWidth:Py.number,dashedRingLineThick:Py.number,dashedRingLineSpacing:Py.number,dashedInsideRingColor:Py.string,dashedInsideRingWidth:Py.number,showOutsideRing:Py.bool,showDashedRing:Py.bool,showInsideRing:Py.bool},Uj.defaultProps={className:"",style:null,radius:160,strokeWidth:3,progress:0,hasError:!1,activeColor:"#0092ff",innerPadding:5,outsideRingColor:"#f2f6f9",outsideRingOpacity:.1,insideRingColor:"#f2f6f9",insideRingWidth:3,insideRingStrokeDash:"0",errorRingColor:"#df0000",errorRingWidth:3,dashedRingColor:"#ffffff",dashedRingOpacity:.3,dashedRingWidth:10,dashedRingLineThick:1,dashedRingLineSpacing:6,dashedInsideRingColor:"#ffffff",dashedInsideRingWidth:0,showOutsideRing:!0,showDashedRing:!0,showInsideRing:!0},Mj.propTypes={className:Py.string},Mj.defaultProps={className:""};var jj,Fj,zj="undefined"!=typeof window?oy.useLayoutEffect:oy.useEffect,Kj={popupContent:{tooltip:{position:"absolute",zIndex:999},modal:{position:"relative",margin:"auto"}},popupArrow:{height:"8px",width:"16px",position:"absolute",background:"transparent",color:"#FFF",zIndex:-1},overlay:{tooltip:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",zIndex:999},modal:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",display:"flex",zIndex:999}}},qj=["top left","top center","top right","right top","right center","right bottom","bottom left","bottom center","bottom right","left top","left center","left bottom"],Hj=function(e,t,r,n,i){var a=i.offsetX,o=i.offsetY,s=n?8:0,c=r.split(" "),u=e.top+e.height/2,l=e.left+e.width/2,d=t.height,f=t.width,p=u-d/2,h=l-f/2,g="",m="0%",y="0%";switch(c[0]){case"top":p-=d/2+e.height/2+s,g="rotate(180deg) translateX(50%)",m="100%",y="50%";break;case"bottom":p+=d/2+e.height/2+s,g="rotate(0deg) translateY(-100%) translateX(-50%)",y="50%";break;case"left":h-=f/2+e.width/2+s,g=" rotate(90deg) translateY(50%) translateX(-25%)",y="100%",m="50%";break;case"right":h+=f/2+e.width/2+s,g="rotate(-90deg) translateY(-150%) translateX(25%)",m="50%"}switch(c[1]){case"top":p=e.top,m=e.height/2+"px";break;case"bottom":p=e.top-d+e.height,m=d-e.height/2+"px";break;case"left":h=e.left,y=e.width/2+"px";break;case"right":h=e.left-f+e.width,y=f-e.width/2+"px"}return{top:p="top"===c[0]?p-o:p+o,left:h="left"===c[0]?h-a:h+a,transform:g,arrowLeft:y,arrowTop:m}},Gj=0,Qj=oy.forwardRef((function(e,t){var r=e.trigger,n=void 0===r?null:r,i=e.onOpen,a=void 0===i?function(){}:i,o=e.onClose,s=void 0===o?function(){}:o,c=e.defaultOpen,u=void 0!==c&&c,l=e.open,d=void 0===l?void 0:l,f=e.disabled,p=void 0!==f&&f,h=e.nested,g=void 0!==h&&h,m=e.closeOnDocumentClick,y=void 0===m||m,v=e.repositionOnResize,b=void 0===v||v,C=e.closeOnEscape,w=void 0===C||C,E=e.on,k=void 0===E?["click"]:E,S=e.contentStyle,B=void 0===S?{}:S,T=e.arrowStyle,A=void 0===T?{}:T,I=e.overlayStyle,_=void 0===I?{}:I,x=e.className,P=void 0===x?"":x,R=e.position,N=void 0===R?"bottom center":R,O=e.modal,L=void 0!==O&&O,D=e.lockScroll,U=void 0!==D&&D,M=e.arrow,V=void 0===M||M,j=e.offsetX,F=void 0===j?0:j,z=e.offsetY,K=void 0===z?0:z,q=e.mouseEnterDelay,H=void 0===q?100:q,G=e.mouseLeaveDelay,Q=void 0===G?100:G,W=e.keepTooltipInside,X=void 0!==W&&W,Y=e.children,$=oy.useState(d||u),Z=$[0],J=$[1],ee=oy.useRef(null),te=oy.useRef(null),re=oy.useRef(null),ne=oy.useRef(null),ie=oy.useRef("popup-"+ ++Gj),ae=!!L||!n,oe=oy.useRef(0);zj((function(){return Z?(ne.current=document.activeElement,ve(),ge(),pe()):he(),function(){clearTimeout(oe.current)}}),[Z]),oy.useEffect((function(){"boolean"==typeof d&&(d?se():ce())}),[d,p]);var se=function(e){Z||p||(J(!0),setTimeout((function(){return a(e)}),0))},ce=function(e){var t;Z&&!p&&(J(!1),ae&&(null===(t=ne.current)||void 0===t||t.focus()),setTimeout((function(){return s(e)}),0))},ue=function(e){null==e||e.stopPropagation(),Z?ce(e):se(e)},le=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return se(e)}),H)},de=function(e){null==e||e.preventDefault(),ue()},fe=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return ce(e)}),Q)},pe=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="hidden")},he=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="auto")},ge=function(){var e,t=null==te||null===(e=te.current)||void 0===e?void 0:e.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),r=Array.prototype.slice.call(t)[0];null==r||r.focus()};oy.useImperativeHandle(t,(function(){return{open:function(){se()},close:function(){ce()},toggle:function(){ue()}}}));var me,ye,ve=function(){if(!ae&&Z&&(null==ee?void 0:ee.current)&&(null==ee?void 0:ee.current)&&(null==te?void 0:te.current)){var e,t,r=function(e,t,r,n,i,a){var o=i.offsetX,s=i.offsetY,c={arrowLeft:"0%",arrowTop:"0%",left:0,top:0,transform:"rotate(135deg)"},u=0,l=function(e){var t={top:0,left:0,width:window.innerWidth,height:window.innerHeight};if("string"==typeof e){var r=document.querySelector(e);null!==r&&(t=r.getBoundingClientRect())}return t}(a),d=Array.isArray(r)?r:[r];for((a||Array.isArray(r))&&(d=[].concat(d,qj));u<d.length;){var f={top:(c=Hj(e,t,d[u],n,{offsetX:o,offsetY:s})).top,left:c.left,width:t.width,height:t.height};if(!(f.top<=l.top||f.left<=l.left||f.top+f.height>=l.top+l.height||f.left+f.width>=l.left+l.width))break;u++}return c}(ee.current.getBoundingClientRect(),te.current.getBoundingClientRect(),N,V,{offsetX:F,offsetY:K},X);te.current.style.top=r.top+window.scrollY+"px",te.current.style.left=r.left+window.scrollX+"px",V&&re.current&&(re.current.style.transform=r.transform,re.current.style.setProperty("-ms-transform",r.transform),re.current.style.setProperty("-webkit-transform",r.transform),re.current.style.top=(null===(e=A.top)||void 0===e?void 0:e.toString())||r.arrowTop,re.current.style.left=(null===(t=A.left)||void 0===t?void 0:t.toString())||r.arrowLeft)}};void 0===(ye=w)&&(ye=!0),oy.useEffect((function(){if(ye){var e=function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){"Escape"===e.key&&me(e)}));return document.addEventListener("keyup",e),function(){ye&&document.removeEventListener("keyup",e)}}}),[me=ce,ye]),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(t){if(9===t.keyCode){var r,n=null==e||null===(r=e.current)||void 0===r?void 0:r.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),i=Array.prototype.slice.call(n);if(1===i.length)return void t.preventDefault();var a=i[0],o=i[i.length-1];t.shiftKey&&document.activeElement===a?(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),a.focus())}};return document.addEventListener("keydown",r),function(){t&&document.removeEventListener("keydown",r)}}}),[e,t])}(te,Z&&ae),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(){e()};return window.addEventListener("resize",r),function(){t&&window.removeEventListener("resize",r)}}}),[e,t])}(ve,b),function(e,t,r){void 0===r&&(r=!0),oy.useEffect((function(){if(r){var n=function(r){var n=Array.isArray(e)?e:[e],i=!1;n.forEach((function(e){e.current&&!e.current.contains(r.target)||(i=!0)})),r.stopPropagation(),i||t(r)};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),function(){r&&(document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n))}}}),[e,t,r])}(n?[te,ee]:[te],ce,y&&!g);var be,Ce=function(){return oy.createElement("div",Object.assign({},(e=ae?Kj.popupContent.modal:Kj.popupContent.tooltip,t={className:"popup-content "+(""!==P?P.split(" ").map((function(e){return e+"-content"})).join(" "):""),style:Vj({},e,B,{pointerEvents:"auto"}),ref:te,onClick:function(e){e.stopPropagation()}},!L&&k.indexOf("hover")>=0&&(t.onMouseEnter=le,t.onMouseLeave=fe),t),{key:"C",role:ae?"dialog":"tooltip",id:ie.current}),V&&!ae&&oy.createElement("div",{ref:re,style:Kj.popupArrow},oy.createElement("svg",{"data-testid":"arrow",className:"popup-arrow "+(""!==P?P.split(" ").map((function(e){return e+"-arrow"})).join(" "):""),viewBox:"0 0 32 16",style:Vj({position:"absolute"},A)},oy.createElement("path",{d:"M16 0l16 16H0z",fill:"currentcolor"}))),Y&&"function"==typeof Y?Y(ce,Z):Y);var e,t},we=!(k.indexOf("hover")>=0),Ee=ae?Kj.overlay.modal:Kj.overlay.tooltip,ke=[we&&oy.createElement("div",{key:"O","data-testid":"overlay","data-popup":ae?"modal":"tooltip",className:"popup-overlay "+(""!==P?P.split(" ").map((function(e){return e+"-overlay"})).join(" "):""),style:Vj({},Ee,_,{pointerEvents:y&&g||ae?"auto":"none"}),onClick:y&&g?ce:void 0,tabIndex:-1},ae&&Ce()),!ae&&Ce()];return oy.createElement(oy.Fragment,null,function(){for(var e={key:"T",ref:ee,"aria-describedby":ie.current},t=Array.isArray(k)?k:[k],r=0,i=t.length;r<i;r++)switch(t[r]){case"click":e.onClick=ue;break;case"right-click":e.onContextMenu=de;break;case"hover":e.onMouseEnter=le,e.onMouseLeave=fe;break;case"focus":e.onFocus=le,e.onBlur=fe}if("function"==typeof n){var a=n(Z);return!!n&&oy.cloneElement(a,e)}return!!n&&oy.cloneElement(n,e)}(),Z&&yD.createPortal(ke,(null===(be=document.getElementById("popup-root"))&&((be=document.createElement("div")).setAttribute("id","popup-root"),document.body.appendChild(be)),be)))})),Wj=rC(jj||(jj=TD(["\n .popup-content {\n margin: auto;\n background: #fff;\n width: 100%;\n padding: 5px;\n border: 1px solid #d7d7d7;\n max-width: 568px;\n border-radius: 10px;\n }\n\n [role=tooltip].popup-content {\n width: 200px;\n box-shadow: 0 0 3px rgba(0, 0, 0, .16);\n border-radius: 5px\n }\n\n .popup-overlay {\n background: rgba(0, 0, 0, .5);\n padding: 10px;\n }\n\n [data-popup=tooltip].popup-overlay {\n background: transparent\n }\n\n .popup-arrow {\n -webkit-filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n color: #fff;\n stroke-width: 2px;\n stroke: #d7d7d7;\n stroke-dasharray: 30px;\n stroke-dashoffset: -54px;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0\n }\n"]))),Xj=["open","children","overlayStyle"],Yj=function(e){var t=e.open,r=e.children,n=e.overlayStyle,i=BD(e,Xj);return oy.createElement(oy.Fragment,null,oy.createElement(Qj,ED({overlayStyle:SD(SD({},n),{},{zIndex:2e3}),closeOnDocumentClick:!1,closeOnEscape:!1,modal:!0,open:t},i),r),oy.createElement(Wj,null))};Yj.propTypes={open:Py.bool,children:Py.node,overlayStyle:Py.shape({})},Yj.defaultProps={open:!1,children:null,overlayStyle:{}};var $j,Zj,Jj,eF,tF,rF,nF,iF,aF,oF,sF,cF,uF,lF,dF,fF,pF={WARMUP_INTRO:{en:"Warming up... Please wait a moment",vi:"Đang khởi động, vui lòng chờ trong giây lát..."}},hF=eC.div(Fj||(Fj=TD(["\n font-size: 18px;\n text-align: center;\n padding: 10px;\n"]))),gF=function(e){var t=e.contentStyle,r=lk.useSDKSettings().lang;return oy.createElement(Yj,{open:!0,contentStyle:t},oy.createElement(hF,{className:"warmup-message"},pF.WARMUP_INTRO[r]))};gF.propTypes={contentStyle:Py.shape({})},gF.defaultProps={contentStyle:{}};var mF=Vb(["z-index:",";color:#ffffff;"],1020),yF=eC.div($j||($j=TD(["\n ","\n"])),mF),vF=eC(Lj)(Zj||(Zj=TD(["\n ","\n ","\n ","\n ","\n font-size: 18px;\n background: #ea3223;\n color: #fff;\n padding: 5px 10px;\n border-radius: 3px;\n position: absolute;\n white-space: pre-wrap;\n text-align: center;\n max-width: 80%;\n"])),mF,(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)}),(function(e){var t=e.bottom;return t&&Vb(["bottom:","px;"],t)}),(function(e){return e.centerY&&Vb(["top:50%;transform:translateY(-50%);"])})),bF=eC(yF)(Jj||(Jj=TD(["\n ","\n font-size: 18px;\n background: #ea3223;\n color: #fff;\n padding: 5px 10px;\n border-radius: 3px;\n position: absolute;\n left: 50%;\n transform: translate(-50%, 0);\n white-space: nowrap;\n"])),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)})),CF=eC(yF)(eF||(eF=TD(["\n position: absolute;\n ","\n ","\n font-size: ",";\n text-shadow: 2px 2px 4px #000000;\n"])),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)}),(function(e){var t=e.bottom;return t&&Vb(["bottom:","px;"],t)}),(function(){return GD.isMobile?"20px":"22px"})),wF=eC.div(tF||(tF=TD(["\n height: ",";\n position: absolute;\n ","\n ","\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: ",";\n"])),(function(){return GD.isMobile?"50px":"70px"}),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)}),(function(e){var t=e.bottom;return t&&Vb(["bottom:","px;"],t)}),1020),EF=eC.div(rF||(rF=TD(["\n width: ",";\n height: ",";\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid #ffffff;\n font-size: 16px;\n color: #fff;\n font-weight: 700;\n\n & + & {\n margin-left: 10px;\n }\n\n ","\n img {\n width: 100%;\n margin: 0;\n border-radius: 50%;\n }\n"])),(function(){return GD.isMobile?"40px":"50px"}),(function(){return GD.isMobile?"40px":"50px"}),(function(e){return!e.active&&Vb(["opacity:0.6;"])})),kF=eC.div(nF||(nF=TD(["\n color: #ffffff;\n height: 70px;\n position: absolute;\n bottom: 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: ",";\n"])),1020),SF=eC.div(iF||(iF=TD(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),BF=eC.div(aF||(aF=TD(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n color: #ffffff;\n font-size: 140px;\n opacity: 0.6;\n"]))),TF=eC.div(oF||(oF=TD(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"]))),AF=eC(Uj)(sF||(sF=TD(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),IF=eC(Mj)(cF||(cF=TD(["\n width: 100%;\n height: 100%;\n vertical-align: middle;\n margin: 0;\n color: ",";\n"])),(function(e){var t=e.color;return null!=t?t:"rgba(0, 0, 0, 0.6)"})),_F=eC.div(uF||(uF=TD(["\n position: absolute;\n z-index: -1;\n background: rgba(223, 0, 0, 0.2);\n border-radius: 50%;\n width: 86%;\n height: 86%;\n top: 7%;\n left: 7%;\n"]))),xF=nC(["from{opacity:1;}to{opacity:0;}"]),PF=eC.div(lF||(lF=TD(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n z-index: -1;\n background: rgba(255, 255, 255, 0.3);\n animation: "," 1s infinite;\n border-radius: 50%;\n"])),xF),RF=GD.isMobile?{width:640}:null,NF={background:"#000000",opacity:.6};function OF(e){var t=e.apiCheck,r=e.mode,n=e.onLivenessDetectionDone,i=e.onClose,a=e.onError,o=e.captureFrameSettings,s=e.onFramesCaptured,c=e.frontCamera,u=e.customDirectionIcon,l=e.customStepTimeConstraints,d=e.onProcessing,f=e.customErrors,p=e.livenessSettings,h=e.apiCredentials,g=Hk.useAsset("bg_camera_mask.png"),m=Hk.useAsset("bg_camera_mask_red.png"),y=AD(oy.useState({}),2),v=y[0],b=y[1],C=v.yFaceDetectionError,w=v.yFaceVerificationStepsWrapper,E=AD(oy.useState(""),2),k=E[0],S=E[1],B=oy.useCallback((function(e){var t=e.lostY,r=e.height,n=t+25,i=n+30;return b({yFaceDetectionError:n,yFaceVerificationStepsWrapper:i+r+20}),{y:Math.floor(i)}}),[]),T=Ej({apiCheck:t,mode:r,bgCameraMask:g,bgCameraMaskRed:m,surroundStyle:NF,onLivenessDetectionDone:n,onError:a,cropAreaDimension:B,customDirectionIcon:u,captureFrameSettings:o,onFramesCaptured:s,livenessSettings:p,setRemainingTime:S,customStepTimeConstraints:l,onProcessing:d,customErrors:f,apiCredentials:h}),A=T.countdownToTakePicture,I=T.cropArea,_=T.curStepIndex,x=T.directionIcon,P=T.faceDetectionError,R=T.handleTriggerPassiveMode,N=T.handleVideoPlayed,O=T.instructions,L=T.isActiveMode,D=T.refVideo,U=T.showCountdown,M=T.steps,V=T.videoPlayed,j=T.activeCapturing,F=T.isFirstValidFrameFound,z=T.warmupDone;return oy.createElement(gU,{frontCamera:c,onVideoPlayed:N,onClose:i,flipHorizontal:c,ref:D,videoSettings:RF,onError:a},!z&&oy.createElement(gF,null),V?oy.createElement(oy.Fragment,null,oy.createElement(vF,{top:C-15,className:"face-detection-error",error:P}),I.current?oy.createElement(wU,{x:"".concat(I.current.x,"px"),y:"".concat(I.current.y,"px"),width:"".concat(I.current.width,"px"),height:"".concat(I.current.height,"px"),surroundStyle:I.current.surroundStyle},oy.createElement(IF,null),oy.createElement(AF,{progress:_/M.length*100,hasError:!!P,showDashedRing:!1,showOutsideRing:!1,insideRingWidth:1,errorRingWidth:1,insideRingStrokeDash:"2"}),U?oy.createElement(BF,null,A):null,L?oy.createElement(oy.Fragment,null,oy.createElement(TF,null,x),j&&oy.createElement(PF,null)):null,P&&oy.createElement(_F,null)):null,L?oy.createElement(oy.Fragment,null,k&&oy.createElement(bF,{top:w-30},k),O?oy.createElement(CF,{top:w+5,className:"instructions"},O):null,F&&oy.createElement(wF,{top:w+35},M.map((function(e,t){var r=e.name,n=e.image.objUrl;return oy.createElement(EF,{key:r,active:_>=t,className:"step-item"},n?oy.createElement("img",{src:n,alt:""}):oy.createElement("span",null,t+1))})))):oy.createElement(oy.Fragment,null,P?null:oy.createElement(kF,null,oy.createElement(SF,{onClick:R},oy.createElement(EU,null))))):null)}OF.propTypes={apiCheck:Py.bool,mode:Py.string,onLivenessDetectionDone:Py.func,onClose:Py.func,onError:Py.func,captureFrameSettings:Py.shape({}),onFramesCaptured:Py.func,frontCamera:Py.bool,customDirectionIcon:Py.shape({}),customStepTimeConstraints:Py.shape({}),onProcessing:Py.func,customErrors:Py.shape({}),livenessSettings:Py.shape({}),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string})},OF.defaultProps={apiCheck:!1,mode:null,onLivenessDetectionDone:null,onClose:null,onError:function(){},captureFrameSettings:{enable:!1,framesIntervalTime:180,framesBatchLength:0},onFramesCaptured:function(){},frontCamera:!0,customDirectionIcon:(dF={},wD(dF,oC.FaceDirection.LEFT,oy.createElement(Pj,{type:oC.FaceDirection.LEFT})),wD(dF,oC.FaceDirection.RIGHT,oy.createElement(Pj,{type:oC.FaceDirection.RIGHT})),wD(dF,oC.FaceDirection.UP,oy.createElement(Pj,{type:oC.FaceDirection.UP})),wD(dF,oC.FaceDirection.FRONTAL,oy.createElement(Pj,{type:oC.FaceDirection.FRONTAL})),dF),customStepTimeConstraints:(fF={},wD(fF,oC.FaceDirection.UP,{delayTime:0}),wD(fF,oC.FaceDirection.LEFT,{delayTime:0}),wD(fF,oC.FaceDirection.RIGHT,{delayTime:0}),wD(fF,oC.FaceDirection.FRONTAL,{delayTime:2e3}),fF),onProcessing:function(){},customErrors:null,livenessSettings:null,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"}};var LF,DF=Object.freeze({__proto__:null,Text:yF,FaceDetectionError:vF,CountdownTime:bF,FaceVerificationInstructions:CF,FaceVerificationStepsWrapper:wF,StepItem:EF,BottomButtonsOverlay:kF,Button:SF,CountDownOverlay:BF,InstructionsOverlay:TF,default:OF,useLivenessDetection:Ej}),UF=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.frontCamera,r=void 0===t||t,n=document.createElement("div");document.body.appendChild(n);var i=function(){yD.unmountComponentAtNode(n)};return new Promise((function(e){yD.render(oy.createElement(lk.SDKSettingsProvider,{value:{lang:"en"}},oy.createElement(gU,{checkCameraMode:!0,frontCamera:r,onVideoPlayed:function(){i(),e(null)},onClose:i,onError:function(t){i(),e(t)}})),n)}))},MF=eC.input(LF||(LF=TD(["\n display: none;\n"]))),VF=oy.forwardRef((function(e,t){var r=e.useFileBrowse,n=e.accept,i=e.frontCamera,a=e.onCaptureDone,o=e.outputEncryptionSettings,s=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.target.files,!a){e.next=8;break}if(n=r[0],!o||!o.key){e.next=7;break}return e.next=6,ET.encrypt({blob:n,key:o.key});case 6:i=e.sent;case 7:a({file:n,encrypted:i});case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[a,o]);return oy.createElement(MF,ED({ref:t,type:"file",accept:n,onChange:s},r?{}:{capture:i?"user":"environment"}))}));VF.propTypes={useFileBrowse:Py.bool,accept:Py.string,frontCamera:Py.bool,onCaptureDone:Py.func,outputEncryptionSettings:Py.shape({key:Py.string})},VF.defaultProps={useFileBrowse:!1,accept:"image/*",frontCamera:!1,onCaptureDone:null,outputEncryptionSettings:{key:""}};var jF,FF=Object.freeze({__proto__:null,Camera:EU}),zF="landscape",KF="portrait",qF=oC.Errors,HF=eC.div(jF||(jF=TD(["\n text-align: center;\n font-size: 20px;\n font-weight: 600;\n"])));function GF(e){var t=e.children,r=lk.useSDKSettings().lang,n=qF.wrong_orientation.msg[r],i=function(){var e=oy.useRef(screen.width>screen.height?zF:KF),t=AD(oy.useState(e.current),2),r=t[0],n=t[1];return oy.useEffect((function(){function e(){screen.width>screen.heightt?n(zF):n(KF)}return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),GD.isMobile?{curOrientation:r,initOrientation:e.current}:{curOrientation:"desktop"}}().curOrientation;return oy.createElement(oy.Fragment,null,i===zF&&oy.createElement(Yj,{open:!0},oy.createElement(HF,null,n)),(i===KF||"desktop"===i)&&oy.createElement(oy.Fragment,null,t))}var QF=["tracking","clientSettings","livenessSettings","livenessComponent"];function WF(e){var t=e.tracking,r=void 0===t?{enable:!0}:t,n=e.clientSettings,i=e.livenessSettings,a=e.livenessComponent,o=void 0===a?OF:a,s=BD(e,QF),c=$V(n,"data.settings.sdk_settings.active_liveness_settings",i),u=$V(n,"data.settings.sdk_settings.server_log_settings.enable",r.enable);return oy.createElement(GF,null,oy.createElement(zk.SDKTrackingProvider,{value:{tracking:SD(SD({},r),{},{enable:u})}},oy.createElement(o,ED({},s,{livenessSettings:c}))))}function XF(){return(XF=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function YF(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}function $F(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function ZF(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var JF=oy.createContext(null),ez="entering",tz="entered",rz=function(e){function t(t,r){var n;n=e.call(this,t,r)||this;var i,a=r&&!r.isMounting?t.enter:t.appear;return n.appearStatus=null,t.in?a?(i="exited",n.appearStatus=ez):i=tz:i=t.unmountOnExit||t.mountOnEnter?"unmounted":"exited",n.state={status:i},n.nextCallback=null,n}$F(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&"unmounted"===t.status?{status:"exited"}:null};var r=t.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(e){var t=null;if(e!==this.props){var r=this.state.status;this.props.in?r!==ez&&r!==tz&&(t=ez):r!==ez&&r!==tz||(t="exiting")}this.updateStatus(!1,t)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var e,t,r,n=this.props.timeout;return e=t=r=n,null!=n&&"number"!=typeof n&&(e=n.exit,t=n.enter,r=void 0!==n.appear?n.appear:t),{exit:e,enter:t,appear:r}},r.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),t===ez?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&"exited"===this.state.status&&this.setState({status:"unmounted"})},r.performEnter=function(e){var t=this,r=this.props.enter,n=this.context?this.context.isMounting:e,i=this.props.nodeRef?[n]:[yD.findDOMNode(this),n],a=i[0],o=i[1],s=this.getTimeouts(),c=n?s.appear:s.enter;e||r?(this.props.onEnter(a,o),this.safeSetState({status:ez},(function(){t.props.onEntering(a,o),t.onTransitionEnd(c,(function(){t.safeSetState({status:tz},(function(){t.props.onEntered(a,o)}))}))}))):this.safeSetState({status:tz},(function(){t.props.onEntered(a)}))},r.performExit=function(){var e=this,t=this.props.exit,r=this.getTimeouts(),n=this.props.nodeRef?void 0:yD.findDOMNode(this);t?(this.props.onExit(n),this.safeSetState({status:"exiting"},(function(){e.props.onExiting(n),e.onTransitionEnd(r.exit,(function(){e.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))}))}))):this.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},r.setNextCallback=function(e){var t=this,r=!0;return this.nextCallback=function(n){r&&(r=!1,t.nextCallback=null,e(n))},this.nextCallback.cancel=function(){r=!1},this.nextCallback},r.onTransitionEnd=function(e,t){this.setNextCallback(t);var r=this.props.nodeRef?this.props.nodeRef.current:yD.findDOMNode(this),n=null==e&&!this.props.addEndListener;if(r&&!n){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[r,this.nextCallback],a=i[0],o=i[1];this.props.addEndListener(a,o)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},r.render=function(){var e=this.state.status;if("unmounted"===e)return null;var t=this.props,r=t.children,n=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,YF(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return oy.createElement(JF.Provider,{value:null},"function"==typeof r?r(e,n):oy.cloneElement(oy.Children.only(r),n))},t}(oy.Component);function nz(){}rz.contextType=JF,rz.propTypes={},rz.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:nz,onEntering:nz,onEntered:nz,onExit:nz,onExiting:nz,onExited:nz},rz.UNMOUNTED="unmounted",rz.EXITED="exited",rz.ENTERING=ez,rz.ENTERED=tz,rz.EXITING="exiting";var iz,az,oz=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.remove(n):"string"==typeof r.className?r.className=ZF(r.className,n):r.setAttribute("class",ZF(r.className&&r.className.baseVal||"",n)));var r,n}))},sz=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).appliedClasses={appear:{},enter:{},exit:{}},t.onEnter=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1];t.removeClasses(i,"exit"),t.addClass(i,a?"appear":"enter","base"),t.props.onEnter&&t.props.onEnter(e,r)},t.onEntering=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.addClass(i,a,"active"),t.props.onEntering&&t.props.onEntering(e,r)},t.onEntered=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.removeClasses(i,a),t.addClass(i,a,"done"),t.props.onEntered&&t.props.onEntered(e,r)},t.onExit=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"appear"),t.removeClasses(r,"enter"),t.addClass(r,"exit","base"),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){var r=t.resolveArguments(e)[0];t.addClass(r,"exit","active"),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"exit"),t.addClass(r,"exit","done"),t.props.onExited&&t.props.onExited(e)},t.resolveArguments=function(e,r){return t.props.nodeRef?[t.props.nodeRef.current,e]:[e,r]},t.getClassNames=function(e){var r=t.props.classNames,n="string"==typeof r,i=n?(n&&r?r+"-":"")+e:r[e];return{baseClassName:i,activeClassName:n?i+"-active":r[e+"Active"],doneClassName:n?i+"-done":r[e+"Done"]}},t}$F(t,e);var r=t.prototype;return r.addClass=function(e,t,r){var n=this.getClassNames(t)[r+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===t&&"done"===r&&i&&(n+=" "+i),"active"===r&&e&&e.scrollTop,n&&(this.appliedClasses[t][r]=n,function(e,t){e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.add(n):function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")}(r,n)||("string"==typeof r.className?r.className=r.className+" "+n:r.setAttribute("class",(r.className&&r.className.baseVal||"")+" "+n)));var r,n}))}(e,n))},r.removeClasses=function(e,t){var r=this.appliedClasses[t],n=r.base,i=r.active,a=r.done;this.appliedClasses[t]={},n&&oz(e,n),i&&oz(e,i),a&&oz(e,a)},r.render=function(){var e=this.props,t=(e.classNames,YF(e,["classNames"]));return oy.createElement(rz,XF({},t,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(oy.Component);sz.defaultProps={classNames:""},sz.propTypes={};var cz=function(e,t,r){return function(){var n;e.props[t]&&(n=e.props)[t].apply(n,arguments),r()}},uz=((iz={})["out-in"]=function(e){var t=e.current,r=e.changeState;return oy.cloneElement(t,{in:!1,onExited:cz(t,"onExited",(function(){r(ez,null)}))})},iz["in-out"]=function(e){var t=e.current,r=e.changeState,n=e.children;return[t,oy.cloneElement(n,{in:!0,onEntered:cz(n,"onEntered",(function(){r(ez)}))})]},iz),lz=((az={})["out-in"]=function(e){var t=e.children,r=e.changeState;return oy.cloneElement(t,{in:!0,onEntered:cz(t,"onEntered",(function(){r(tz,oy.cloneElement(t,{in:!0}))}))})},az["in-out"]=function(e){var t=e.current,r=e.children,n=e.changeState;return[oy.cloneElement(t,{in:!1,onExited:cz(t,"onExited",(function(){n(tz,oy.cloneElement(r,{in:!0}))}))}),oy.cloneElement(r,{in:!0})]},az),dz=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).state={status:tz,current:null},t.appeared=!1,t.changeState=function(e,r){void 0===r&&(r=t.state.current),t.setState({status:e,current:r})},t}$F(t,e);var r=t.prototype;return r.componentDidMount=function(){this.appeared=!0},t.getDerivedStateFromProps=function(e,t){return null==e.children?{current:null}:t.status===ez&&"in-out"===e.mode?{status:ez}:!t.current||((r=t.current)===(n=e.children)||oy.isValidElement(r)&&oy.isValidElement(n)&&null!=r.key&&r.key===n.key)?{current:oy.cloneElement(e.children,{in:!0})}:{status:"exiting"};var r,n},r.render=function(){var e,t=this.props,r=t.children,n=t.mode,i=this.state,a=i.status,o=i.current,s={children:r,current:o,changeState:this.changeState,status:a};switch(a){case ez:e=lz[n](s);break;case"exiting":e=uz[n](s);break;case tz:e=o}return oy.createElement(JF.Provider,{value:{isMounting:!this.appeared}},e)},t}(oy.Component);dz.propTypes={},dz.defaultProps={mode:"out-in"};var fz={DEFAULT:"default",ERROR:"error"};function pz(e){var t=e.className,r=e.width,n=e.height,i=e.type,a=e.strokeStyles,o=e.strokeWidth,s=e.radius,c=e.paddingStyle,u=oy.useMemo((function(){var e;return SD((wD(e={},fz.DEFAULT,{fill:"none",strokeWidth:o,stroke:"#fff",strokeDasharray:"7, 4",opacity:.6}),wD(e,fz.ERROR,{fill:"rgba(234,50,35, 0.1)",strokeWidth:o,stroke:"#ea3223"}),e),a)}),[o,a]),l=s+.8*o,d=u[i];return oy.createElement("svg",{width:r,height:n,className:t},oy.createElement("rect",{x:o/2,y:o/2,rx:s,ry:s,width:r-o,height:n-o,style:d}),oy.createElement("path",{d:"M0,".concat(l," Q0,0 ").concat(l,",0 L0,0 Z"),style:c}),oy.createElement("path",{d:"M0,".concat(n-l," Q0,").concat(n," ").concat(l,",").concat(n," L0,").concat(n," Z"),style:c}),oy.createElement("path",{d:"M".concat(r-l,",").concat(n," Q").concat(r,",").concat(n," ").concat(r,",").concat(n-l," L").concat(r,",").concat(n," Z"),style:c}),oy.createElement("path",{d:"M".concat(r-l,",0 Q").concat(r,",0 ").concat(r,",").concat(l," L").concat(r,",0 Z"),style:c}))}pz.propTypes={className:Py.string,width:Py.number,height:Py.number,strokeWidth:Py.number,strokeStyles:Py.shape({}),type:Py.oneOf([fz.DEFAULT,fz.ERROR]),radius:Py.number,paddingStyle:Py.shape({})},pz.defaultProps={className:"",width:600,height:400,strokeWidth:2,strokeStyles:{},type:fz.DEFAULT,radius:10,paddingStyle:{fill:"rgba(0, 0, 0, 0.6)"}};var hz,gz,mz,yz,vz,bz,Cz,wz,Ez,kz,Sz,Bz,Tz,Az,Iz,_z,xz,Pz,Rz,Nz=Vb([".flipY-exit{animation-name:",";animation-duration:","ms;animation-timing-function:ease-in;}.flipY-enter{animation-name:",";animation-duration:","ms;animation-timing-function:ease-out;}"],nC(["from{transform:perspective(400px);}to{transform:perspective(400px) rotateY(90deg);}"]),500,nC(["from{transform:perspective(400px) rotateY(-90deg);}to{transform:perspective(400px);}"]),500),Oz=Object.freeze({__proto__:null,animationDuration:500,default:Nz}),Lz=Vb([".slide-horizontal{animation-name:",";animation-iteration-count:infinite;animation-duration:2000ms;animation-timing-function:linear;}.slide-vertical{animation-name:",";animation-iteration-count:infinite;animation-duration:2000ms;animation-timing-function:linear;}"],nC(["from,to{transform:translate3d(-","px,0,0);}50%{transform:translate3d(","px,0,0);}"],20,20),nC(["from,to{transform:translate3d(0,-","px,0);}50%{transform:translate3d(0,","px,0);}"],20,20)),Dz=Object.freeze({__proto__:null,default:Lz}),Uz=Vb([".blink{animation-name:",";animation-iteration-count:infinite;animation-duration:2000ms;animation-timing-function:linear;}"],nC(["from,to{opacity:1;}50%{opacity:0;}"])),Mz=Object.freeze({__proto__:null,default:Uz}),Vz=eC.div(hz||(hz=TD(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: ","; // must be higher than BASE_Z_INDEX and lower than other layers\n"])),1001),jz=Vb([".splash-enter{animation-name:",";animation-duration:","ms;animation-timing-function:ease-in;}"],nC(["from{background:#000;}to{}"]),300),Fz=eC.div(gz||(gz=TD(["\n ","\n"])),jz),zz=function(e){var t=e.keyForTransition,r=void 0===t?0:t;return oy.createElement(Fz,null,oy.createElement(dz,null,oy.createElement(sz,{key:r,timeout:{enter:300,exit:0},classNames:"splash",unmountOnExit:!1},oy.createElement(Vz,null))))},Kz=Object.freeze({__proto__:null,default:zz}),qz=Vb([".spin{animation-name:",";animation-iteration-count:infinite;animation-duration:1000ms;animation-timing-function:linear;}"],nC(["from{transform:rotate(0deg);}to{transform:rotate(360deg);}"])),Hz=Object.freeze({__proto__:null,default:qz}),Gz=Object.freeze({__proto__:null,flipY:Oz,slide:Dz,blink:Mz,splash:Kz,spin:Hz}),Qz=zz,Wz=eC.div(mz||(mz=TD(["\n ","\n ","\n"])),Nz,qz),Xz=eC.img(yz||(yz=TD(["\n border-radius: 5px;\n opacity: 0.7;\n height: 38px;\n"]))),Yz=eC.div(vz||(vz=TD(["\n cursor: pointer;\n text-align: center;\n width: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n position: fixed;\n\n ","\n"])),60,1020,GD.isMobile?Vb(["top:",";"],(function(e){return e.y})):Vb(["bottom:","px;"],10)),$z=eC.div(bz||(bz=TD(["\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n margin: auto;\n width: ","px;\n height: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n"])),100,100,1020),Zz=eC.div(Cz||(Cz=TD(["\n color: #fff;\n text-align: center;\n"]))),Jz=eC.div(wz||(wz=TD(["\n transform: translateZ(1000px); // to fix rotating bug on safari\n transform-style: preserve-3d;\n position: absolute;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),eK=eC.div(Ez||(Ez=TD(["\n display: flex;\n align-items: center;\n"]))),tK=eC(Zz)(kz||(kz=TD(["\n font-size: 20px;\n margin-left: 10px;\n color: #fff;\n"]))),rK=eC(Zz)(Sz||(Sz=TD(["\n font-size: 20px;\n margin-left: 10px;\n color: green;\n position: absolute;\n left: 0;\n top: 10px;\n background: white;\n z-index: ",";\n"])),1030),nK=eC(Zz)(Bz||(Bz=TD(["\n position: absolute;\n font-size: 16px;\n text-align: center;\n color: #fff;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),iK=eC(nK)(Tz||(Tz=TD(["\n background: #ea3223;\n padding: 5px 10px;\n border-radius: 3px;\n"]))),aK=eC(Zz)(Az||(Az=TD(["\n position: absolute;\n font-size: 18px;\n text-align: center;\n border-radius: 3px;\n padding: 5px 10px;\n background: #ea3223;\n color: #fff;\n margin: 0 10px;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),oK=(eC.div(Iz||(Iz=TD(["\n font-size: 18px;\n text-align: center;\n padding: 10px;\n"]))),eC(pz)(_z||(_z=TD(["\n position: absolute;\n top: 0;\n left: 0;\n"])))),sK={BTN_OK:{en:"OK",vi:"Tôi đã hiểu"},FRONT:{en:"front",vi:"trước"},BACK:{en:"back",vi:"sau"},BTN_USE_THIS_PICTURE:{en:"Use this picture",vi:"Dùng ảnh này"},BTN_TRY_AGAIN:{en:"Try again",vi:"Thử lại"},CONFIRM_POPUP_VALID_QR:{en:"QR code scanned",vi:"Đã quét được mã QR"},CONFIRM_POPUP_INVALID_QR:{en:"Could not scan QR code",vi:"Không quét được mã QR"}},cK=oC.IDCardMessage,uK=eC.div(xz||(xz=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),lK=eC.div(Pz||(Pz=TD(["\n text-align: center;\n font-size: 1rem;\n"]))),dK=eC.button(Rz||(Rz=TD(["\n margin-top: 20px;\n width: 100%;\n max-width: 160px;\n height: 50px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 0.25rem;\n color: #fff;\n font-weight: 400;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.tsBlue})),fK=function(e){var t=e.onOk,r=e.maxSessionTime,n=lk.useSDKSettings().lang;return oy.createElement(uK,null,oy.createElement(lK,{className:"popup-message"},IV(cK.TIMEOUT_INSTRUCTION[n])({x:r})),oy.createElement(dK,{className:"popup-button",onClick:t},sK.BTN_OK[n]))};fK.propTypes={onOk:Py.func,maxSessionTime:Py.number},fK.defaultProps={onOk:function(){},maxSessionTime:30};var pK=function(){var e=AD(oy.useState(!1),2),t=e[0],r=e[1],n=AD(oy.useState(null),2),i=n[0],a=n[1],o=AD(oy.useState({}),2),s=o[0],c=o[1];return{showPopup:oy.useCallback((function(e){var t=e.popupType,n=e.props;c(void 0===n?{}:n),a(t),r(null!==t)}),[]),popupShown:t,popupType:i,props:s}},hK="SESSION_TIMEOUT",gK="CONFIRM",mK="QR_INVALID",yK="QR_INSTRUCTIONS",vK=oC.Errors;function bK(e,t){return Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)}function CK(e,t){return Math.sqrt(bK(e,t))}function wK(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.canvas,r=e.imgMargin,n=void 0===r?.15:r,i=window,a=i.cv,o=t.width,s=t.height,c=n;c<1&&(c=parseInt(.5*(s+o)*c,10));var u=a.imread(t),l=new a.Mat;return a.copyMakeBorder(u,l,c,c,c,c,a.BORDER_CONSTANT,new a.Scalar(0,0,0,255)),u.delete(),{mat:l,margin:c}}function EK(e,t){var r=window.cv,n=AD(t.map((function(e){return e.location})),4),i=n[0],a=n[1],o=n[2],s=n[3],c=CK(o,s),u=CK(a,i),l=Math.max(c,u),d=CK(a,o),f=CK(i,s),p=Math.max(d,f),h=[i.x,i.y,a.x,a.y,o.x,o.y,s.x,s.y],g=[0,0,l-1,0,l-1,p-1,0,p-1],m=r.imread(e),y=new r.Mat,v=new r.Size(l,p),b=r.matFromArray(4,1,r.CV_32FC2,h),C=r.matFromArray(4,1,r.CV_32FC2,g),w=r.getPerspectiveTransform(b,C);r.warpPerspective(m,y,w,v,r.INTER_LINEAR,r.BORDER_CONSTANT,new r.Scalar);var E=new ImageData(new Uint8ClampedArray(y.data),y.cols,y.rows);return m.delete(),y.delete(),b.delete(),C.delete(),E}function kK(e){var t=e.corners,r=e.width,n=e.height,i=Number.MAX_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER;t.forEach((function(e){var t=e.location,r=t.x,n=t.y;i=Math.min(i,r),a=Math.min(a,n),o=Math.max(o,r),s=Math.max(s,n)}));var c=.02;return i/r>=c&&a/n>=c&&(n-s)/n>=c&&(r-o)/r>=c}function SK(){return BK.apply(this,arguments)}function BK(){return(BK=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c,u,l,d,f,p=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=p.length>0&&void 0!==p[0]?p[0]:{},r=t.canvas,n=t.paddingPercent,i=void 0===n?.04:n,a=r.width,o=r.height,s=Math.floor(a*i),c=Math.floor(o*i),u=a-2*s,l=o-2*c,d=document.createElement("canvas"),f=d.getContext("2d"),d.width=u,d.height=l,f.drawImage(r,s,c,u,l,0,0,u,l),e.abrupt("return",jB.isCardGlare(d));case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function TK(e){for(var t,r,n,i,a,o,s,c=e.length,u=0;u<c;u++){var l=(u+c-1)%c,d=(u+1)%c,f=(t=e[u].location,r=e[l].location,n=e[d].location,void 0,void 0,void 0,void 0,i={x:r.x-t.x,y:r.y-t.y},a={x:n.x-t.x,y:n.y-t.y},o=Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2)),s=Math.sqrt(Math.pow(a.x,2)+Math.pow(a.y,2)),180*Math.acos((i.x*a.x+i.y*a.y)/(o*s))/Math.PI);if(f<70||f>110)return!1}return!0}function AK(e){return IK.apply(this,arguments)}function IK(){return(IK=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.blazefaceModel,n=t.predictedIdCardCanvas,i=t.frontSide,a=n.width,o=n.height,s=Math.floor(a/3),c=Math.floor(4*o/5),u=document.createElement("canvas"),l=u.getContext("2d"),u.width=s,u.height=c,l.drawImage(n,0,Math.floor(o/5),s,c,0,0,s,c),e.next=12,MS.getModelPredictions({model:r,sCanvas:u});case 12:if(d=e.sent,f=d.filter((function(e){var t=e.topLeft,r=e.bottomRight,n=AD(e.probability,1)[0],i=e.landmarks;return!(n<.9||i.length<4||TS.rectAreaRatio({small:{coords:[t,r]},big:{coords:[[0,0],[MS.SIZE,MS.SIZE]]}})<.025)})),p=f.length,!i){e.next=22;break}if(0!==p){e.next=18;break}return e.abrupt("return",vK.id_detector_error_front_side_no_faces);case 18:if(!(p>1)){e.next=20;break}return e.abrupt("return",vK.id_detector_error_front_side_multiple_faces);case 20:e.next=24;break;case 22:if(!(p>0)){e.next=24;break}return e.abrupt("return",vK.id_detector_error_back_side_has_faces);case 24:return e.abrupt("return",null);case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var _K=function(e,t,r){return void 0===r&&(r=t,t=void 0),void 0!==r&&(r=(r=qU(r))==r?r:0),void 0!==t&&(t=(t=qU(t))==t?t:0),function(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}(qU(e),t,r)},xK="https://unpkg.com/@tsocial/tv_web_sdk_resources@1.0.0/libs/opencv.js";function PK(){return(PK=CD(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.url,n=void 0===r?xK:r,!window.cv){e.next=3;break}return e.abrupt("return",Promise.resolve());case 3:return e.next=5,aT.loadExternalScript({url:n});case 5:return e.abrupt("return",new Promise((function(e){window.cv.onRuntimeInitialized=e})));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var RK=rj((function(e){return PK.apply(this,arguments)})),NK="https://unpkg.com/@tsocial/tv_web_sdk_resources@1.0.0/models/id-card/tflite/qtf16_model_224x224.tflite",OK={0:"top-left",1:"top-right",2:"bottom-right",3:"bottom-left",4:"cccd.front",5:"passport",6:"cmnd_old.front",7:"cmnd_old.back",8:"cmnd_new.front",9:"cmnd_new.back",10:"cccd_new.front",11:"cccd_new.back"};function LK(e){var t,r,n,i,a,o=e.card,s=e.corners,c=o.box,u={x:(c[1]+c[3])/2,y:(c[0]+c[2])/2},l=c[2]-c[0],d=c[1]-c[3],f=function(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=_D(e))){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){throw e})),f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){s=!0,a=e})),f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(s);try{for(f.s();!(a=f.n()).done;){var p=a.value;switch(p.label){case"top-left":t||(t=p.location);break;case"top-right":r||(r=p.location);break;case"bottom-right":n||(n=p.location);break;case"bottom-left":i||(i=p.location)}}}catch(e){f.e(e)}finally{f.f()}if(![t,r,n,i].every(Boolean))return console.debug("Not qualified, corners missing"),!1;var h={x:(t.x+n.x)/2,y:(t.y+n.y)/2},g={x:(r.x+i.x)/2,y:(r.y+i.y)/2},m=bK(u,h),y=bK(u,g);return Math.sqrt(m)>(l+d)/8||Math.sqrt(y)>(l+d)/8?(console.debug("Not qualified, not close enough"),!1):(console.debug("Qualified"),!0)}var DK=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,n,i,a,o,s,c;return t=e,(r=[{key:"load",value:(c=CD(regeneratorRuntime.mark((function e(){var t,r,n,i=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},r=t.opencvUrl,n=t.modelUrl,e.next=3,Promise.all([RK({url:r}),this.loadModel({modelUrl:n})]);case 3:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"loadModel",value:(s=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:{},r=t.modelUrl,n=void 0===r?NK:r,e.next=3,vT.initTensorFlow({preferredBackends:["webgl","wasm","cpu"]});case 3:return e.next=5,vT.loadTFLiteModel({modelUrl:n});case 5:this.model=e.sent,i=this.model.inputs,this.inputSize=[i[0].shape[1],i[0].shape[2]];case 8:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"loadResource",value:(o=CD(regeneratorRuntime.mark((function e(){var t,r,n,i=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},r=t.modelUrl,n=void 0===r?NK:r,e.next=3,vT.preloadResource({modelUrl:n});case 3:case"end":return e.stop()}}),e)}))),function(){return o.apply(this,arguments)})},{key:"dispose",value:(a=CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.model&&this.model.dispose();case 1:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"predict",value:(i=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B,T,A,I,_=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=_.length>1&&void 0!==_[1]?_[1]:{},n=r.imgMargin,i=void 0===n?.5:n,a=r.detectThreshold,o=void 0===a?.3:a,s=r.maxNumReturns,c=void 0===s?100:s,u=window,l=u.cv,d={},f=t.width,p=t.height,d.originalWidth=f,d.originalHeight=p,h=wK({canvas:t,imgMargin:i}),g=h.margin,m=h.mat,y=AD(this.inputSize,2),v=y[0],b=y[1],C=new l.Mat,l.resize(m,C,new l.Size(v,b),0,0,l.INTER_AREA),w=m.cols/v,E=m.rows/b,(k=document.createElement("canvas")).width=v,k.height=b,k.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(C.data),C.cols,C.rows),0,0),m.delete(),C.delete(),d.canvas=k,d.margin=g,e.next=24,this.detect(k,{detectThreshold:o,maxNumReturns:c});case 24:if(S=e.sent,B={inputImage:d,card:null},T=[],A=[],S.forEach((function(e){var t=AD(e.box,4),r=t[0],n=t[1],i=t[2],a=t[3];e.clazz<=3?T.push({clazz:e.clazz,label:e.label,score:e.score,location:{x:_K(Math.floor((a+n)/2*w-g),0,f),y:_K(Math.floor((r+i)/2*E-g),0,p)},scaledLocation:{x:_K(Math.floor((a+n)/2),0,k.width),y:_K(Math.floor((r+i)/2),0,k.height)}}):A.push({label:e.label,score:e.score,box:[_K(Math.floor(r*E-g),0,p),_K(Math.floor(n*w-g),0,f),_K(Math.floor(i*E-g),0,p),_K(Math.floor(a*w-g),0,f)]})})),T.sort((function(e,t){return t.score-e.score})),A.sort((function(e,t){return t.score-e.score})),!(A.length>0)){e.next=40;break}if(LK({card:I=A[0],corners:T})){e.next=36;break}return console.debug("Not qualified.",I,T),e.abrupt("return",B);case 36:return T.sort((function(e,t){return e.clazz-t.clazz})),I.corners=T,B.card=I,e.abrupt("return",B);case 40:return e.abrupt("return",B);case 41:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"detect",value:(n=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B=this,T=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=T.length>1&&void 0!==T[1]?T[1]:{},n=r.detectThreshold,i=r.maxNumReturns,a=window,o=a.tf,s=t.width,c=t.height,u=o.tidy((function(){var e=o.expandDims(o.cast(o.image.resizeNearestNeighbor(o.browser.fromPixels(t),B.inputSize),"float32"));return B.model.predict(e)})),e.next=7,Promise.all([u["StatefulPartitionedCall:1"].data(),u["StatefulPartitionedCall:2"].data(),u["StatefulPartitionedCall:3"].array()]);case 7:for(l=e.sent,d=AD(l,3),f=d[0],p=d[1],h=AD(d[2],1),g=h[0],m=[],y=Math.min(f.length,i),v=0;v<y;v++)(b=f[v])>n&&(w=p[v],E=null!==(C=OK[Math.round(w)])&&void 0!==C?C:"NA",k=g[v],S=[k[0]*c,k[3]*s,k[2]*c,k[1]*s],m.push({score:b,clazz:w,box:S,label:E}));return e.abrupt("return",m);case 17:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,r),e}();function UK(e){return MK.apply(this,arguments)}function MK(){return(MK=CD(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.idCardModel,e.abrupt("return",new Promise((function(e,t){var n=document.createElement("canvas");setTimeout(t,1e3),r.predict(n).then(e)})));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function VK(e){return jK.apply(this,arguments)}function jK(){return(jK=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.idCardModel,n=!0,e.prev=2,i=performance.now(),e.next=6,UK({idCardModel:r});case 6:performance.now()-i>1e3&&(n=!1),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(2),n=!1;case 13:return e.abrupt("return",{fastEnough:n});case 14:case"end":return e.stop()}}),e,null,[[2,10]])})))).apply(this,arguments)}function FK(){return(FK=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c,u,l,d,f,p,h=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=h.length>0&&void 0!==h[0]?h[0]:{},r=t.opencvUrl,n=t.idCardModelUrl,i=t.blazefaceModelUrl,a=t.tfScriptUrls,"iOS"!==GD.osName||!GD.osVersion.includes("12.")){e.next=5;break}return e.next=4,RK({url:r});case 4:return e.abrupt("return",{ableToUseModel:!1});case 5:return e.next=7,vT.loadTensorFlow(a);case 7:return o=new DK,e.next=10,Promise.all([vT.loadBlazefaceModel({modelUrl:i}),o.load({opencvUrl:r,modelUrl:n})]);case 10:return s=e.sent,c=AD(s,1),u=c[0],l=!0,d=document.createElement("canvas"),e.prev=15,e.next=18,o.predict(d);case 18:return e.next=20,VK({idCardModel:o});case 20:f=e.sent,p=f.fastEnough,l=p,e.next=28;break;case 25:e.prev=25,e.t0=e.catch(15),l=!1;case 28:return e.abrupt("return",{ableToUseModel:l,idCardModel:o,blazefaceModel:u});case 29:case"end":return e.stop()}}),e,null,[[15,25]])})))).apply(this,arguments)}var zK=rj((function(){return FK.apply(this,arguments)})),KK=oC.Errors;function qK(e){var t=e.refVideo,r=e.shouldStart,n=e.cropArea,i=e.settings,a=oy.useRef(null);null===a.current&&(a.current=document.createElement("canvas"));var o=oy.useRef(!1),s=oy.useRef(DB.createResizer({width:960,height:640})),c=oy.useRef(null),u=oy.useRef([{id:null,frames:[]}]),l=oy.useCallback((function(){!0===o.current&&(o.current=!1)}),[]),d=oy.useCallback((function(){u.current=[{id:null,frames:[]}]}),[]),f=oy.useCallback((function(){var e=u.current;e[e.length-1].frames.length>0&&e.push({id:null,frames:[]})}),[]),p=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,a,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.workingCanvas,n=s.current,a=u.current,o=n.resize({srcCanvas:r}),c=o.toDataURL("image/jpeg",i.saveFrameQuality/100).split(",")[1],a[a.length-1].frames.push({base64:c});case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[i]),h=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var r,n,s,u,l,d,f,h,g,m,y;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i){e.next=2;break}return e.abrupt("return");case 2:if(r=i.frameCaptureIntervalMs,i.enableRecording){e.next=5;break}return e.abrupt("return");case 5:n=c.current,s=t.current,o.current=!0,u=n.cropX,l=n.cropY,d=n.cropWidth,f=n.cropHeight,(h=a.current).width=d,h.height=f,g=h.getContext("2d"),m=null;case 14:if(g.drawImage(s,u,l,d,f,0,0,d,f),!r){e.next=25;break}if(!((y=(new Date).getTime())-m>=r)){e.next=23;break}return e.next=22,p({workingCanvas:h});case 22:m=y;case 23:e.next=27;break;case 25:return e.next=27,p({workingCanvas:h});case 27:if(o.current){e.next=29;break}return e.abrupt("break",33);case 29:return e.next=31,Qk.sleep(15);case 31:e.next=14;break;case 33:case"end":return e.stop()}}),e)}))),[t,p,i]);return oy.useEffect((function(){var e=t.current;function i(){return(i=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return c.current=bS.analyzeVideoAndWindowSizes(e,n),t.next=3,h();case 3:case"end":return t.stop()}}),t)})))).apply(this,arguments)}return r&&n&&function(){i.apply(this,arguments)}(),function(){l()}}),[r,n,t,l,f,h]),{refWorkingCanvas:a,stopCheckFrame:l,splitVideos:f,resetRecordedVideos:d,checkFrame:h,refRecordedVideos:u}}var HK,GK,QK,WK=function(e){var t=e.lang,r=e.onAboutToTimeout,n=e.onSessionTimeout,i=e.onVideoTimeLimitReached,a=e.settings,o=e.shouldStartTimers,s=e.sessionTime,c=oy.useRef(),u=AD(oy.useState(0),2),l=u[0],d=u[1],f=oy.useCallback((function(){clearInterval(c.current)}),[]),p=oy.useCallback((function(){d((function(e){return e+1}))}),[]);return oy.useEffect((function(){if(o){var e=a.maxRecordingTimePerVideo,t=0,u=s/3;c.current=setInterval((function(){var a=s-(t+=1);a<=u&&r&&r({curTimeLeft:a}),t>0&&t%e==0&&i&&i(),0===a&&(f(),n&&n())}),1e3)}return function(){f()}}),[o,t,r,f,n,i,l,a,s]),{stopTimers:f,startTimers:p}},XK=function(e){var t=e.shouldStart,r=e.refVideo,n=e.cropArea,i=e.settings,a=e.onModelErrorChange,o=e.frontSide,s=e.onDebugInfoChange,c=e.onAboutToTimeout,u=e.onSessionTimeout,l=e.onCaptureDone,d=e.outputEncryptionSettings,f=e.quality,p=oy.useRef(!1),h=AD(oy.useState(!1),2),g=h[0],m=h[1],y=oy.useRef((function(){})),v=zk.useSDKTracking().sendEvent,b=oy.useRef(),C=oy.useRef(),w=oy.useRef(),E=lk.useSDKSettings(),k=E.debug,S=E.lang,B=E.enableAntiDebug;oy.useEffect((function(){B&&bT.enableAntiDebug()}),[B]);var T=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return v({tag:o?"id_front":"id_back",event:"sdk_ui.auto_capture",log:{}}),e.next=3,y.current(t);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[v,o]),A=oy.useCallback((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];a.apply(void 0,t);var n=$V(t,"0.code");n&&n!==b.current&&v({tag:o?"id_front":"id_back",event:"sdk_ui.show_alert",log:{alert:n}}),b.current=n}),[a,o,v]),I=function(e){var t=e.refVideo,r=e.shouldStart,n=e.cropArea,i=e.settings,a=e.onError,o=e.frontSide,s=e.onAutoCaptureSuccess,c=e.quality,u=oy.useRef(null);null===u.current&&(u.current=document.createElement("canvas"));var l=oy.useRef(!1),d=oy.useRef(null),f=AD(oy.useState(!1),2),p=f[0],h=f[1],g=oy.useRef({imageBlob:null,takenAt:null,blurScore:null,detectedCard:null}),m=oy.useRef({imageBlob:null,blurScore:null,error:null,detectedCard:null}),y=oy.useRef(!1),v=oy.useRef(!1),b=oy.useRef(null),C=oy.useRef(!1),w=oy.useRef({}),E=lk.useSDKSettings().customUrls;oy.useEffect((function(){var e=!1;function t(){return(t=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i||p){t.next=12;break}if(!i.enableIdDetection){t.next=8;break}return t.next=4,zK(E);case 4:w.current=t.sent,b.current=i.enableBlurCheck&&w.current.ableToUseModel,t.next=9;break;case 8:b.current=!1;case 9:if(!e){t.next=11;break}return t.abrupt("return");case 11:h(!0);case 12:case"end":return t.stop()}}),t)})))).apply(this,arguments)}return function(){t.apply(this,arguments)}(),function(){e=!0}}),[p,i,E]);var k=oy.useCallback((function(){!0===l.current&&(l.current=!1)}),[]),S=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.blurScore,n=t.detectedCard,a=i.blurThreshold,o=g.current,s=m.current,!(r<a&&yS.hasBetterCardBlurScore(r,o.blurScore))){e.next=15;break}if(!C.current){e.next=9;break}o.imageBlob=s.imageBlob,e.next=12;break;case 9:return e.next=11,bS.takePicture({canvas:u.current,quality:c});case 11:o.imageBlob=e.sent;case 12:o.takenAt=(new Date).getTime(),o.blurScore=r,o.detectedCard=n;case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[i,c]),B=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.blurScore,n=t.detectedCard,v.current=!0,i=m.current,!yS.hasBetterCardBlurScore(r,i.blurScore)){e.next=10;break}return e.next=6,bS.takePicture({canvas:u.current,quality:c});case 6:i.imageBlob=e.sent,i.blurScore=r,i.detectedCard=n,C.current=!0;case 10:v.current=!1;case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[c]),T=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=i.waitForBestImageTimeMs,null===(r=g.current).imageBlob){e.next=8;break}if(!((new Date).getTime()-r.takenAt>t)){e.next=8;break}return e.next=7,s(r);case 7:k();case 8:case"end":return e.stop()}}),e)}))),[s,i,k]),A=oy.useCallback((function(){y.current=!0}),[]),I=oy.useCallback((function(){return new Promise((function(e){y.current=!1;var t=setInterval((function(){v.current||(clearInterval(t),e())}),150)}))}),[]),_=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){var t=i.blurThreshold,r=m.current;b.current?(A(),setTimeout((function(){I().then((function(){yS.hasBetterCardBlurScore(r.blurScore,t)||(r.error=KK.id_detector_error_blur),null===r.imageBlob?bS.takePicture({canvas:u.current,quality:c}).then((function(t){r.imageBlob=t,e(r)})):e(r)}))}),2e3)):bS.takePicture({canvas:u.current,quality:c}).then((function(t){r.imageBlob=t,e(r)}))})));case 1:case"end":return e.stop()}}),e)}))),[i,A,I,c]),x=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var r,n,s,c,f,h,v,b,E,k,A,I,_,x,P,R,N,O,L,D,U,M,V,j,F;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i&&p&&!l.current){e.next=2;break}return e.abrupt("return");case 2:g.current={imageBlob:null,takenAt:null,blurScore:null,detectedCard:null},m.current={imageBlob:null,blurScore:null,error:null,detectedCard:null},r=i.enableAutoCapture,n=i.enableBlurCheck,s=i.enableIdDetection,c=w.current,f=c.idCardModel,h=c.blazefaceModel,v=c.ableToUseModel,b=d.current,E=t.current,l.current=!0,k=b.cropX,A=b.cropY,I=b.cropWidth,_=b.cropHeight,x=b.cropWidthWithoutPadding,P=b.cropHeightWithoutPadding,(R=u.current).width=I,R.height=_,N=R.getContext("2d"),O=document.createElement("canvas"),L=O.getContext("2d"),D=s&&v?15:700;case 17:if(N.drawImage(E,k,A,I,_,0,0,I,_),C.current=!1,!s||!v){e.next=74;break}return U=null,e.next=24,f.predict(R,{detectThreshold:.3});case 24:if(!(M=e.sent).card){e.next=70;break}if(!kK({corners:M.card.corners,width:I,height:_})){e.next=67;break}if(!TK(M.card.corners)){e.next=64;break}if(V=EK(R,M.card.corners),!((j=TS.rectAreaRatio({small:{area:V.width*V.height},big:{area:x*P}}))<.5)){e.next=36;break}U=KK.id_detector_card_too_small,e.next=62;break;case 36:if(!(j>.95)){e.next=40;break}U=KK.id_detector_error_incomplete,e.next=62;break;case 40:return O.width=V.width,O.height=V.height,L.putImageData(V,0,0),e.next=45,SK({canvas:O});case 45:if(!e.sent){e.next=50;break}U=KK.glare_detected,e.next=62;break;case 50:return e.next=52,AK({blazefaceModel:h,predictedIdCardCanvas:O,frontSide:o});case 52:if(U=e.sent){e.next=62;break}if(!n){e.next=62;break}if(F=yS.calculateIdCardBlurScore({canvas:O}),!y.current){e.next=59;break}return e.next=59,B({blurScore:F,detectedCard:M.card});case 59:if(!r){e.next=62;break}return e.next=62,S({blurScore:F,detectedCard:M.card});case 62:e.next=65;break;case 64:U=KK.id_detector_validate_angle_error;case 65:e.next=68;break;case 67:U=KK.id_detector_error_incomplete;case 68:e.next=71;break;case 70:U=KK.id_detector_no_cards;case 71:return a(U),e.next=74,T();case 74:if(l.current){e.next=76;break}return e.abrupt("break",80);case 76:return e.next=78,Qk.sleep(D);case 78:e.next=17;break;case 80:case"end":return e.stop()}}),e)}))),[t,i,p,o,a,S,B,T]);oy.useEffect((function(){var e=t.current;function i(){return(i=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return d.current=bS.analyzeVideoAndWindowSizes(e,n,.05),t.next=3,x();case 3:case"end":return t.stop()}}),t)})))).apply(this,arguments)}r&&n&&p&&function(){i.apply(this,arguments)}()}),[r,n,t,k,x,p]);var P=oy.useCallback((function(){k()}),[k]);return oy.useEffect((function(){return P}),[P]),{refWorkingCanvas:u,stopCheckFrame:k,checkFrame:x,warmupDone:p,takePictureManually:_,refAbleToRunBurstMode:b}}({refVideo:r,shouldStart:t,cropArea:n,settings:i,onError:A,frontSide:o,onAutoCaptureSuccess:T,quality:f}),_=I.refWorkingCanvas,x=I.stopCheckFrame,P=I.checkFrame,R=I.warmupDone,N=I.takePictureManually,O=I.refAbleToRunBurstMode,L=qK({refVideo:r,shouldStart:t&&R,cropArea:n,settings:i}),D=L.stopCheckFrame,U=L.splitVideos,M=L.resetRecordedVideos,V=L.checkFrame,j=L.refRecordedVideos;!function(e){var t=e.debug,r=e.refRecordedVideos,n=e.refWorkingCanvas,i=e.refVideo,a=e.onChange;oy.useEffect((function(){var e;return t&&(e=setInterval((function(){var e=i.current,t=r.current,o=n.current,s=t[t.length-1],c={videoWidth:e.videoWidth,videoHeight:e.videoHeight,framesCount:s.frames.length,"window.innerWidth":window.innerWidth,"window.innerHeight":window.innerHeight,"canvas.width":null==o?void 0:o.width,"canvas.height":null==o?void 0:o.height};a&&a(JSON.stringify(c,null,2))}),1e3)),function(){return clearInterval(e)}}),[a,t,r,n,i])}({debug:k,refRecordedVideos:j,refWorkingCanvas:_,refVideo:r,onChange:s});var F=oy.useCallback((function(){D(),x(),M(),u()}),[M,D,x,u]),z=oy.useCallback((function(){U()}),[U]),K=WK({lang:S,onAboutToTimeout:c,onSessionTimeout:F,onVideoTimeLimitReached:z,settings:i,shouldStartTimers:R&&t&&(null==i?void 0:i.enableTimers),sessionTime:null==i?void 0:i.idCardSessionTime}),q=K.stopTimers,H=K.startTimers,G=oy.useCallback((function(){p.current=!1}),[]),Q=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return G(),H(),e.next=4,Promise.all([V(),P()]);case 4:case"end":return e.stop()}}),e)}))),[V,P,H,G]),W=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,s,c=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=c.length>0&&void 0!==c[0]?c[0]:{},r=t.imageBlob,n=t.error,i=t.detectedCard,!p.current){e.next=3;break}return e.abrupt("return");case 3:if(p.current=!0,m(!0),D(),x(),q(),A(null),!d||!d.key){e.next=14;break}return s=d.key,e.next=13,ET.encrypt({blob:r,key:s});case 13:a=e.sent;case 14:l({image:{blob:r,encrypted:a,detectedCard:i},error:n,recordedVideos:j.current}),m(!1),v({tag:o?"id_front":"id_back",event:"user_activity",log:{time_capture_in_seconds:(performance.now()-w.current)/1e3}});case 17:case"end":return e.stop()}}),e)}))),[D,x,q,A,l,j,o,v,d]);y.current=W;var X=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return m(!0),q(),D(),O.current||x(),e.next=6,N();case 6:return t=e.sent,e.next=9,W(t);case 9:m(!1),v({tag:o?"id_front":"id_back",event:"user_activity.capture",log:{}});case 11:case"end":return e.stop()}}),e)}))),[N,W,q,O,D,x,v,o]);return oy.useEffect((function(){t&&(v({tag:o?"id_front":"id_back",event:"user_activity.start",log:{}}),C.current=performance.now())}),[v,o,t]),oy.useEffect((function(){R&&(v({tag:o?"id_front":"id_back",event:"user_activity.show",log:{}}),v({tag:o?"id_front":"id_back",event:"sdk.load_model",log:{status:"success",time_in_ms:performance.now()-C.current}}),w.current=performance.now())}),[v,o,R]),{warmupDone:R,isProcessing:g,takePictureManually:X,restartSession:Q,resetIsProcessingImageBlobTaken:G}},YK=oC.IDCardMessage,$K=oy.forwardRef((function(e,t){var r=e.description,n=e.usePortraitMask,i=e.windowAndVideoInfo,a=e.refVideo,o=e.frontSide,s=e.settings,c=e.onCaptureDone,u=e.onUISpacingChange,l=e.outputEncryptionSettings,d=AD(oy.useState({}),2),f=d[0],p=d[1],h=f.yDescription,g=f.yMessage,m=f.yCaptureButton,y=Hk.useAsset("ic_camera.svg"),v=Hk.useAsset("ic_loading.png"),b=AD(oy.useState(""),2),C=b[0],w=b[1],E=lk.useSDKSettings(),k=E.debug,S=E.lang,B=AD(oy.useState(null),2),T=B[0],A=B[1],I=AD(oy.useState(""),2),_=I[0],x=I[1],P=AD(oy.useState(null),2),R=P[0],N=P[1],O=pK(),L=O.showPopup,D=O.popupShown,U=O.popupType,M=oy.useCallback((function(e){x(null===e?"":IV(e.msg[S])({side:o?sK.FRONT[S]:sK.BACK[S]}))}),[S,o]),V=oy.useCallback((function(){A(""),L({popupType:hK})}),[L]),j=oy.useCallback((function(){A(""),c.apply(void 0,arguments)}),[c]),F=oy.useCallback((function(e){var t=e.curTimeLeft;A(IV(YK.REMAINING_TIME[S])({x:t}))}),[S]),z=XK({shouldStart:!0,refVideo:a,cropArea:R,settings:s,onModelErrorChange:M,frontSide:o,onDebugInfoChange:w,onSessionTimeout:V,onCaptureDone:j,onAboutToTimeout:F,outputEncryptionSettings:l}),K=z.warmupDone,q=z.isProcessing,H=z.takePictureManually,G=z.restartSession,Q=z.resetIsProcessingImageBlobTaken,W=oy.useCallback((function(){L({popupType:null}),Q()}),[L,Q]),X=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return W(),e.next=3,G();case 3:case"end":return e.stop()}}),e)}))),[G,W]);oy.useEffect((function(){if(i){var e,t,r,a,o,s,c,l=i.videoAreaWidth,d=i.videoAreaHeight,f=i.lostX,h=i.lostY,g=i.clientHeight;n?(o=.7*(s=d-165),r=(c=(e=h+10)+45)+20,a=(t=c+s+10)+60):(o=GD.isMobile?l-6:Math.floor(.7*l),r=(c=(e=h+10)+50)+20,a=(t=c+(s=Math.floor(Math.min(o/1.5,g-2*h-80-100)))+10)+60);var m=Math.floor((l-o)/2)+f;N({x:m,y:c,width:o,height:s,surroundStyle:{opacity:.6,background:"#000"}});var y={yTitle:e,yDescription:t,yMessage:r,yCaptureButton:a};p(y),u(y)}}),[i,n,u]);var Y=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A(""),e.next=3,H();case 3:case"end":return e.stop()}}),e)}))),[H]);return oy.useImperativeHandle(t,(function(){return{restartSession:X}}),[X]),oy.createElement(oy.Fragment,null,!K&&oy.createElement(gF,null),k&&oy.createElement(rK,null,C),q&&oy.createElement($z,null,oy.createElement("img",{src:v,alt:"",className:"spin"})),R&&oy.createElement(wU,{x:"".concat(R.x,"px"),y:"".concat(R.y,"px"),width:"".concat(R.width,"px"),height:"".concat(R.height,"px"),surroundStyle:R.surroundStyle},oy.createElement(oK,{width:R.width,height:R.height,type:_?fz.ERROR:fz.DEFAULT})),!_&&oy.createElement(nK,{y:"".concat(h,"px"),className:"description"},r),_&&oy.createElement(iK,{y:"".concat(h,"px")},_),!q&&(!(null!=s&&s.disableCaptureButtonIfAlert)||!_)&&oy.createElement(Yz,{onClick:Y,y:"".concat(m,"px")},oy.createElement("img",{src:y,alt:""})),T&&oy.createElement(aK,{key:T,className:"message",y:"".concat(g,"px")},T),oy.createElement(Yj,{open:D},U===hK&&oy.createElement(fK,{onOk:X,maxSessionTime:null==s?void 0:s.idCardSessionTime})))}));$K.propTypes={usePortraitMask:Py.bool,description:Py.string,windowAndVideoInfo:Py.shape({}),refVideo:Py.shape({}),frontSide:Py.bool,settings:Py.shape({}),onCaptureDone:Py.func,onUISpacingChange:Py.func,outputEncryptionSettings:Py.shape({})},$K.defaultProps={usePortraitMask:!1,description:"",windowAndVideoInfo:{},refVideo:{},frontSide:!0,settings:{},onCaptureDone:function(){},onUISpacingChange:function(){},outputEncryptionSettings:null};var ZK,JK,eq=eC.div(HK||(HK=TD(["\n background: ",";\n backdrop-filter: blur(12px);\n border-radius: 8px;\n top: ",";\n position: absolute;\n z-index: ",";\n color: #fff;\n padding: 10px;\n margin: 0 10px;\n max-width: 275px;\n text-align: center;\n"])),(function(e){return e.background}),(function(e){return e.y}),1020),tq=eC.div(GK||(GK=TD(["\n width: 0;\n height: 0;\n border-left: 20px solid transparent;\n border-right: 20px solid transparent;\n border-bottom: ",";\n position: absolute;\n left: 50%;\n top: ",";\n transform: translateX(-50%);\n"])),(function(e){return"".concat(e.arrowSize,"px solid ").concat(e.color)}),(function(e){return"".concat(e.top,"px")})),rq=function(e){var t=e.children,r=e.y;return oy.createElement(eq,{y:r,background:"#00ce78"},oy.createElement(tq,{arrowSize:10,top:-10,color:"#00ce78"}),t)},nq=eC.div(QK||(QK=TD(["\n text-align: center;\n position: absolute;\n font-size: 18px;\n border-radius: 3px;\n padding: 5px 10px;\n background: #ea3223;\n color: #fff;\n margin: auto;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),iq={QR_INSTRUCTIONS_TEXT:{en:oy.createElement("span",null,"Please follow the instructions below to scan QR code:",oy.createElement("br",null),oy.createElement("br",null)," Move camera to the position of QR code on ID card. Align QR code to fit into camera frame to scan it"),vi:oy.createElement("span",null,"Vui lòng quét mã QR theo hướng dẫn sau:",oy.createElement("br",null),oy.createElement("br",null)," Đưa camera vào vị trí mã QR trên CCCD. Canh vừa mã QR vào 4 góc khung hình để quét mã")},QR_INSTRUCTIONS_START_BUTTON:{en:"Scan QR code",vi:"Tiến hành quét mã QR"},QR_INSTRUCTIONS_COUNTDOWN:{en:"Start in <%= x %> s",vi:"Bắt đầu trong <%= x %> giây"},QR_INVALID_POPUP_TITLE:{en:"Invalid QR code",vi:"QR không hợp lệ"},QR_INVALID_POPUP_DESCRIPTION:{en:"Please check and make sure scanning QR code on ID card",vi:"Vui lòng kiểm tra và đảm bảo việc thực hiện quét QR trên CCCD thật"},QR_INVALID_POPUP_RETRY_BUTTON:{en:"Scan QR (on ID card)",vi:"Quét lại QR (trên CCCD)"},QR_INVALID_POPUP_SKIP_BUTTON:{en:"Skip",vi:"Bỏ qua"},QR_TOOLTIP:{en:"Fit QR code to 4 corners of camera frame and try to move camera [in or out] to scan QR code",vi:"Canh vừa mã QR vào 4 góc khung hình và thử dịch chuyển camera [xa - gần] để quét được mã QR"},REMAINING_TIME:{en:"Remaining time: <%= x %> seconds",vi:"Thời gian còn lại: <%= x %> giây"},SESSION_TIMEOUT_POPUP_DESCRIPTION:{en:oy.createElement("span",null,"Quá thời gian quét. Vui lòng thực hiện lại.",oy.createElement("br",null),oy.createElement("br",null)," Đưa camera vào vị trí mã QR trên thẻ. Canh vừa vào 4 góc và"," ",oy.createElement("strong",{className:"text-primary"},"thử dịch chuyển camera [xa - gần]")," để camera điện thoại lấy nét chuẩn hơn."),vi:oy.createElement("span",null,"Quá thời gian quét. Vui lòng thực hiện lại.",oy.createElement("br",null),oy.createElement("br",null)," Đưa camera vào vị trí mã QR trên thẻ. Canh vừa vào 4 góc và"," ",oy.createElement("strong",{className:"text-primary"},"thử dịch chuyển camera [xa - gần]")," để camera điện thoại lấy nét chuẩn hơn.")},SESSION_TIMEOUT_POPUP_RETRY_BUTTON:{en:"Retry",vi:"Thực hiện lại"},SESSION_TIMEOUT_POPUP_SKIP_BUTTON:{en:"Skip",vi:"Bỏ qua"}},aq=function(e){var t=e.children,r=e.mt,n=e.mb,i=e.ml,a=e.mr,o=e.mx,s=e.my,c=e.pt,u=e.pb,l=e.pl,d=e.pr,f=e.px,p=e.py,h=t.props.style||{},g={};return null!==o&&(g.marginLeft=o,g.marginRight=o),null!==s&&(g.marginTop=s,g.marginBottom=s),null!==r&&(g.marginTop=r),null!==n&&(g.marginBottom=n),null!==i&&(g.marginLeft=i),null!==a&&(g.marginRight=a),null!==f&&(g.paddingLeft=f,g.paddingRight=f),null!==p&&(g.paddingTop=p,g.paddingBottom=p),null!==c&&(g.paddingTop=c),null!==u&&(g.paddingBottom=u),null!==l&&(g.paddingLeft=l),null!==d&&(g.paddingRight=d),oy.cloneElement(t,{style:SD(SD({},h),g)})};aq.propTypes={mt:Py.string,ml:Py.string,mr:Py.string,mb:Py.string,mx:Py.string,my:Py.string,pt:Py.string,pl:Py.string,pr:Py.string,pb:Py.string,px:Py.string,py:Py.string},aq.defaultProps={mt:null,ml:null,mr:null,mb:null,mx:null,my:null,pt:null,pl:null,pr:null,pb:null,px:null,py:null};var oq,sq,cq,uq,lq,dq,fq=eC.button(ZK||(ZK=TD(["\n width: 100%;\n max-width: 294px;\n height: 66px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 3px;\n color: #fff;\n font-weight: normal;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.tsBlue})),pq=eC.a(JK||(JK=TD(["\n color: ",";\n cursor: pointer;\n"])),(function(e){return e.theme.tsBlue})),hq=eC.div(oq||(oq=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),gq=eC.div(sq||(sq=TD(["\n color: ",";\n font-weight: bold;\n font-size: 16px;\n"])),(function(e){return e.theme.tsSecondary})),mq=eC.div(cq||(cq=TD(["\n color: ",";\n font-weight: normal;\n font-size: 16px;\n text-align: center;\n"])),(function(e){return e.theme.tsSecondary})),yq=function(e){var t=e.onRetry,r=e.onSkip,n=lk.useSDKSettings().lang;return oy.createElement(hq,null,oy.createElement(aq,{mt:"25px"},oy.createElement(gq,null,iq.QR_INVALID_POPUP_TITLE[n])),oy.createElement(aq,{mt:"30px"},oy.createElement(mq,null,iq.QR_INVALID_POPUP_DESCRIPTION[n])),oy.createElement(aq,{mt:"30px"},oy.createElement(fq,{onClick:t},iq.QR_INVALID_POPUP_RETRY_BUTTON[n])),oy.createElement(aq,{my:"20px"},oy.createElement(pq,{onClick:r},iq.QR_INVALID_POPUP_SKIP_BUTTON[n])))};yq.propTypes={onRetry:Py.func,onSkip:Py.func},yq.defaultProps={onRetry:function(){},onSkip:function(){}};var vq=eC.div(uq||(uq=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),bq=eC.div(lq||(lq=TD(["\n background: #e7e6e6;\n width: 100%;\n display: flex;\n justify-content: center;\n"]))),Cq=eC.div(dq||(dq=TD(["\n color: ",";\n font-weight: normal;\n font-size: 16px;\n text-align: center;\n line-height: 20px;\n"])),(function(e){return e.theme.tsSecondary})),wq=function(e){var t=e.onRetry,r=e.onSkip,n=lk.useSDKSettings().lang,i=Hk.useAsset("qr_code_banner.svg");return oy.createElement(vq,null,oy.createElement(bq,null,oy.createElement("img",{src:i,alt:""})),oy.createElement(aq,{mt:"30px"},oy.createElement(Cq,null,iq.SESSION_TIMEOUT_POPUP_DESCRIPTION[n])),oy.createElement(aq,{mt:"30px"},oy.createElement(fq,{onClick:t},iq.SESSION_TIMEOUT_POPUP_RETRY_BUTTON[n])),oy.createElement(aq,{my:"20px"},oy.createElement(pq,{onClick:r},iq.SESSION_TIMEOUT_POPUP_SKIP_BUTTON[n])))};wq.propTypes={onRetry:Py.func,onSkip:Py.func},wq.defaultProps={onRetry:function(){},onSkip:function(){}};var Eq,kq,Sq,Bq,Tq,Aq,Iq=["children","ratio","padding"],_q=eC.div(Eq||(Eq=TD(["\n width: 100%;\n padding-bottom: ","%;\n position: relative;\n"])),(function(e){return 1/e.ratio*100})),xq=eC.div(kq||(kq=TD(["\n position: absolute;\n top: ",";\n left: ",";\n right: ",";\n bottom: ",";\n"])),(function(e){return e.padding}),(function(e){return e.padding}),(function(e){return e.padding}),(function(e){return e.padding})),Pq=function(e){var t=e.children,r=e.ratio,n=e.padding,i=BD(e,Iq);return oy.createElement(_q,ED({ratio:r},i),oy.createElement(xq,{padding:n},t))};Pq.propTypes={children:Py.node,ratio:Py.number,padding:Py.string},Pq.defaultProps={children:null,ratio:4/3,padding:"0"};var Rq=eC.div(Sq||(Sq=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),Nq=eC.div(Bq||(Bq=TD(["\n background: #e7e6e6;\n width: 100%;\n"]))),Oq=eC.img(Tq||(Tq=TD(["\n width: 100%;\n height: 100%;\n object-fit: contain;\n border-radius: 5px;\n"]))),Lq=eC.div(Aq||(Aq=TD(["\n color: ",";\n font-weight: normal;\n font-size: 16px;\n text-align: center;\n line-height: 20px;\n"])),(function(e){return e.theme.tsSecondary})),Dq=function(e){var t=e.onClickStart,r=e.onTimeout,n=e.timeout,i=lk.useSDKSettings().lang,a=Hk.useAsset("qr_code_banner.png"),o=oy.useRef(n),s=AD(oy.useState((function(){return IV(iq.QR_INSTRUCTIONS_COUNTDOWN[i])({x:n})})),2),c=s[0],u=s[1];return oy.useEffect((function(){var e=IV(iq.QR_INSTRUCTIONS_COUNTDOWN[i]),t=setInterval((function(){o.current--,u(e({x:o.current})),o.current<=0&&(clearInterval(t),r&&r())}),1e3);return function(){clearInterval(t)}}),[i,r]),oy.createElement(Rq,null,oy.createElement(Nq,null,oy.createElement(Pq,{ratio:1.6},oy.createElement(Oq,{src:a}))),oy.createElement(aq,{mt:"30px"},oy.createElement(Lq,null,iq.QR_INSTRUCTIONS_TEXT[i])),oy.createElement(aq,{mt:"30px"},oy.createElement(fq,{onClick:t},iq.QR_INSTRUCTIONS_START_BUTTON[i])),oy.createElement(aq,{my:"20px"},oy.createElement(Lq,null,c)))};Dq.propTypes={onClickStart:Py.func,onTimeout:Py.func,timeout:Py.number},Dq.defaultProps={onClickStart:null,onTimeout:null,timeout:10};var Uq=/^\d{12}\|(\d{9})?\|.+\|\d{8}\|((Nam)|(Nữ))\|.+\|\d{8}$/g,Mq=function(e){var t=e.match(Uq);return{valid:Boolean(t)}},Vq=function(){function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._onDecodeError,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this._calculateScanRegion,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"environment";em(this,t),this.$video=e,this.$canvas=document.createElement("canvas"),this._onDecode=r,this._legacyCanvasSize=t.DEFAULT_CANVAS_SIZE,this._preferredCamera=a,this._active=!1,this._paused=!1,this._flashOn=!1,"number"==typeof n?(this._legacyCanvasSize=n,console.warn("You're using a deprecated version of the QrScanner constructor which will be removed in the future")):this._onDecodeError=n,"number"==typeof i?(this._legacyCanvasSize=i,console.warn("You're using a deprecated version of the QrScanner constructor which will be removed in the future")):this._calculateScanRegion=i,this._scanRegion=this._calculateScanRegion(e),this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;var o=!1;e.hidden&&(e.hidden=!1,o=!0),document.body.contains(e)||(document.body.appendChild(e),o=!0),requestAnimationFrame((function(){var t=window.getComputedStyle(e);"none"===t.display&&(e.style.setProperty("display","block","important"),o=!0),"visible"!==t.visibility&&(e.style.setProperty("visibility","visible","important"),o=!0),o&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity=0,e.style.width=0,e.style.height=0)})),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),this._qrEnginePromise=t.createQrEngine()}return rm(t,[{key:"hasFlash",value:function(){var e=null;return(this.$video.srcObject?Promise.resolve(this.$video.srcObject.getVideoTracks()[0]):this._getCameraStream().then((function(t){var r=t.stream;return console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),e=r,r.getVideoTracks()[0]}))).then((function(e){return"torch"in e.getSettings()})).catch((function(){return!1})).finally((function(){if(e){var t,r=mm(e.getTracks());try{for(r.s();!(t=r.n()).done;){var n=t.value;n.stop(),e.removeTrack(n)}}catch(e){r.e(e)}finally{r.f()}}}))}},{key:"isFlashOn",value:function(){return this._flashOn}},{key:"toggleFlash",value:function(){return this._flashOn?this.turnFlashOff():this.turnFlashOn()}},{key:"turnFlashOn",value:function(){var t=this;return this._flashOn?Promise.resolve():(this._flashOn=!0,!this._active||this._paused?Promise.resolve():this.hasFlash().then((function(e){return e?t.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]}):Promise.reject("No flash available")})).catch((function(){throw t._flashOn=!1,e})))}},{key:"turnFlashOff",value:function(){if(this._flashOn)return this._flashOn=!1,this._restartVideoStream()}},{key:"destroy",value:function(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),this.stop(),t._postWorkerMessage(this._qrEnginePromise,"close")}},{key:"start",value:function(){var e=this;return this._active&&!this._paused?Promise.resolve():("https:"!==window.location.protocol&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,document.hidden?Promise.resolve():(this._paused=!1,this.$video.srcObject?(this.$video.play(),Promise.resolve()):this._getCameraStream().then((function(t){var r=t.stream,n=t.facingMode;e.$video.srcObject=r,e.$video.play(),e._setVideoMirror(n),e._flashOn&&(e._flashOn=!1,e.turnFlashOn().catch((function(){})))})).catch((function(t){throw e._active=!1,t}))))}},{key:"stop",value:function(){this.pause(),this._active=!1}},{key:"pause",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this._paused=!0,!this._active)return Promise.resolve(!0);this.$video.pause();var r=function(){var t,r=mm(e.$video.srcObject?e.$video.srcObject.getTracks():[]);try{for(r.s();!(t=r.n()).done;){var n=t.value;n.stop(),e.$video.srcObject.removeTrack(n)}}catch(e){r.e(e)}finally{r.f()}e.$video.srcObject=null};return t?(r(),Promise.resolve(!0)):new Promise((function(e){return setTimeout(e,300)})).then((function(){return!!e._paused&&(r(),!0)}))}},{key:"setCamera",value:function(e){return e===this._preferredCamera?Promise.resolve():(this._preferredCamera=e,this._restartVideoStream())}},{key:"setGrayscaleWeights",value:function(e,r,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];t._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:r,blue:n,useIntegerApproximation:i})}},{key:"setInversionMode",value:function(e){t._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}},{key:"_onPlay",value:function(){this._scanRegion=this._calculateScanRegion(this.$video),this._scanFrame()}},{key:"_onLoadedMetaData",value:function(){this._scanRegion=this._calculateScanRegion(this.$video)}},{key:"_onVisibilityChange",value:function(){document.hidden?this.pause():this._active&&this.start()}},{key:"_calculateScanRegion",value:function(e){var t=Math.min(e.videoWidth,e.videoHeight),r=Math.round(2/3*t);return{x:Math.round((e.videoWidth-r)/2),y:Math.round((e.videoHeight-r)/2),width:r,height:r,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}},{key:"_scanFrame",value:function(){var e=this;if(!this._active||this.$video.paused||this.$video.ended)return!1;requestAnimationFrame((function(){e.$video.readyState<=1?e._scanFrame():e._qrEnginePromise.then((function(r){return t.scanImage(e.$video,e._scanRegion,r,e.$canvas)})).then(e._onDecode,(function(r){e._active&&(-1!==(r.message||r).indexOf("service unavailable")&&(e._qrEnginePromise=t.createQrEngine()),e._onDecodeError(r))})).then((function(){return e._scanFrame()}))}))}},{key:"_onDecodeError",value:function(e){e!==t.NO_QR_CODE_FOUND&&console.log(e)}},{key:"_getCameraStream",value:function(){var e=this;if(!navigator.mediaDevices)return Promise.reject("Camera not found.");var t="environment"===this._preferredCamera||"user"===this._preferredCamera?"facingMode":"deviceId",r=[{width:{min:1024}},{width:{min:768}},{}];return[].concat(pm(r.map((function(r){return Object.assign({},r,nm({},t,{exact:e._preferredCamera}))}))),r).reduceRight((function(t,r){return function(){return navigator.mediaDevices.getUserMedia({video:r,audio:!1}).then((function(t){return{stream:t,facingMode:e._getFacingMode(t)||(r.facingMode?e._preferredCamera:"environment"===e._preferredCamera?"user":"environment")}})).catch(t)}}),(function(){return Promise.reject("Camera not found.")}))()}},{key:"_restartVideoStream",value:function(){var e=this,t=this._paused;return this.pause(!0).then((function(r){if(r&&!t&&e._active)return e.start()}))}},{key:"_setVideoMirror",value:function(e){var t="user"===e?-1:1;this.$video.style.transform="scaleX("+t+")"}},{key:"_getFacingMode",value:function(e){var t=e.getVideoTracks()[0];return t?/rear|back|environment/i.test(t.label)?"environment":/front|user|face/i.test(t.label)?"user":null:null}}],[{key:"hasCamera",value:function(){return t.listCameras(!1).then((function(e){return!!e.length})).catch((function(){return!1}))}},{key:"listCameras",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!navigator.mediaDevices)return Promise.resolve([]);var t=null;return(e?navigator.mediaDevices.getUserMedia({audio:!1,video:!0}).then((function(e){return t=e})).catch((function(){})):Promise.resolve()).then((function(){return navigator.mediaDevices.enumerateDevices()})).then((function(e){return e.filter((function(e){return"videoinput"===e.kind})).map((function(e,t){return{id:e.deviceId,label:e.label||(0===t?"Default Camera":"Camera ".concat(t+1))}}))})).finally((function(){if(t){var e,r=mm(t.getTracks());try{for(r.s();!(e=r.n()).done;){var n=e.value;n.stop(),t.removeTrack(n)}}catch(e){r.e(e)}finally{r.f()}}}))}},{key:"scanImage",value:function(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=arguments.length>5&&void 0!==arguments[5]&&arguments[5],c=i instanceof Worker,u=Promise.all([i||t.createQrEngine(),t._loadImage(e)]).then((function(e){var s,u,l=fm(e,2),d=l[0],f=l[1];return i=d,s=fm(r._drawToCanvas(f,n,a,o),2),a=s[0],u=s[1],i instanceof Worker?(c||i.postMessage({type:"inversionMode",data:"both"}),new Promise((function(e,r){var n,o,s;o=function(a){"qrResult"===a.data.type&&(i.removeEventListener("message",o),i.removeEventListener("error",s),clearTimeout(n),null!==a.data.data?e(a.data.data):r(t.NO_QR_CODE_FOUND))},s=function(e){i.removeEventListener("message",o),i.removeEventListener("error",s),clearTimeout(n);var t=e?e.message||e:"Unknown Error";r("Scanner error: "+t)},i.addEventListener("message",o),i.addEventListener("error",s),n=setTimeout((function(){return s("timeout")}),1e4);var c=u.getImageData(0,0,a.width,a.height);i.postMessage({type:"decode",data:c},[c.data.buffer])}))):new Promise((function(e,r){var n=setTimeout((function(){return r("Scanner error: timeout")}),1e4);i.detect(a).then((function(n){n.length?e(n[0].rawValue):r(t.NO_QR_CODE_FOUND)})).catch((function(e){return r("Scanner error: "+(e.message||e))})).finally((function(){return clearTimeout(n)}))}))}));return n&&s&&(u=u.catch((function(){return t.scanImage(e,null,i,a,o)}))),u=u.finally((function(){c||t._postWorkerMessage(i,"close")}))}},{key:"createQrEngine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.WORKER_PATH;return("BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats?BarcodeDetector.getSupportedFormats():Promise.resolve([])).then((function(t){return-1!==t.indexOf("qr_code")?new BarcodeDetector({formats:["qr_code"]}):new Worker(e)}))}},{key:"_drawToCanvas",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];r=r||document.createElement("canvas");var i=t&&t.x?t.x:0,a=t&&t.y?t.y:0,o=t&&t.width?t.width:e.width||e.videoWidth,s=t&&t.height?t.height:e.height||e.videoHeight;if(!n){var c=t&&t.downScaledWidth?t.downScaledWidth:o,u=t&&t.downScaledHeight?t.downScaledHeight:s;r.width!==c&&(r.width=c),r.height!==u&&(r.height=u)}var l=r.getContext("2d",{alpha:!1});return l.imageSmoothingEnabled=!1,l.drawImage(e,i,a,o,s,0,0,r.width,r.height),[r,l]}},{key:"_loadImage",value:function(e){if(e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||window.ImageBitmap&&e instanceof window.ImageBitmap||window.OffscreenCanvas&&e instanceof window.OffscreenCanvas)return Promise.resolve(e);if(e instanceof Image)return t._awaitImageLoad(e).then((function(){return e}));if(e instanceof File||e instanceof Blob||e instanceof URL||"string"==typeof e){var r=new Image;return e instanceof File||e instanceof Blob?r.src=URL.createObjectURL(e):r.src=e,t._awaitImageLoad(r).then((function(){return(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(r.src),r}))}return Promise.reject("Unsupported image type.")}},{key:"_awaitImageLoad",value:function(e){return new Promise((function(t,r){var n,i;e.complete&&0!==e.naturalWidth?t():(n=function(){e.removeEventListener("load",n),e.removeEventListener("error",i),t()},i=function(){e.removeEventListener("load",n),e.removeEventListener("error",i),r("Image load error")},e.addEventListener("load",n),e.addEventListener("error",i))}))}},{key:"_postWorkerMessage",value:function(e,t,r){return Promise.resolve(e).then((function(e){e instanceof Worker&&e.postMessage({type:t,data:r})}))}}]),t}();function jq(){return Fq.apply(this,arguments)}function Fq(){return(Fq=CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Vq.WORKER_PATH=kT(),e.next=3,Vq.createQrEngine(Vq.WORKER_PATH);case 3:return t=e.sent,e.abrupt("return",{qrEngine:t});case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function zq(){return(zq=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.length>0&&void 0!==c[0]?c[0]:{},r=t.opencvUrl,e.next=3,Promise.all([jq(),RK({url:r})]);case 3:return n=e.sent,i=AD(n,1),a=i[0].qrEngine,o=window,s=o.cv,e.abrupt("return",{qrScannerResources:{engine:a,canvas:document.createElement("canvas")},blackAndWhiteConverterResources:{kernel:s.matFromArray(3,3,s.CV_32FC1,[-1,-1,-1,-1,11,-1,-1,-1,-1]),canvas:document.createElement("canvas"),dst:new s.Mat}});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}Vq.DEFAULT_CANVAS_SIZE=400,Vq.NO_QR_CODE_FOUND="No QR code found",Vq.WORKER_PATH="qr-scanner-worker.min.js";var Kq=rj((function(){return zq.apply(this,arguments)})),qq=RD(ND((function(e,t){var r;r=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){this.width=t,this.height=e.length/t,this.data=e}return e.createEmpty=function(t,r){return new e(new Uint8ClampedArray(t*r),t)},e.prototype.get=function(e,t){return!(e<0||e>=this.width||t<0||t>=this.height||!this.data[t*this.width+e])},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=r?1:0},e.prototype.setRegion=function(e,t,r,n,i){for(var a=t;a<t+n;a++)for(var o=e;o<e+r;o++)this.set(o,a,!!i)},e}();t.BitMatrix=n},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(2);t.addOrSubtractGF=function(e,t){return e^t};var i=function(){function e(e,t,r){this.primitive=e,this.size=t,this.generatorBase=r,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var i=1,a=0;a<this.size;a++)this.expTable[a]=i,(i*=2)>=this.size&&(i=(i^this.primitive)&this.size-1);for(a=0;a<this.size-1;a++)this.logTable[this.expTable[a]]=a;this.zero=new n.default(this,Uint8ClampedArray.from([0])),this.one=new n.default(this,Uint8ClampedArray.from([1]))}return e.prototype.multiply=function(e,t){return 0===e||0===t?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.size-1)]},e.prototype.inverse=function(e){if(0===e)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[e]-1]},e.prototype.buildMonomial=function(e,t){if(e<0)throw new Error("Invalid monomial degree less than 0");if(0===t)return this.zero;var r=new Uint8ClampedArray(e+1);return r[0]=t,new n.default(this,r)},e.prototype.log=function(e){if(0===e)throw new Error("Can't take log(0)");return this.logTable[e]},e.prototype.exp=function(e){return this.expTable[e]},e}();t.default=i},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),i=function(){function e(e,t){if(0===t.length)throw new Error("No coefficients.");this.field=e;var r=t.length;if(r>1&&0===t[0]){for(var n=1;n<r&&0===t[n];)n++;if(n===r)this.coefficients=e.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(r-n);for(var i=0;i<this.coefficients.length;i++)this.coefficients[i]=t[n+i]}}else this.coefficients=t}return e.prototype.degree=function(){return this.coefficients.length-1},e.prototype.isZero=function(){return 0===this.coefficients[0]},e.prototype.getCoefficient=function(e){return this.coefficients[this.coefficients.length-1-e]},e.prototype.addOrSubtract=function(t){var r;if(this.isZero())return t;if(t.isZero())return this;var i=this.coefficients,a=t.coefficients;i.length>a.length&&(i=(r=[a,i])[0],a=r[1]);for(var o=new Uint8ClampedArray(a.length),s=a.length-i.length,c=0;c<s;c++)o[c]=a[c];for(c=s;c<a.length;c++)o[c]=n.addOrSubtractGF(i[c-s],a[c]);return new e(this.field,o)},e.prototype.multiply=function(t){if(0===t)return this.field.zero;if(1===t)return this;for(var r=this.coefficients.length,n=new Uint8ClampedArray(r),i=0;i<r;i++)n[i]=this.field.multiply(this.coefficients[i],t);return new e(this.field,n)},e.prototype.multiplyPoly=function(t){if(this.isZero()||t.isZero())return this.field.zero;for(var r=this.coefficients,i=r.length,a=t.coefficients,o=a.length,s=new Uint8ClampedArray(i+o-1),c=0;c<i;c++)for(var u=r[c],l=0;l<o;l++)s[c+l]=n.addOrSubtractGF(s[c+l],this.field.multiply(u,a[l]));return new e(this.field,s)},e.prototype.multiplyByMonomial=function(t,r){if(t<0)throw new Error("Invalid degree less than 0");if(0===r)return this.field.zero;for(var n=this.coefficients.length,i=new Uint8ClampedArray(n+t),a=0;a<n;a++)i[a]=this.field.multiply(this.coefficients[a],r);return new e(this.field,i)},e.prototype.evaluateAt=function(e){var t=0;if(0===e)return this.getCoefficient(0);var r=this.coefficients.length;if(1===e)return this.coefficients.forEach((function(e){t=n.addOrSubtractGF(t,e)})),t;t=this.coefficients[0];for(var i=1;i<r;i++)t=n.addOrSubtractGF(this.field.multiply(e,t),this.coefficients[i]);return t},e}();t.default=i},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(4),i=r(5),a=r(11),o=r(12);function s(e){var t=o.locate(e);if(!t)return null;for(var r=0,n=t;r<n.length;r++){var s=n[r],c=a.extract(e,s),u=i.decode(c.matrix);if(u)return{binaryData:u.bytes,data:u.text,chunks:u.chunks,version:u.version,location:{topRightCorner:c.mappingFunction(s.dimension,0),topLeftCorner:c.mappingFunction(0,0),bottomRightCorner:c.mappingFunction(s.dimension,s.dimension),bottomLeftCorner:c.mappingFunction(0,s.dimension),topRightFinderPattern:s.topRight,topLeftFinderPattern:s.topLeft,bottomLeftFinderPattern:s.bottomLeft,bottomRightAlignmentPattern:s.alignmentPattern}}}return null}var c={inversionAttempts:"attemptBoth"};function u(e,t,r,i){void 0===i&&(i={});var a=c;Object.keys(a||{}).forEach((function(e){a[e]=i[e]||a[e]}));var o="attemptBoth"===a.inversionAttempts||"invertFirst"===a.inversionAttempts,u="onlyInvert"===a.inversionAttempts||"invertFirst"===a.inversionAttempts,l=n.binarize(e,t,r,o),d=l.binarized,f=l.inverted,p=s(u?f:d);return p||"attemptBoth"!==a.inversionAttempts&&"invertFirst"!==a.inversionAttempts||(p=s(u?d:f)),p}u.default=u,t.default=u},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(0);function i(e,t,r){return e<t?t:e>r?r:e}var a=function(){function e(e,t){this.width=e,this.data=new Uint8ClampedArray(e*t)}return e.prototype.get=function(e,t){return this.data[t*this.width+e]},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=r},e}();t.binarize=function(e,t,r,o){if(e.length!==t*r*4)throw new Error("Malformed data passed to binarizer.");for(var s=new a(t,r),c=0;c<t;c++)for(var u=0;u<r;u++){var l=e[4*(u*t+c)+0],d=e[4*(u*t+c)+1],f=e[4*(u*t+c)+2];s.set(c,u,.2126*l+.7152*d+.0722*f)}for(var p=Math.ceil(t/8),h=Math.ceil(r/8),g=new a(p,h),m=0;m<h;m++)for(var y=0;y<p;y++){var v=0,b=1/0,C=0;for(u=0;u<8;u++)for(c=0;c<8;c++){var w=s.get(8*y+c,8*m+u);v+=w,b=Math.min(b,w),C=Math.max(C,w)}var E=v/Math.pow(8,2);if(C-b<=24&&(E=b/2,m>0&&y>0)){var k=(g.get(y,m-1)+2*g.get(y-1,m)+g.get(y-1,m-1))/4;b<k&&(E=k)}g.set(y,m,E)}var S=n.BitMatrix.createEmpty(t,r),B=null;for(o&&(B=n.BitMatrix.createEmpty(t,r)),m=0;m<h;m++)for(y=0;y<p;y++){for(var T=i(y,2,p-3),A=i(m,2,h-3),I=(v=0,-2);I<=2;I++)for(var _=-2;_<=2;_++)v+=g.get(T+I,A+_);var x=v/25;for(I=0;I<8;I++)for(_=0;_<8;_++){c=8*y+I,u=8*m+_;var P=s.get(c,u);S.set(c,u,P<=x),o&&B.set(c,u,!(P<=x))}}return o?{binarized:S,inverted:B}:{binarized:S}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(0),i=r(6),a=r(9),o=r(10);function s(e,t){for(var r=e^t,n=0;r;)n++,r&=r-1;return n}function c(e,t){return t<<1|e}var u=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],l=[function(e){return(e.y+e.x)%2==0},function(e){return e.y%2==0},function(e){return e.x%3==0},function(e){return(e.y+e.x)%3==0},function(e){return(Math.floor(e.y/2)+Math.floor(e.x/3))%2==0},function(e){return e.x*e.y%2+e.x*e.y%3==0},function(e){return(e.y*e.x%2+e.y*e.x%3)%2==0},function(e){return((e.y+e.x)%2+e.y*e.x%3)%2==0}];function d(e,t,r){for(var i=l[r.dataMask],a=e.height,o=function(e){var t=17+4*e.versionNumber,r=n.BitMatrix.createEmpty(t,t);r.setRegion(0,0,9,9,!0),r.setRegion(t-8,0,8,9,!0),r.setRegion(0,t-8,9,8,!0);for(var i=0,a=e.alignmentPatternCenters;i<a.length;i++)for(var o=a[i],s=0,c=e.alignmentPatternCenters;s<c.length;s++){var u=c[s];6===o&&6===u||6===o&&u===t-7||o===t-7&&6===u||r.setRegion(o-2,u-2,5,5,!0)}return r.setRegion(6,9,1,t-17,!0),r.setRegion(9,6,t-17,1,!0),e.versionNumber>6&&(r.setRegion(t-11,0,3,6,!0),r.setRegion(0,t-11,6,3,!0)),r}(t),s=[],u=0,d=0,f=!0,p=a-1;p>0;p-=2){6===p&&p--;for(var h=0;h<a;h++)for(var g=f?a-1-h:h,m=0;m<2;m++){var y=p-m;if(!o.get(y,g)){d++;var v=e.get(y,g);i({y:g,x:y})&&(v=!v),u=c(v,u),8===d&&(s.push(u),d=0,u=0)}}f=!f}return s}function f(e){var t=function(e){var t=e.height,r=Math.floor((t-17)/4);if(r<=6)return o.VERSIONS[r-1];for(var n=0,i=5;i>=0;i--)for(var a=t-9;a>=t-11;a--)n=c(e.get(a,i),n);var u=0;for(a=5;a>=0;a--)for(i=t-9;i>=t-11;i--)u=c(e.get(a,i),u);for(var l,d=1/0,f=0,p=o.VERSIONS;f<p.length;f++){var h=p[f];if(h.infoBits===n||h.infoBits===u)return h;var g=s(n,h.infoBits);g<d&&(l=h,d=g),(g=s(u,h.infoBits))<d&&(l=h,d=g)}return d<=3?l:void 0}(e);if(!t)return null;var r=function(e){for(var t=0,r=0;r<=8;r++)6!==r&&(t=c(e.get(r,8),t));for(var n=7;n>=0;n--)6!==n&&(t=c(e.get(8,n),t));var i=e.height,a=0;for(n=i-1;n>=i-7;n--)a=c(e.get(8,n),a);for(r=i-8;r<i;r++)a=c(e.get(r,8),a);for(var o=1/0,l=null,d=0,f=u;d<f.length;d++){var p=f[d],h=p.bits,g=p.formatInfo;if(h===t||h===a)return g;var m=s(t,h);m<o&&(l=g,o=m),t!==a&&(m=s(a,h))<o&&(l=g,o=m)}return o<=3?l:null}(e);if(!r)return null;var n=function(e,t,r){var n=t.errorCorrectionLevels[r],i=[],a=0;if(n.ecBlocks.forEach((function(e){for(var t=0;t<e.numBlocks;t++)i.push({numDataCodewords:e.dataCodewordsPerBlock,codewords:[]}),a+=e.dataCodewordsPerBlock+n.ecCodewordsPerBlock})),e.length<a)return null;e=e.slice(0,a);for(var o=n.ecBlocks[0].dataCodewordsPerBlock,s=0;s<o;s++)for(var c=0,u=i;c<u.length;c++)u[c].codewords.push(e.shift());if(n.ecBlocks.length>1){var l=n.ecBlocks[0].numBlocks,d=n.ecBlocks[1].numBlocks;for(s=0;s<d;s++)i[l+s].codewords.push(e.shift())}for(;e.length>0;)for(var f=0,p=i;f<p.length;f++)p[f].codewords.push(e.shift());return i}(d(e,t,r),t,r.errorCorrectionLevel);if(!n)return null;for(var l=n.reduce((function(e,t){return e+t.numDataCodewords}),0),f=new Uint8ClampedArray(l),p=0,h=0,g=n;h<g.length;h++){var m=g[h],y=a.decode(m.codewords,m.codewords.length-m.numDataCodewords);if(!y)return null;for(var v=0;v<m.numDataCodewords;v++)f[p++]=y[v]}try{return i.decode(f,t.versionNumber)}catch(e){return null}}t.decode=function(e){if(null==e)return null;var t=f(e);if(t)return t;for(var r=0;r<e.width;r++)for(var n=r+1;n<e.height;n++)e.get(r,n)!==e.get(n,r)&&(e.set(r,n,!e.get(r,n)),e.set(n,r,!e.get(n,r)));return f(e)}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n,i,a=r(7),o=r(8);function s(e,t){for(var r=[],n="",i=[10,12,14][t],a=e.readBits(i);a>=3;){if((u=e.readBits(10))>=1e3)throw new Error("Invalid numeric value above 999");var o=Math.floor(u/100),s=Math.floor(u/10)%10,c=u%10;r.push(48+o,48+s,48+c),n+=o.toString()+s.toString()+c.toString(),a-=3}if(2===a){if((u=e.readBits(7))>=100)throw new Error("Invalid numeric value above 99");o=Math.floor(u/10),s=u%10,r.push(48+o,48+s),n+=o.toString()+s.toString()}else if(1===a){var u;if((u=e.readBits(4))>=10)throw new Error("Invalid numeric value above 9");r.push(48+u),n+=u.toString()}return{bytes:r,text:n}}!function(e){e.Numeric="numeric",e.Alphanumeric="alphanumeric",e.Byte="byte",e.Kanji="kanji",e.ECI="eci"}(n=t.Mode||(t.Mode={})),function(e){e[e.Terminator=0]="Terminator",e[e.Numeric=1]="Numeric",e[e.Alphanumeric=2]="Alphanumeric",e[e.Byte=4]="Byte",e[e.Kanji=8]="Kanji",e[e.ECI=7]="ECI"}(i||(i={}));var c=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function u(e,t){for(var r=[],n="",i=[9,11,13][t],a=e.readBits(i);a>=2;){var o=e.readBits(11),s=Math.floor(o/45),u=o%45;r.push(c[s].charCodeAt(0),c[u].charCodeAt(0)),n+=c[s]+c[u],a-=2}return 1===a&&(s=e.readBits(6),r.push(c[s].charCodeAt(0)),n+=c[s]),{bytes:r,text:n}}function l(e,t){for(var r=[],n="",i=[8,16,16][t],a=e.readBits(i),o=0;o<a;o++){var s=e.readBits(8);r.push(s)}try{n+=decodeURIComponent(r.map((function(e){return"%"+("0"+e.toString(16)).substr(-2)})).join(""))}catch(e){}return{bytes:r,text:n}}function d(e,t){for(var r=[],n="",i=[8,10,12][t],a=e.readBits(i),s=0;s<a;s++){var c=e.readBits(13),u=Math.floor(c/192)<<8|c%192;u+=u<7936?33088:49472,r.push(u>>8,255&u),n+=String.fromCharCode(o.shiftJISTable[u])}return{bytes:r,text:n}}t.decode=function(e,t){for(var r,o,c,f,p=new a.BitStream(e),h=t<=9?0:t<=26?1:2,g={text:"",bytes:[],chunks:[],version:t};p.available()>=4;){var m=p.readBits(4);if(m===i.Terminator)return g;if(m===i.ECI)0===p.readBits(1)?g.chunks.push({type:n.ECI,assignmentNumber:p.readBits(7)}):0===p.readBits(1)?g.chunks.push({type:n.ECI,assignmentNumber:p.readBits(14)}):0===p.readBits(1)?g.chunks.push({type:n.ECI,assignmentNumber:p.readBits(21)}):g.chunks.push({type:n.ECI,assignmentNumber:-1});else if(m===i.Numeric){var y=s(p,h);g.text+=y.text,(r=g.bytes).push.apply(r,y.bytes),g.chunks.push({type:n.Numeric,text:y.text})}else if(m===i.Alphanumeric){var v=u(p,h);g.text+=v.text,(o=g.bytes).push.apply(o,v.bytes),g.chunks.push({type:n.Alphanumeric,text:v.text})}else if(m===i.Byte){var b=l(p,h);g.text+=b.text,(c=g.bytes).push.apply(c,b.bytes),g.chunks.push({type:n.Byte,bytes:b.bytes,text:b.text})}else if(m===i.Kanji){var C=d(p,h);g.text+=C.text,(f=g.bytes).push.apply(f,C.bytes),g.chunks.push({type:n.Kanji,bytes:C.bytes,text:C.text})}}if(0===p.available()||0===p.readBits(p.available()))return g}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.byteOffset=0,this.bitOffset=0,this.bytes=e}return e.prototype.readBits=function(e){if(e<1||e>32||e>this.available())throw new Error("Cannot read "+e.toString()+" bits");var t=0;if(this.bitOffset>0){var r=8-this.bitOffset,n=e<r?e:r,i=255>>8-n<<(a=r-n);t=(this.bytes[this.byteOffset]&i)>>a,e-=n,this.bitOffset+=n,8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(e>0){for(;e>=8;)t=t<<8|255&this.bytes[this.byteOffset],this.byteOffset++,e-=8;var a;e>0&&(i=255>>(a=8-e)<<a,t=t<<e|(this.bytes[this.byteOffset]&i)>>a,this.bitOffset+=e)}return t},e.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},e}();t.BitStream=n},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),i=r(2);t.decode=function(e,t){var r=new Uint8ClampedArray(e.length);r.set(e);for(var a=new n.default(285,256,0),o=new i.default(a,r),s=new Uint8ClampedArray(t),c=!1,u=0;u<t;u++){var l=o.evaluateAt(a.exp(u+a.generatorBase));s[s.length-1-u]=l,0!==l&&(c=!0)}if(!c)return r;var d=new i.default(a,s),f=function(e,t,r,n){var i;t.degree()<r.degree()&&(t=(i=[r,t])[0],r=i[1]);for(var a=t,o=r,s=e.zero,c=e.one;o.degree()>=n/2;){var u=a,l=s;if(s=c,(a=o).isZero())return null;o=u;for(var d=e.zero,f=a.getCoefficient(a.degree()),p=e.inverse(f);o.degree()>=a.degree()&&!o.isZero();){var h=o.degree()-a.degree(),g=e.multiply(o.getCoefficient(o.degree()),p);d=d.addOrSubtract(e.buildMonomial(h,g)),o=o.addOrSubtract(a.multiplyByMonomial(h,g))}if(c=d.multiplyPoly(s).addOrSubtract(l),o.degree()>=a.degree())return null}var m=c.getCoefficient(0);if(0===m)return null;var y=e.inverse(m);return[c.multiply(y),o.multiply(y)]}(a,a.buildMonomial(t,1),d,t);if(null===f)return null;var p=function(e,t){var r=t.degree();if(1===r)return[t.getCoefficient(1)];for(var n=new Array(r),i=0,a=1;a<e.size&&i<r;a++)0===t.evaluateAt(a)&&(n[i]=e.inverse(a),i++);return i!==r?null:n}(a,f[0]);if(null==p)return null;for(var h=function(e,t,r){for(var i=r.length,a=new Array(i),o=0;o<i;o++){for(var s=e.inverse(r[o]),c=1,u=0;u<i;u++)o!==u&&(c=e.multiply(c,n.addOrSubtractGF(1,e.multiply(r[u],s))));a[o]=e.multiply(t.evaluateAt(s),e.inverse(c)),0!==e.generatorBase&&(a[o]=e.multiply(a[o],s))}return a}(a,f[1],p),g=0;g<p.length;g++){var m=r.length-1-a.log(p[g]);if(m<0)return null;r[m]=n.addOrSubtractGF(r[m],h[g])}return r}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(0);function i(e,t,r,n){var i=e.x-t.x+r.x-n.x,a=e.y-t.y+r.y-n.y;if(0===i&&0===a)return{a11:t.x-e.x,a12:t.y-e.y,a13:0,a21:r.x-t.x,a22:r.y-t.y,a23:0,a31:e.x,a32:e.y,a33:1};var o=t.x-r.x,s=n.x-r.x,c=t.y-r.y,u=n.y-r.y,l=o*u-s*c,d=(i*u-s*a)/l,f=(o*a-i*c)/l;return{a11:t.x-e.x+d*t.x,a12:t.y-e.y+d*t.y,a13:d,a21:n.x-e.x+f*n.x,a22:n.y-e.y+f*n.y,a23:f,a31:e.x,a32:e.y,a33:1}}t.extract=function(e,t){for(var r,a,o=(a=function(e,t,r,n){var a=i({x:3.5,y:3.5},t,r,n);return{a11:a.a22*a.a33-a.a23*a.a32,a12:a.a13*a.a32-a.a12*a.a33,a13:a.a12*a.a23-a.a13*a.a22,a21:a.a23*a.a31-a.a21*a.a33,a22:a.a11*a.a33-a.a13*a.a31,a23:a.a13*a.a21-a.a11*a.a23,a31:a.a21*a.a32-a.a22*a.a31,a32:a.a12*a.a31-a.a11*a.a32,a33:a.a11*a.a22-a.a12*a.a21}}(0,{x:t.dimension-3.5,y:3.5},{x:t.dimension-6.5,y:t.dimension-6.5},{x:3.5,y:t.dimension-3.5}),{a11:(r=i(t.topLeft,t.topRight,t.alignmentPattern,t.bottomLeft)).a11*a.a11+r.a21*a.a12+r.a31*a.a13,a12:r.a12*a.a11+r.a22*a.a12+r.a32*a.a13,a13:r.a13*a.a11+r.a23*a.a12+r.a33*a.a13,a21:r.a11*a.a21+r.a21*a.a22+r.a31*a.a23,a22:r.a12*a.a21+r.a22*a.a22+r.a32*a.a23,a23:r.a13*a.a21+r.a23*a.a22+r.a33*a.a23,a31:r.a11*a.a31+r.a21*a.a32+r.a31*a.a33,a32:r.a12*a.a31+r.a22*a.a32+r.a32*a.a33,a33:r.a13*a.a31+r.a23*a.a32+r.a33*a.a33}),s=n.BitMatrix.createEmpty(t.dimension,t.dimension),c=function(e,t){var r=o.a13*e+o.a23*t+o.a33;return{x:(o.a11*e+o.a21*t+o.a31)/r,y:(o.a12*e+o.a22*t+o.a32)/r}},u=0;u<t.dimension;u++)for(var l=0;l<t.dimension;l++){var d=c(l+.5,u+.5);s.set(l,u,e.get(Math.floor(d.x),Math.floor(d.y)))}return{matrix:s,mappingFunction:c}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))};function i(e){return e.reduce((function(e,t){return e+t}))}function a(e,t,r,i){var a,o,s,c,u=[{x:Math.floor(e.x),y:Math.floor(e.y)}],l=Math.abs(t.y-e.y)>Math.abs(t.x-e.x);l?(a=Math.floor(e.y),o=Math.floor(e.x),s=Math.floor(t.y),c=Math.floor(t.x)):(a=Math.floor(e.x),o=Math.floor(e.y),s=Math.floor(t.x),c=Math.floor(t.y));for(var d=Math.abs(s-a),f=Math.abs(c-o),p=Math.floor(-d/2),h=a<s?1:-1,g=o<c?1:-1,m=!0,y=a,v=o;y!==s+h;y+=h){var b=l?v:y,C=l?y:v;if(r.get(b,C)!==m&&(m=!m,u.push({x:b,y:C}),u.length===i+1))break;if((p+=f)>0){if(v===c)break;v+=g,p-=d}}for(var w=[],E=0;E<i;E++)u[E]&&u[E+1]?w.push(n(u[E],u[E+1])):w.push(0);return w}function o(e,t,r,n){var i,o=t.y-e.y,s=t.x-e.x,c=a(e,t,r,Math.ceil(n/2)),u=a(e,{x:e.x-s,y:e.y-o},r,Math.ceil(n/2)),l=c.shift()+u.shift()-1;return(i=u.concat(l)).concat.apply(i,c)}function s(e,t){var r=i(e)/i(t),n=0;return t.forEach((function(t,i){n+=Math.pow(e[i]-t*r,2)})),{averageSize:r,error:n}}function c(e,t,r){try{var n=o(e,{x:-1,y:e.y},r,t.length),i=o(e,{x:e.x,y:-1},r,t.length),a=o(e,{x:Math.max(0,e.x-e.y)-1,y:Math.max(0,e.y-e.x)-1},r,t.length),c=o(e,{x:Math.min(r.width,e.x+e.y)+1,y:Math.min(r.height,e.y+e.x)+1},r,t.length),u=s(n,t),l=s(i,t),d=s(a,t),f=s(c,t),p=Math.sqrt(u.error*u.error+l.error*l.error+d.error*d.error+f.error*f.error),h=(u.averageSize+l.averageSize+d.averageSize+f.averageSize)/4;return p+(Math.pow(u.averageSize-h,2)+Math.pow(l.averageSize-h,2)+Math.pow(d.averageSize-h,2)+Math.pow(f.averageSize-h,2))/h}catch(e){return 1/0}}function u(e,t){for(var r=Math.round(t.x);e.get(r,Math.round(t.y));)r--;for(var n=Math.round(t.x);e.get(n,Math.round(t.y));)n++;for(var i=(r+n)/2,a=Math.round(t.y);e.get(Math.round(i),a);)a--;for(var o=Math.round(t.y);e.get(Math.round(i),o);)o++;return{x:i,y:(a+o)/2}}function l(e,t,r,a,s){var u,l,d;try{u=function(e,t,r,a){var s=(i(o(e,r,a,5))/7+i(o(e,t,a,5))/7+i(o(r,e,a,5))/7+i(o(t,e,a,5))/7)/4;if(s<1)throw new Error("Invalid module size");var c=Math.round(n(e,t)/s),u=Math.round(n(e,r)/s),l=Math.floor((c+u)/2)+7;switch(l%4){case 0:l++;break;case 2:l--}return{dimension:l,moduleSize:s}}(a,r,s,e),l=u.dimension,d=u.moduleSize}catch(e){return null}var f=r.x-a.x+s.x,p=r.y-a.y+s.y,h=(n(a,s)+n(a,r))/2/d,g=1-3/h,m={x:a.x+g*(f-a.x),y:a.y+g*(p-a.y)},y=t.map((function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,a=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.floor(r),Math.floor(a)))return i([t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1]),{x:r,y:a,score:c({x:Math.floor(r),y:Math.floor(a)},[1,1,1],e)+n({x:r,y:a},m)}})).filter((function(e){return!!e})).sort((function(e,t){return e.score-t.score}));return{alignmentPattern:h>=15&&y.length?y[0]:m,dimension:l}}t.locate=function(e){for(var t=[],r=[],a=[],o=[],s=function(n){for(var s=0,c=!1,u=[0,0,0,0,0],l=function(t){var a=e.get(t,n);if(a===c)s++;else{u=[u[1],u[2],u[3],u[4],s],s=1,c=a;var l=i(u)/7,d=Math.abs(u[0]-l)<l&&Math.abs(u[1]-l)<l&&Math.abs(u[2]-3*l)<3*l&&Math.abs(u[3]-l)<l&&Math.abs(u[4]-l)<l&&!a,f=i(u.slice(-3))/3,p=Math.abs(u[2]-f)<f&&Math.abs(u[3]-f)<f&&Math.abs(u[4]-f)<f&&a;if(d){var h=t-u[3]-u[4],g=h-u[2],m={startX:g,endX:h,y:n};(y=r.filter((function(e){return g>=e.bottom.startX&&g<=e.bottom.endX||h>=e.bottom.startX&&g<=e.bottom.endX||g<=e.bottom.startX&&h>=e.bottom.endX&&u[2]/(e.bottom.endX-e.bottom.startX)<1.5&&u[2]/(e.bottom.endX-e.bottom.startX)>.5}))).length>0?y[0].bottom=m:r.push({top:m,bottom:m})}if(p){var y,v=t-u[4],b=v-u[3];m={startX:b,y:n,endX:v},(y=o.filter((function(e){return b>=e.bottom.startX&&b<=e.bottom.endX||v>=e.bottom.startX&&b<=e.bottom.endX||b<=e.bottom.startX&&v>=e.bottom.endX&&u[2]/(e.bottom.endX-e.bottom.startX)<1.5&&u[2]/(e.bottom.endX-e.bottom.startX)>.5}))).length>0?y[0].bottom=m:o.push({top:m,bottom:m})}}},d=-1;d<=e.width;d++)l(d);t.push.apply(t,r.filter((function(e){return e.bottom.y!==n&&e.bottom.y-e.top.y>=2}))),r=r.filter((function(e){return e.bottom.y===n})),a.push.apply(a,o.filter((function(e){return e.bottom.y!==n}))),o=o.filter((function(e){return e.bottom.y===n}))},d=0;d<=e.height;d++)s(d);t.push.apply(t,r.filter((function(e){return e.bottom.y-e.top.y>=2}))),a.push.apply(a,o);var f=t.filter((function(e){return e.bottom.y-e.top.y>=2})).map((function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,n=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.round(r),Math.round(n))){var a=[t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1],o=i(a)/a.length;return{score:c({x:Math.round(r),y:Math.round(n)},[1,1,3,1,1],e),x:r,y:n,size:o}}})).filter((function(e){return!!e})).sort((function(e,t){return e.score-t.score})).map((function(e,t,r){if(t>4)return null;var n=r.filter((function(e,r){return t!==r})).map((function(t){return{x:t.x,y:t.y,score:t.score+Math.pow(t.size-e.size,2)/e.size,size:t.size}})).sort((function(e,t){return e.score-t.score}));if(n.length<2)return null;var i=e.score+n[0].score+n[1].score;return{points:[e].concat(n.slice(0,2)),score:i}})).filter((function(e){return!!e})).sort((function(e,t){return e.score-t.score}));if(0===f.length)return null;var p=function(e,t,r){var i,a,o,s,c,u,l,d=n(e,t),f=n(t,r),p=n(e,r);return f>=d&&f>=p?(c=(i=[t,e,r])[0],u=i[1],l=i[2]):p>=f&&p>=d?(c=(a=[e,t,r])[0],u=a[1],l=a[2]):(c=(o=[e,r,t])[0],u=o[1],l=o[2]),(l.x-u.x)*(c.y-u.y)-(l.y-u.y)*(c.x-u.x)<0&&(c=(s=[l,c])[0],l=s[1]),{bottomLeft:c,topLeft:u,topRight:l}}(f[0].points[0],f[0].points[1],f[0].points[2]),h=p.topRight,g=p.topLeft,m=p.bottomLeft,y=l(e,a,h,g,m),v=[];y&&v.push({alignmentPattern:{x:y.alignmentPattern.x,y:y.alignmentPattern.y},bottomLeft:{x:m.x,y:m.y},dimension:y.dimension,topLeft:{x:g.x,y:g.y},topRight:{x:h.x,y:h.y}});var b=u(e,h),C=u(e,g),w=u(e,m),E=l(e,a,b,C,w);return E&&v.push({alignmentPattern:{x:E.alignmentPattern.x,y:E.alignmentPattern.y},bottomLeft:{x:w.x,y:w.y},topLeft:{x:C.x,y:C.y},topRight:{x:b.x,y:b.y},dimension:E.dimension}),0===v.length?null:v}}]).default},e.exports=r()})));function Hq(e){return Gq.apply(this,arguments)}function Gq(){return(Gq=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.imageData,n=t.canvas,(i=r)||(a=n.getContext("2d"),i=a.getImageData(0,0,n.width,n.height)),!(o=qq(i.data,i.width,i.height,{inversionAttempts:"dontInvert"}))){e.next=6;break}return e.abrupt("return",o.data);case 6:return e.abrupt("return","");case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qq(e){return Wq.apply(this,arguments)}function Wq(){return(Wq=CD(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.canvas,n=t.qrScannerResources,e.abrupt("return",new Promise((function(e){setTimeout((function(){return e("")}),1e3),Vq.scanImage(r,void 0,void 0,n.canvas).then(e).catch((function(){return e("")}))})));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Xq,Yq,$q,Zq,Jq,eH,tH=function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.canvas,n=t.blackAndWhiteConverterResources,i=t.qrScannerResources,a=n.kernel,o=n.canvas,s=n.dst,c=window,u=c.cv,l="",d=u.imread(r),u.cvtColor(d,s,u.COLOR_RGBA2GRAY),u.filter2D(s,s,-1,a),u.imshow(o,s),e.next=10,Hq({canvas:o});case 10:if(l=e.sent){e.next=15;break}return e.next=14,Qq({canvas:o,qrScannerResources:i});case 14:l=e.sent;case 15:return d.delete(),e.abrupt("return",l);case 17:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),rH=function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.canvas,n=t.blob,i=t.qrScannerResources,a=t.blackAndWhiteConverterResources,o=r,!n){e.next=6;break}return e.next=5,DB.blobToCanvas({blob:n});case 5:o=e.sent;case 6:return s=o.getContext("2d"),e.next=9,Hq({imageData:s.getImageData(0,0,o.width,o.height)});case 9:if(c=e.sent){e.next=18;break}return e.next=13,Qq({canvas:o,qrScannerResources:i});case 13:if(c=e.sent){e.next=18;break}return e.next=17,tH({canvas:o,blackAndWhiteConverterResources:a,qrScannerResources:i});case 17:c=e.sent;case 18:return e.abrupt("return",c);case 19:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),nH=function(){var e=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c,u,l=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=l.length>0&&void 0!==l[0]?l[0]:{},r=t.blob,n=t.resultWarmup,i=t.enableValidation,a=void 0===i||i,o=n.qrScannerResources,s=n.blackAndWhiteConverterResources,c={},e.next=5,rH({blob:r,qrScannerResources:o,blackAndWhiteConverterResources:s});case 5:return u=e.sent,a&&u&&(c=Mq(u)),e.abrupt("return",{result:u,validateResult:c});case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),iH=function(e){var t=e.shouldStart,r=e.refVideo,n=e.cropArea,i=e.settings,a=e.onSessionTimeout,o=e.onCaptureDone,s=e.onAboutToTimeout,c=e.outputEncryptionSettings,u=AD(oy.useState(!1),2),l=u[0],d=u[1],f=oy.useRef((function(){})),p=oy.useRef((function(){})),h=lk.useSDKSettings().lang,g=function(e){var t=e.refVideo,r=e.shouldStart,n=e.cropArea,i=e.settings,a=e.onResult,o=e.outputEncryptionSettings,s=oy.useRef(null);null===s.current&&(s.current=document.createElement("canvas"));var c=oy.useRef(!1),u=oy.useRef(null),l=AD(oy.useState(!1),2),d=l[0],f=l[1],p=oy.useRef({}),h=lk.useSDKSettings().customUrls;oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(d){e.next=5;break}return e.next=3,Kq(h);case 3:p.current=e.sent,f(!0);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[d,h]);var g=oy.useCallback((function(){!0===c.current&&(c.current=!1)}),[]),m=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var r,n,l,f,h,m,y,v,b,C,w,E,k,S,B,T;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(d&&i&&!c.current){e.next=2;break}return e.abrupt("return");case 2:r=p.current,n=r.qrScannerResources,l=r.blackAndWhiteConverterResources,f=u.current,h=t.current,c.current=!0,m=f.cropX,y=f.cropY,v=f.cropWidth,b=f.cropHeight,(C=s.current).width=v,C.height=b,w=C.getContext("2d");case 11:return w.drawImage(h,m,y,v,b,0,0,v,b),e.next=15,rH({canvas:C,qrScannerResources:n,blackAndWhiteConverterResources:l});case 15:if(!(E=e.sent)){e.next=29;break}return g(),k=Mq(E),e.next=21,bS.takePicture({canvas:s.current});case 21:if(S=e.sent,B=void 0,!o||!o.key){e.next=28;break}return T=o.key,e.next=27,ET.encrypt({blob:S,key:T});case 27:B=e.sent;case 28:a({result:E,validateResult:k,image:{blob:S,encrypted:B}});case 29:if(c.current){e.next=31;break}return e.abrupt("break",33);case 31:e.next=11;break;case 33:case"end":return e.stop()}}),e)}))),[t,i,d,a,g,o]);oy.useEffect((function(){var e=t.current;function i(){return(i=CD(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return u.current=bS.analyzeVideoAndWindowSizes(e,n,0),t.next=3,m();case 3:case"end":return t.stop()}}),t)})))).apply(this,arguments)}d&&r&&n&&function(){i.apply(this,arguments)}()}),[r,n,t,g,m,d]);var y=oy.useCallback((function(){g()}),[g]);return oy.useEffect((function(){return y}),[y]),{refWorkingCanvas:s,stopCheckFrame:g,checkFrame:m,warmupDone:d}}({refVideo:r,shouldStart:t,cropArea:n,settings:i,onResult:oy.useCallback((function(){f.current.apply(f,arguments)}),[]),outputEncryptionSettings:c}),m=g.stopCheckFrame,y=g.checkFrame,v=g.warmupDone,b=qK({refVideo:r,shouldStart:t&&v,cropArea:n,settings:i}),C=b.stopCheckFrame,w=b.refRecordedVideos,E=b.splitVideos,k=b.resetRecordedVideos,S=b.checkFrame;f.current=oy.useCallback((function(e){d(!0),C(),m(),p.current(),o(SD(SD({},e),{},{recordedVideos:w.current})),d(!1)}),[C,o,w,m]);var B=oy.useCallback((function(){C(),m(),k(),a()}),[k,C,m,a]),T=oy.useCallback((function(){E()}),[E]),A=WK({lang:h,onAboutToTimeout:s,onSessionTimeout:B,onVideoTimeLimitReached:T,settings:i,shouldStartTimers:t&&v,sessionTime:null==i?void 0:i.scanQrLimitTimeSecond}),I=A.stopTimers,_=A.startTimers;return p.current=I,{isProcessing:l,restartSession:oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return _(),e.next=3,Promise.all([S(),y()]);case 3:case"end":return e.stop()}}),e)}))),[S,y,_]),refRecordedVideos:w,warmupDone:v}};function aH(e){var t=e.windowAndVideoInfo,r=e.onUISpacingChange,n=e.refVideo,i=e.settings,a=e.onCaptureDone,o=e.outputEncryptionSettings,s=AD(oy.useState(null),2),c=s[0],u=s[1],l=Hk.useAsset("qr_capture_cursor.png"),d=AD(oy.useState({}),2),f=d[0],p=d[1],h=f.yTooltip,g=f.yMessage,m=lk.useSDKSettings().lang,y=pK(),v=y.showPopup,b=y.popupShown,C=y.popupType,w=AD(oy.useState(!1),2),E=w[0],k=w[1],S=AD(oy.useState(null),2),B=S[0],T=S[1],A=Hk.useAsset("ic_loading.png");oy.useEffect((function(){v({popupType:yK})}),[v]),oy.useEffect((function(){if(t){var e=t.videoAreaWidth,n=t.lostX,i=t.lostY,a=GD.isMobile?Math.min(e-6,145):145,o=a,s=i+10,c=s+90,l=c+40,d=l+o+20,f=Math.floor((e-a)/2)+n;u({x:f,y:l,width:a,height:o,surroundStyle:{opacity:.6,background:"#000"}});var h={yTitle:s,yTooltip:d,yMessage:c};p(h),r(h)}}),[t,r]);var I=oy.useCallback((function(){T(""),a()}),[a]),_=oy.useCallback((function(e){var t=e.validateResult.valid;T(""),t?a(e):v({popupType:mK})}),[v,a]),x=oy.useCallback((function(e){var t=e.curTimeLeft;T(IV(iq.REMAINING_TIME[m])({x:t}))}),[m]),P=iH({shouldStart:E,refVideo:n,cropArea:c,settings:i,onSessionTimeout:I,onCaptureDone:_,onAboutToTimeout:x,outputEncryptionSettings:o}),R=P.isProcessing,N=P.restartSession,O=P.warmupDone,L=oy.useCallback((function(){v({popupType:null})}),[v]),D=oy.useCallback(CD(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return L(),e.next=3,N();case 3:case"end":return e.stop()}}),e)}))),[N,L]),U=oy.useCallback((function(){L(),a()}),[L,a]),M=oy.useCallback((function(){L(),setTimeout((function(){k(!0)}),200)}),[L]);return oy.createElement(oy.Fragment,null,!O&&oy.createElement(gF,{contentStyle:{maxWidth:"300px"}}),c&&oy.createElement(wU,{x:"".concat(c.x,"px"),y:"".concat(c.y,"px"),width:"".concat(c.width,"px"),height:"".concat(c.height,"px"),surroundStyle:c.surroundStyle},oy.createElement("div",null,oy.createElement("img",{src:l,width:c.width,height:c.height,alt:""}))),oy.createElement(rq,{y:"".concat(h,"px")},iq.QR_TOOLTIP[m]),B&&oy.createElement(nq,{key:B,className:"message",y:"".concat(g,"px")},B),R&&oy.createElement($z,null,oy.createElement("img",{src:A,alt:"",className:"spin"})),oy.createElement(Yj,{contentStyle:{maxWidth:"332px"},open:b},C===mK&&oy.createElement(yq,{onRetry:D,onSkip:U}),C===hK&&oy.createElement(wq,{onRetry:D,onSkip:U}),C===yK&&oy.createElement(Dq,{onClickStart:M,onTimeout:M})))}aH.propTypes={windowAndVideoInfo:Py.shape({}),onUISpacingChange:Py.func,refVideo:Py.shape({}),settings:Py.shape({}),onCaptureDone:Py.func,outputEncryptionSettings:Py.shape({})},aH.defaultProps={windowAndVideoInfo:{},onUISpacingChange:function(){},refVideo:{},settings:{},onCaptureDone:function(){},outputEncryptionSettings:null};var oH,sH,cH,uH,lH,dH={SUCCESS:"SUCCESS",WARNING:"WARNING"},fH=(wD(Xq={},dH.SUCCESS,"52,206,95"),wD(Xq,dH.WARNING,"255,148,50"),Xq),pH=(wD(Yq={},dH.SUCCESS,"✓"),wD(Yq,dH.WARNING,"!"),Yq),hH=eC.div($q||($q=TD(["\n font-weight: normal;\n"]))),gH=eC.div(Zq||(Zq=TD(["\n height: 2px;\n width: 100%;\n background: ",";\n"])),(function(e){return Vb(["linear-gradient(to right,rgba(",",0),rgba(",",1),rgba(",",0));"],fH[e.type],fH[e.type],fH[e.type])})),mH=eC.div(Jq||(Jq=TD(["\n width: 22px;\n height: 22px;\n border-radius: 50%;\n background: ",";\n display: flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n margin-right: 8px;\n font-weight: bold;\n"])),(function(e){return Vb(["rgb(",")"],fH[e.type])})),yH=eC.div(eH||(eH=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 10px 0;\n"]))),vH=function(e){var t=e.children,r=e.type,n=e.className;return oy.createElement(hH,{className:n},oy.createElement(gH,{type:r}),oy.createElement(yH,null,oy.createElement(mH,{type:r},pH[r]),t),oy.createElement(gH,{type:r}))};vH.propTypes={children:Py.node,type:Py.string,className:Py.string},vH.defaultProps={children:null,type:dH.SUCCESS,className:""};var bH=eC.div(oH||(oH=TD(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),CH=eC.div(sH||(sH=TD(["\n text-align: center;\n font-size: 1rem;\n color: #ea3223;\n margin-top: 10px;\n"]))),wH=eC.button(cH||(cH=TD(["\n margin-top: 20px;\n width: 100%;\n max-width: 160px;\n height: 50px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 0.25rem;\n color: #fff;\n font-weight: 400;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.tsBlue})),EH=eC.img(uH||(uH=TD(["\n width: 100%;\n height: 100%;\n object-fit: contain;\n border-radius: 5px;\n"]))),kH=eC.div(lH||(lH=TD(["\n margin: 20px 0;\n width: 100%;\n display: flex;\n justify-content: space-evenly;\n gap: 10px;\n"]))),SH=function(e){var t=e.imageTaken,r=e.onConfirm,n=e.onTryAgain,i=e.error,a=e.hasValidQR,o=AD(oy.useState(null),2),s=o[0],c=o[1],u=lk.useSDKSettings().lang;return oy.useEffect((function(){var e;return t&&(e=URL.createObjectURL(t.blob),c(e)),function(){URL.revokeObjectURL(e)}}),[t]),oy.createElement(bH,null,null!==a&&oy.createElement(aq,{mb:"20px"},oy.createElement("div",null,oy.createElement(vH,{type:a?dH.SUCCESS:dH.WARNING},a?sK.CONFIRM_POPUP_VALID_QR[u]:sK.CONFIRM_POPUP_INVALID_QR[u]))),oy.createElement(Pq,{ratio:1.5},oy.createElement(EH,{src:s})),i&&oy.createElement(CH,{className:"confirm-popup-error-message"},i.msg[u]),oy.createElement(kH,null,oy.createElement(wH,{onClick:n},sK.BTN_TRY_AGAIN[u]),oy.createElement(wH,{onClick:r},sK.BTN_USE_THIS_PICTURE[u])))};SH.propTypes={imageTaken:Py.shape({}),error:Py.shape({msg:Py.shape({})}),onConfirm:Py.func,onTryAgain:Py.func,hasValidQR:Py.bool},SH.defaultProps={imageTaken:null,error:null,onConfirm:function(){},onTryAgain:function(){},hasValidQR:null};var BH={tsBlue:"#0276f1",tsSecondary:"rgba(0, 47, 117, 0.6)"};function TH(e){var t=this.__data__=new VV(e);this.size=t.size}TH.prototype.clear=function(){this.__data__=new VV,this.size=0},TH.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},TH.prototype.get=function(e){return this.__data__.get(e)},TH.prototype.has=function(e){return this.__data__.has(e)},TH.prototype.set=function(e,t){var r=this.__data__;if(r instanceof VV){var n=r.__data__;if(!jV||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new KV(n)}return r.set(e,t),this.size=r.size,this};var AH,IH=TH,_H=function(e,t,r){(void 0!==r&&!uM(e[t],r)||void 0===r&&!(t in e))&&cM(e,t,r)},xH=function(e,t,r){for(var n=-1,i=Object(e),a=r(e),o=a.length;o--;){var s=a[++n];if(!1===t(i[s],s,i))break}return e},PH=ND((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r?AU.Buffer:void 0,a=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}})),RH=AU.Uint8Array,NH=function(e,t){var r=t?function(e){var t=new e.constructor(e.byteLength);return new RH(t).set(new RH(e)),t}(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)},OH=Object.create,LH=function(){function e(){}return function(t){if(!SU(t))return{};if(OH)return OH(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),DH=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]},UH=function(e,t,r,n,i,a,o){var s=DH(e,r),c=DH(t,r),u=o.get(c);if(u)_H(e,r,u);else{var l=a?a(s,c,r+"",e,t,o):void 0,d=void 0===l;if(d){var f=RM(c),p=!f&&OM(c),h=!f&&!p&&MM(c);l=c,f||p||h?RM(s)?l=s:function(e){return UU(e)&&EM(e)}(s)?l=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(s):p?(d=!1,l=PH(c,!0)):h?(d=!1,l=NH(c,!0)):l=[]:eV(c)||PM(c)?(l=s,PM(s)?l=function(e){return fM(e,HM(e))}(s):SU(s)&&!XU(s)||(l=function(e){return"function"!=typeof e.constructor||zM(e)?{}:LH(WM(e))}(c))):d=!1}d&&(o.set(c,l),i(l,c,n,a,o),o.delete(c)),_H(e,r,l)}},MH=function e(t,r,n,i,a){t!==r&&xH(r,(function(o,s){if(a||(a=new IH),SU(o))UH(t,r,s,n,e,i,a);else{var c=i?i(DH(t,s),o,s+"",t,r,a):void 0;void 0===c&&(c=o),_H(t,s,c)}}),HM)},VH=TM((function(e,t,r){MH(e,t,r)})),jH={data:{settings:{sdk_settings:{id_detection_settings:{auto_capture:{enable:!0,show_capture_button:!0,wait_for_best_image_time_ms_web:1e3},blur_check:{enable:!0,threshold_web:.82},disable_capture_button_if_alert:!1,id_detection:{enable:!0},limit_time_settings:{enable:!0,limit_time_second:30,video_partial_length_seconds:15},save_frame_settings:{enable:!1,frames_interval_ms:190,quality_web:80},scan_qr_settings:{enable:!0,limit_time_second:20}}}}}};function FH(e){var t=e.clientSettings,r=AD(oy.useState(null),2),n=r[0],i=r[1];return oy.useEffect((function(){var e=VH(jH,t),r=$V(e,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.enable"),n=$V(e,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.frames_interval_ms"),a=$V(e,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.quality_web"),o=$V(e,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.enable"),s=$V(e,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.limit_time_second"),c=$V(e,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.video_partial_length_seconds"),u=$V(e,"data.settings.sdk_settings.id_detection_settings.auto_capture.enable"),l=$V(e,"data.settings.sdk_settings.id_detection_settings.auto_capture.wait_for_best_image_time_ms_web"),d=$V(e,"data.settings.sdk_settings.id_detection_settings.blur_check.enable"),f=$V(e,"data.settings.sdk_settings.id_detection_settings.blur_check.threshold_web"),p=$V(e,"data.settings.sdk_settings.id_detection_settings.disable_capture_button_if_alert"),h=$V(e,"data.settings.sdk_settings.id_detection_settings.id_detection.enable"),g=$V(e,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable"),m=$V(e,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.limit_time_second");i({enableRecording:r,frameCaptureIntervalMs:n,idCardSessionTime:s,maxRecordingTimePerVideo:c,saveFrameQuality:a,enableTimers:o,enableAutoCapture:u,waitForBestImageTimeMs:l,enableBlurCheck:d,blurThreshold:f,disableCaptureButtonIfAlert:p,enableIdDetection:h,enableScanQr:g,scanQrLimitTimeSecond:m})}),[t]),{settings:n}}var zH=rC(AH||(AH=TD(["\n .text-primary {\n color: ",";\n }\n"])),(function(e){return e.theme.tsBlue})),KH=oC.IDCardSide,qH=oC.IDCardType,HH=oC.Errors,GH={ID_CARD:"id_card",QR_CODE:"qr_code"},QH=[{scannerType:GH.ID_CARD,title:"Mặt trước CMND/CCCD",description:"Vui lòng đặt CMND mặt trước vào trong khung",titleIcon:"id_card_front.svg",cardSide:oC.IDCardSide.FRONT,cardType:qH.VN,frontCamera:!1,enableConfirmPopup:!0},{scannerType:GH.ID_CARD,title:"Mặt sau CMND/CCCD",description:"Vui lòng đặt CMND mặt sau vào trong khung",titleIcon:"id_card_back.svg",cardSide:oC.IDCardSide.BACK,cardType:qH.VN,frontCamera:!1,enableConfirmPopup:!0}],WH={scannerType:GH.QR_CODE,title:"Quét mã QR trên CCCD",frontCamera:!1};function XH(e){var t=e.onClose,r=e.onError,n=e.clientSettings,i=e.detectIdCard,a=e.onStepDone,o=e.steps,s=e.outputEncryptionSettings,c=AD(oy.useState(0),2),u=c[0],l=c[1],d=AD(oy.useState(o[u]),2),f=d[0],p=d[1],h=oy.useRef(null),g=AD(oy.useState(null),2),m=g[0],y=g[1],v=AD(oy.useState(!1),2),b=v[0],C=v[1],w=AD(oy.useState(0),2),E=w[0],k=w[1],S=oy.useRef(),B=f.scannerType,T=f.frontCamera,A=f.title,I=f.titleIcon,_=f.cardSide,x=f.description,P=f.usePortraitMask,R=f.cardType,N=f.enableConfirmPopup,O=_===KH.FRONT,L=Hk.useAsset(I),D=pK(),U=D.showPopup,M=D.popupShown,V=D.popupType,j=D.props,F=AD(oy.useState(!1),2),z=F[0],K=F[1],q=Hk.useAsset("ic_loading.png"),H=oy.useRef({}),G=oy.useRef(null),Q=oy.useRef([]),W=FH({clientSettings:n}).settings,X=AD(oy.useState({}),2),Y=X[0],$=X[1],Z=Y.yTitle,J=oy.useCallback((function(e){y(e),C(!0)}),[]);oy.useEffect((function(){C(!1)}),[T]);var ee=oy.useCallback((function(){U({popupType:null})}),[U]),te=oy.useCallback((function(e){e>=o.length||setTimeout((function(){l(e),p(o[e])}),200)}),[o]),re=oy.useCallback((function(){te(u+1)}),[te,u]),ne=oy.useCallback((function(){setTimeout((function(){p((function(e){return SD(SD({},WH),{},{enableConfirmPopup:e.enableConfirmPopup})}))}),200)}),[]),ie=oy.useCallback(CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={stepNumber:u,image:H.current,recordedVideos:null!=W&&W.enableRecording?Q.current:[]},B===GH.QR_CODE&&(t.qrScannedResult=G.current),K(!0),e.next=5,a(t);case 5:K(!1),re();case 7:case"end":return e.stop()}}),e)}))),[W,u,a,re,B]),ae=oy.useCallback((function(){ee(),B===GH.QR_CODE?te(u):B===GH.ID_CARD&&S.current.restartSession()}),[te,u,ee,B]),oe=oy.useCallback((function(){ee(),ie()}),[ie,ee]),se=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,a,o,s,c,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.image,a=t.error,o=t.recordedVideos,H.current=n,Q.current=o,k((function(e){return e+1})),_!==oC.IDCardSide.FRONT){e.next=23;break}if(!W.enableScanQr||!GD.isMobile){e.next=23;break}if(c=null==n||null===(s=n.detectedCard)||void 0===s?void 0:s.label){e.next=20;break}return K(!0),e.prev=9,e.next=12,i({image:n,cardType:R,cardSide:_});case 12:u=e.sent,c=u.card_label,e.next=19;break;case 16:e.prev=16,e.t0=e.catch(9),r(HH.detect_id_card_error);case 19:K(!1);case 20:if(!c||!"vn.cccd_new.front".includes(c)){e.next=23;break}return ne(),e.abrupt("return");case 23:N?U({popupType:gK,props:{imageTaken:H.current,error:a}}):ie();case 24:case"end":return e.stop()}}),e,null,[[9,16]])})));return function(t){return e.apply(this,arguments)}}(),[N,U,_,W,R,i,ie,ne,r]),ce=oy.useCallback((function(e){var t;if(G.current=e,e){var r,n=e.recordedVideos;(r=Q.current).push.apply(r,ID(n))}k((function(e){return e+1}));var i=Boolean(null==e||null===(t=e.validateResult)||void 0===t?void 0:t.valid);N?U({popupType:gK,props:{hasValidQR:i,imageTaken:H.current}}):ie()}),[U,N,ie]);return oy.createElement($b,{theme:BH},oy.createElement(Wz,null,oy.createElement(gU,{key:T,frontCamera:T,onVideoPlayed:J,onClose:t,flipHorizontal:T,ref:h,onError:r},b&&oy.createElement(oy.Fragment,null,B===GH.ID_CARD&&oy.createElement($K,{key:u,ref:S,windowAndVideoInfo:m,refVideo:h,settings:W,onCaptureDone:se,onUISpacingChange:$,frontSide:O,description:x,usePortraitMask:P,outputEncryptionSettings:s}),B===GH.QR_CODE&&oy.createElement(aH,{key:u,refVideo:h,windowAndVideoInfo:m,settings:W,onCaptureDone:ce,onUISpacingChange:$,outputEncryptionSettings:s})),oy.createElement(Qz,{keyForTransition:E}),oy.createElement(Jz,{y:"".concat(Z,"px")},oy.createElement(dz,null,oy.createElement(sz,{key:A,timeout:{enter:500,exit:500},classNames:"flipY",unmountOnExit:!0},oy.createElement(eK,null,I&&oy.createElement(Xz,{src:L,alt:""}),oy.createElement(tK,{className:"title"},A))))),z&&oy.createElement($z,null,oy.createElement("img",{src:q,alt:"",className:"spin"}))),oy.createElement(Yj,{open:M},V===gK&&oy.createElement(SH,ED({},j,{onConfirm:oe,onTryAgain:ae})))),oy.createElement(zH,null))}XH.propTypes={onClose:Py.func,onError:Py.func,clientSettings:Py.shape({}),detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),outputEncryptionSettings:Py.shape({})},XH.defaultProps={onClose:function(){},onError:function(){},clientSettings:{},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:QH,outputEncryptionSettings:null};var YH=["tracking","clientSettings"];function $H(e){var t=e.tracking,r=e.clientSettings,n=BD(e,YH),i=oy.useMemo((function(){return $V(r,"data.settings.sdk_settings.server_log_settings.enable",null==t?void 0:t.enable)}),[r,t]);return oy.createElement(zk.SDKTrackingProvider,{value:{tracking:SD(SD({},t),{},{enable:i})}},oy.createElement(XH,ED({},n,{clientSettings:r})))}$H.propTypes={tracking:Py.shape({}),clientSettings:Py.shape({})},$H.defaultProps={tracking:void 0,clientSettings:void 0};var ZH=oC.IDCardSide,JH=oC.Errors;function eG(e){return tG.apply(this,arguments)}function tG(){return(tG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.image,n=t.cardType,i=t.cardSide,a=t.apiClient,o=t.outputEncryptionSettings,s={label:"id_card.".concat(n,".").concat(i)},!o||!o.key){e.next=4;break}return e.abrupt("return",a.httpClient.post("/v1/images",SD({base64:r.encrypted.hex},s),{"X-TV-Key":o.key}));case 4:return e.abrupt("return",a.uploadImage(SD({file:r.blob},s)));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rG(e){return nG.apply(this,arguments)}function nG(){return(nG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.image,n=t.apiClient,i=t.rawString,a=t.outputEncryptionSettings,o={label:"qr_code",metadata:JSON.stringify({raw:i})},!a||!a.key){e.next=4;break}return e.abrupt("return",n.httpClient.post("/v1/images",SD({base64:r.encrypted.hex},o),{"X-TV-Key":a.key}));case 4:return e.abrupt("return",n.uploadImage(SD({file:r.blob},o)));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function iG(e){return aG.apply(this,arguments)}function aG(){return(aG=CD(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.imageId,n=t.cardType,i=t.apiClient,e.abrupt("return",i.requestVerifyIDCard({card_type:n,image1:{id:r}}));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function oG(e){return sG.apply(this,arguments)}function sG(){return(sG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.apiClient,n=t.cardType,i=t.frontCardId,a=t.isCapturingFrontSide,o=t.backCardId,s=t.recordedVideos,c=t.qrImageId,u=s.filter((function(e){return null!==e.id})),l=s.filter((function(e){return null===e.id&&e.frames.length>0})),e.next=5,Promise.all(l.map((function(e){return r.fileService.request({frames:e.frames})})));case 5:return d=e.sent,f={card_type:n,image:{id:i},image2:a?void 0:{id:o},videos:[].concat(ID(u.map((function(e){return{id:e.id}}))),ID(d.map((function(e){return{id:e.data.file_id}}))))},c&&(f.qr1_images=[{id:c}]),e.abrupt("return",r.detectIDTampering(f));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function cG(e){return uG.apply(this,arguments)}function uG(){return(uG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.cardType,n=t.apiClient,i=t.frontCardId,a=t.backCardId,o=t.isCapturingFrontSide,s=t.qrImageId,c={card_type:r,image1:o?{id:i}:{id:a}},s&&(c.qr1_images=[{id:s}]),e.abrupt("return",n.readIDCard(c));case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lG(e){return dG.apply(this,arguments)}function dG(){return(dG=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.image,i=t.frontCardId,a=t.qrImageId,o=t.onError,s=t.recordedVideos,c=t.apiClient,u=t.cardType,l=t.cardSide,d=t.qrScannedResult,f=t.outputEncryptionSettings,l!==ZH.BACK||i){e.next=4;break}return o(JH.missing_front_id_card),e.abrupt("return");case 4:return p=[eG({image:n,cardType:u,cardSide:l,apiClient:c,outputEncryptionSettings:f})],d&&p.push(rG({image:d.image,apiClient:c,rawString:d.result,outputEncryptionSettings:f})),e.next=8,Promise.all(p);case 8:if(h=e.sent,g=AD(h,2),m=g[0],y=g[1],!m.errors){e.next=15;break}return o(SD(SD({},JH.upload_error),{},{details:m.errors})),e.abrupt("return");case 15:return v=m.data.image_id,b=(null==y||null===(r=y.data)||void 0===r?void 0:r.image_id)||a,(E=l===ZH.FRONT)?C=v:(C=i,w=v),e.next=21,iG({imageId:v,cardType:u,apiClient:c});case 21:if(!(k=e.sent).errors){e.next=25;break}return o(SD(SD({},JH.sanity_check_error),{},{details:k.errors})),e.abrupt("return");case 25:return e.next=27,cG({cardType:u,apiClient:c,frontCardId:C,backCardId:w,isCapturingFrontSide:E,qrImageId:b});case 27:if(!(S=e.sent).errors){e.next=31;break}return o(SD(SD({},JH.read_id_card_error),{},{details:S.errors})),e.abrupt("return");case 31:return e.next=33,oG({apiClient:c,cardType:u,frontCardId:C,isCapturingFrontSide:E,backCardId:w,recordedVideos:s,qrImageId:b});case 33:if(!(B=e.sent).errors){e.next=37;break}return o(SD(SD({},JH.detect_id_tampering_error),{},{details:B.errors})),e.abrupt("return");case 37:return e.abrupt("return",{sanityResult:k.data,tamperingInfo:B.data,cardInfo:S.data,qrImageId:b});case 38:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var fG=["onClose","onError","detectIdCard","steps","onStepDone","apiCredentials","tracking","outputEncryptionSettings"],pG=oC.Errors,hG=function(e){var t=e.onClose,r=e.onError,n=e.detectIdCard,i=e.steps,a=e.onStepDone,o=e.apiCredentials,s=e.tracking,c=e.outputEncryptionSettings,u=BD(e,fG),l=AD(oy.useState(null),2),d=l[0],f=l[1],p=YB.useApiClient({apiCredentials:o,tracking:s}).apiClient,h=oy.useRef(""),g=oy.useRef("");oy.useEffect((function(){function e(){return(e=CD(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.clientSettings();case 2:t=e.sent,f(t);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[p]);var m=oy.useCallback(function(){var e=CD(regeneratorRuntime.mark((function e(t){var n,o,s,u,l,d,f,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.stepNumber,o=t.recordedVideos,s=t.qrScannedResult,u=t.image,l=i[n],d=l.cardType,f=l.cardSide,m=null,e.prev=3,e.next=6,lG({image:u,cardSide:f,frontCardId:h.current,qrImageId:g.current,onError:r,apiClient:p,cardType:d,recordedVideos:o,qrScannedResult:s,outputEncryptionSettings:c});case 6:m=e.sent,f===oC.IDCardSide.FRONT&&(h.current=m.cardInfo.image1.id),g.current=m.qrImageId,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(3),r(SD(SD({},pG.api_call_error),{},{details:e.t0}));case 14:m&&a(SD(SD({},t),{},{apiResult:m}));case 15:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t){return e.apply(this,arguments)}}(),[p,r,i,a,c]);return d&&oy.createElement($H,ED({tracking:s,onClose:t,onError:r,detectIdCard:n,onStepDone:m,steps:i,outputEncryptionSettings:c},u,{clientSettings:d}))};function gG(){return(gG=CD(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=s.length>0&&void 0!==s[0]?s[0]:{},r=t.opencvUrl,n=t.idCardModelUrl,i=t.blazefaceModelUrl,a=t.tfScriptUrls,"iOS"!==GD.osName||!GD.osVersion.includes("12.")){e.next=5;break}return e.next=4,RK({url:r});case 4:return e.abrupt("return");case 5:return e.next=7,vT.loadTensorFlow(a);case 7:return e.next=9,vT.initTensorFlow({preferredBackends:["wasm","webgl","cpu"]});case 9:return o=new DK,e.next=12,Promise.all([o.loadResource({modelUrl:n}),vT.loadBlazefaceModel({modelUrl:i}),RK({url:r})]);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}hG.propTypes={onClose:Py.func,onError:Py.func,detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string}),tracking:Py.shape({}),outputEncryptionSettings:Py.shape({})},hG.defaultProps={onClose:function(){},onError:function(){},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:QH,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"},outputEncryptionSettings:{key:""},tracking:void 0};var mG=rj((function(){return gG.apply(this,arguments)})),yG=function(){var e=CD(regeneratorRuntime.mark((function e(t){var r,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.blob,n=t.resultWarmup,i=n.idCardModel,a=n.ableToUseModel){e.next=4;break}return e.abrupt("return",{ableToUseModel:a});case 4:return e.next=6,DB.blobToCanvas({blob:r});case 6:return o=e.sent,e.abrupt("return",i.predict(o,{detectThreshold:.3}));case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),vG=Ej,bG=BD(DF,["useLivenessDetection"]);function CG(){return(CG=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function wG(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}function EG(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function kG(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var SG=!1,BG=oy.createContext(null),TG="entering",AG="entered",IG=function(e){function t(t,r){var n;n=e.call(this,t,r)||this;var i,a=r&&!r.isMounting?t.enter:t.appear;return n.appearStatus=null,t.in?a?(i="exited",n.appearStatus=TG):i=AG:i=t.unmountOnExit||t.mountOnEnter?"unmounted":"exited",n.state={status:i},n.nextCallback=null,n}EG(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&"unmounted"===t.status?{status:"exited"}:null};var r=t.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(e){var t=null;if(e!==this.props){var r=this.state.status;this.props.in?r!==TG&&r!==AG&&(t=TG):r!==TG&&r!==AG||(t="exiting")}this.updateStatus(!1,t)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var e,t,r,n=this.props.timeout;return e=t=r=n,null!=n&&"number"!=typeof n&&(e=n.exit,t=n.enter,r=void 0!==n.appear?n.appear:t),{exit:e,enter:t,appear:r}},r.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),t===TG?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&"exited"===this.state.status&&this.setState({status:"unmounted"})},r.performEnter=function(e){var t=this,r=this.props.enter,n=this.context?this.context.isMounting:e,i=this.props.nodeRef?[n]:[yD.findDOMNode(this),n],a=i[0],o=i[1],s=this.getTimeouts(),c=n?s.appear:s.enter;!e&&!r||SG?this.safeSetState({status:AG},(function(){t.props.onEntered(a)})):(this.props.onEnter(a,o),this.safeSetState({status:TG},(function(){t.props.onEntering(a,o),t.onTransitionEnd(c,(function(){t.safeSetState({status:AG},(function(){t.props.onEntered(a,o)}))}))})))},r.performExit=function(){var e=this,t=this.props.exit,r=this.getTimeouts(),n=this.props.nodeRef?void 0:yD.findDOMNode(this);t&&!SG?(this.props.onExit(n),this.safeSetState({status:"exiting"},(function(){e.props.onExiting(n),e.onTransitionEnd(r.exit,(function(){e.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))}))}))):this.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},r.setNextCallback=function(e){var t=this,r=!0;return this.nextCallback=function(n){r&&(r=!1,t.nextCallback=null,e(n))},this.nextCallback.cancel=function(){r=!1},this.nextCallback},r.onTransitionEnd=function(e,t){this.setNextCallback(t);var r=this.props.nodeRef?this.props.nodeRef.current:yD.findDOMNode(this),n=null==e&&!this.props.addEndListener;if(r&&!n){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[r,this.nextCallback],a=i[0],o=i[1];this.props.addEndListener(a,o)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},r.render=function(){var e=this.state.status;if("unmounted"===e)return null;var t=this.props,r=t.children,n=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,wG(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return oy.createElement(BG.Provider,{value:null},"function"==typeof r?r(e,n):oy.cloneElement(oy.Children.only(r),n))},t}(oy.Component);function _G(){}IG.contextType=BG,IG.propTypes={},IG.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:_G,onEntering:_G,onEntered:_G,onExit:_G,onExiting:_G,onExited:_G},IG.UNMOUNTED="unmounted",IG.EXITED="exited",IG.ENTERING=TG,IG.ENTERED=AG,IG.EXITING="exiting";var xG,PG,RG=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.add(n):function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")}(r,n)||("string"==typeof r.className?r.className=r.className+" "+n:r.setAttribute("class",(r.className&&r.className.baseVal||"")+" "+n)));var r,n}))},NG=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return n=t,void((r=e).classList?r.classList.remove(n):"string"==typeof r.className?r.className=kG(r.className,n):r.setAttribute("class",kG(r.className&&r.className.baseVal||"",n)));var r,n}))},OG=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).appliedClasses={appear:{},enter:{},exit:{}},t.onEnter=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1];t.removeClasses(i,"exit"),t.addClass(i,a?"appear":"enter","base"),t.props.onEnter&&t.props.onEnter(e,r)},t.onEntering=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.addClass(i,a,"active"),t.props.onEntering&&t.props.onEntering(e,r)},t.onEntered=function(e,r){var n=t.resolveArguments(e,r),i=n[0],a=n[1]?"appear":"enter";t.removeClasses(i,a),t.addClass(i,a,"done"),t.props.onEntered&&t.props.onEntered(e,r)},t.onExit=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"appear"),t.removeClasses(r,"enter"),t.addClass(r,"exit","base"),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){var r=t.resolveArguments(e)[0];t.addClass(r,"exit","active"),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){var r=t.resolveArguments(e)[0];t.removeClasses(r,"exit"),t.addClass(r,"exit","done"),t.props.onExited&&t.props.onExited(e)},t.resolveArguments=function(e,r){return t.props.nodeRef?[t.props.nodeRef.current,e]:[e,r]},t.getClassNames=function(e){var r=t.props.classNames,n="string"==typeof r,i=n?""+(n&&r?r+"-":"")+e:r[e];return{baseClassName:i,activeClassName:n?i+"-active":r[e+"Active"],doneClassName:n?i+"-done":r[e+"Done"]}},t}EG(t,e);var r=t.prototype;return r.addClass=function(e,t,r){var n=this.getClassNames(t)[r+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===t&&"done"===r&&i&&(n+=" "+i),"active"===r&&e&&e.scrollTop,n&&(this.appliedClasses[t][r]=n,RG(e,n))},r.removeClasses=function(e,t){var r=this.appliedClasses[t],n=r.base,i=r.active,a=r.done;this.appliedClasses[t]={},n&&NG(e,n),i&&NG(e,i),a&&NG(e,a)},r.render=function(){var e=this.props,t=(e.classNames,wG(e,["classNames"]));return oy.createElement(IG,CG({},t,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(oy.Component);OG.defaultProps={classNames:""},OG.propTypes={};var LG="out-in",DG="in-out",UG=function(e,t,r){return function(){var n;e.props[t]&&(n=e.props)[t].apply(n,arguments),r()}},MG=((xG={})[LG]=function(e){var t=e.current,r=e.changeState;return oy.cloneElement(t,{in:!1,onExited:UG(t,"onExited",(function(){r(TG,null)}))})},xG[DG]=function(e){var t=e.current,r=e.changeState,n=e.children;return[t,oy.cloneElement(n,{in:!0,onEntered:UG(n,"onEntered",(function(){r(TG)}))})]},xG),VG=((PG={})[LG]=function(e){var t=e.children,r=e.changeState;return oy.cloneElement(t,{in:!0,onEntered:UG(t,"onEntered",(function(){r(AG,oy.cloneElement(t,{in:!0}))}))})},PG[DG]=function(e){var t=e.current,r=e.children,n=e.changeState;return[oy.cloneElement(t,{in:!1,onExited:UG(t,"onExited",(function(){n(AG,oy.cloneElement(r,{in:!0}))}))}),oy.cloneElement(r,{in:!0})]},PG),jG=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).state={status:AG,current:null},t.appeared=!1,t.changeState=function(e,r){void 0===r&&(r=t.state.current),t.setState({status:e,current:r})},t}EG(t,e);var r=t.prototype;return r.componentDidMount=function(){this.appeared=!0},t.getDerivedStateFromProps=function(e,t){return null==e.children?{current:null}:t.status===TG&&e.mode===DG?{status:TG}:!t.current||(r=t.current,n=e.children,r===n||oy.isValidElement(r)&&oy.isValidElement(n)&&null!=r.key&&r.key===n.key)?{current:oy.cloneElement(e.children,{in:!0})}:{status:"exiting"};var r,n},r.render=function(){var e,t=this.props,r=t.children,n=t.mode,i=this.state,a=i.status,o=i.current,s={children:r,current:o,changeState:this.changeState,status:a};switch(a){case TG:e=VG[n](s);break;case"exiting":e=MG[n](s);break;case AG:e=o}return oy.createElement(BG.Provider,{value:{isMounting:!this.appeared}},e)},t}(oy.Component);jG.propTypes={},jG.defaultProps={mode:LG};var FG=a((function(e){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var n={MOBILE:"mobile",TABLET:"tablet",SMART_TV:"smarttv",CONSOLE:"console",WEARABLE:"wearable",BROWSER:void 0};e.exports={BROWSER_TYPES:{CHROME:"Chrome",FIREFOX:"Firefox",OPERA:"Opera",YANDEX:"Yandex",SAFARI:"Safari",INTERNET_EXPLORER:"Internet Explorer",EDGE:"Edge",CHROMIUM:"Chromium",IE:"IE",MOBILE_SAFARI:"Mobile Safari",EDGE_CHROMIUM:"Edge Chromium"},DEVICE_TYPES:n,OS_TYPES:{IOS:"iOS",ANDROID:"Android",WINDOWS_PHONE:"Windows Phone",WINDOWS:"Windows",MAC_OS:"Mac OS"},defaultData:{isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1}}},function(e,t,r){var n,i=r(2),a=r(0),o=a.BROWSER_TYPES,s=a.OS_TYPES,c=a.DEVICE_TYPES,u=r(4),l=u.checkType,d=u.broPayload,f=u.mobilePayload,p=u.wearPayload,h=u.consolePayload,g=u.stvPayload,m=u.getNavigatorInstance,y=u.isIOS13Check,v=new i,b=v.getBrowser(),C=v.getDevice(),w=v.getEngine(),E=v.getOS(),k=v.getUA(),S=o.CHROME,B=o.CHROMIUM,T=o.IE,A=o.INTERNET_EXPLORER,I=o.OPERA,_=o.FIREFOX,x=o.SAFARI,P=o.EDGE,R=o.YANDEX,N=o.MOBILE_SAFARI,O=c.MOBILE,L=c.TABLET,D=c.SMART_TV,U=c.BROWSER,M=c.WEARABLE,V=c.CONSOLE,j=s.ANDROID,F=s.WINDOWS_PHONE,z=s.IOS,K=s.WINDOWS,q=s.MAC_OS,H=function(){return E.name===s.WINDOWS&&"10"===E.version&&("string"==typeof k&&-1!==k.indexOf("Edg/"))},G=function(){return b.name===P},Q=function(){return y("iPad")},W=C.type===D,X=C.type===V,Y=C.type===M,$=b.name===N||Q(),Z=b.name===B,J=function(){switch(C.type){case O:case L:return!0;default:return!1}}()||Q(),ee=C.type===O,te=C.type===L||Q(),re=C.type===U,ne=E.name===j,ie=E.name===F,ae=E.name===z||Q(),oe=b.name===S,se=b.name===_,ce=b.name===x||b.name===N,ue=b.name===I,le=b.name===A||b.name===T,de=E.version?E.version:"none",fe=E.name?E.name:"none",pe=b.major,he=b.version,ge=b.name,me=C.vendor?C.vendor:"none",ye=C.model?C.model:"none",ve=w.name,be=w.version,Ce=k,we=G()||H(),Ee=b.name===R,ke=C.type,Se=(n=m())&&(/iPad|iPhone|iPod/.test(n.platform)||"MacIntel"===n.platform&&n.maxTouchPoints>1)&&!window.MSStream,Be=Q(),Te=y("iPhone"),Ae=y("iPod"),Ie=function(){var e=m(),t=e&&e.userAgent.toLowerCase();return"string"==typeof t&&/electron/.test(t)}(),_e=H(),xe=G(),Pe=E.name===K,Re=E.name===q,Ne=l(C.type);e.exports={deviceDetect:function(){var e=Ne.isBrowser,t=Ne.isMobile,r=Ne.isTablet,n=Ne.isSmartTV,i=Ne.isConsole,a=Ne.isWearable;return e?d(e,b,w,E,k):n?g(n,w,E,k):i?h(i,w,E,k):t||r?f(Ne,C,E,k):a?p(a,w,E,k):void 0},isSmartTV:W,isConsole:X,isWearable:Y,isMobileSafari:$,isChromium:Z,isMobile:J,isMobileOnly:ee,isTablet:te,isBrowser:re,isAndroid:ne,isWinPhone:ie,isIOS:ae,isChrome:oe,isFirefox:se,isSafari:ce,isOpera:ue,isIE:le,osVersion:de,osName:fe,fullBrowserVersion:pe,browserVersion:he,browserName:ge,mobileVendor:me,mobileModel:ye,engineName:ve,engineVersion:be,getUA:Ce,isEdge:we,isYandex:Ee,deviceType:ke,isIOS13:Se,isIPad13:Be,isIPhone13:Te,isIPod13:Ae,isElectron:Ie,isEdgeChromium:_e,isLegacyEdge:xe,isWindows:Pe,isMacOs:Re}},function(e,t,r){var n;
|
54
54
|
/*!
|
55
55
|
* UAParser.js v0.7.18
|
56
56
|
* Lightweight JavaScript-based User-Agent string parser
|
@@ -58,7 +58,7 @@ function(e){var t=r,n=t.lib,i=n.WordArray,a=n.Hasher,o=t.algo,s=i.create([0,1,2,
|
|
58
58
|
*
|
59
59
|
* Copyright © 2012-2016 Faisal Salman <fyzlman@gmail.com>
|
60
60
|
* Dual licensed under GPLv2 or MIT
|
61
|
-
*/!function(i,a){var o="function",s="undefined",c="object",u="model",l="name",d="type",f="vendor",p="version",h="architecture",g="console",m="mobile",y="tablet",v="smarttv",b="wearable",C={extend:function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:a},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},w={rgx:function(e,t){for(var r,n,i,s,u,l,d=0;d<t.length&&!u;){var f=t[d],p=t[d+1];for(r=n=0;r<f.length&&!u;)if(u=f[r++].exec(e))for(i=0;i<p.length;i++)l=u[++n],typeof(s=p[i])===c&&s.length>0?2==s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3==s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):a:this[s[0]]=l?s[1].call(this,l,s[2]):a:4==s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):a):this[s]=l||a;d+=2}},str:function(e,t){for(var r in t)if(typeof t[r]===c&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(C.has(t[r][n],e))return"?"===r?a:r}else if(C.has(t[r],e))return"?"===r?a:r;return e}},E={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}},k={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[l,p],[/(opios)[\/\s]+([\w\.]+)/i],[[l,"Opera Mini"],p],[/\s(opr)\/([\w\.]+)/i],[[l,"Opera"],p],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]*)/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark)\/([\w\.-]+)/i],[l,p],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[l,"IE"],p],[/(edge|edgios|edgea)\/((\d+)?[\w\.]+)/i],[[l,"Edge"],p],[/(yabrowser)\/([\w\.]+)/i],[[l,"Yandex"],p],[/(puffin)\/([\w\.]+)/i],[[l,"Puffin"],p],[/((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],[[l,"UCBrowser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],p],[/(micromessenger)\/([\w\.]+)/i],[[l,"WeChat"],p],[/(qqbrowserlite)\/([\w\.]+)/i],[l,p],[/(QQ)\/([\d\.]+)/i],[l,p],[/m?(qqbrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(BIDUBrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(2345Explorer)[\/\s]?([\w\.]+)/i],[l,p],[/(MetaSr)[\/\s]?([\w\.]+)/i],[l],[/(LBBROWSER)/i],[l],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[p,[l,"MIUI Browser"]],[/;fbav\/([\w\.]+);/i],[p,[l,"Facebook"]],[/headlesschrome(?:\/([\w\.]+)|\s)/i],[p,[l,"Chrome Headless"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[l,/(.+)/,"$1 WebView"],p],[/((?:oculus|samsung)browser)\/([\w\.]+)/i],[[l,/(.+(?:g|us))(.+)/,"$1 $2"],p],[/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],[p,[l,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i],[l,p],[/(dolfin)\/([\w\.]+)/i],[[l,"Dolphin"],p],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[l,"Chrome"],p],[/(coast)\/([\w\.]+)/i],[[l,"Opera Coast"],p],[/fxios\/([\w\.-]+)/i],[p,[l,"Firefox"]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[p,[l,"Mobile Safari"]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[p,l],[/webkit.+?(gsa)\/([\w\.]+).+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[[l,"GSA"],p],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[l,[p,w.str,E.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[l,p],[/(navigator|netscape)\/([\w\.-]+)/i],[[l,"Netscape"],p],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]*)/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[l,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[h,"amd64"]],[/(ia32(?=;))/i],[[h,C.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[h,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[h,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[h,/ower/,"",C.lowerize]],[/(sun4\w)[;\)]/i],[[h,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[h,C.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[u,f,[d,y]],[/applecoremedia\/[\w\.]+ \((ipad)/],[u,[f,"Apple"],[d,y]],[/(apple\s{0,1}tv)/i],[[u,"Apple TV"],[f,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[f,u,[d,y]],[/(kf[A-z]+)\sbuild\/.+silk\//i],[u,[f,"Amazon"],[d,y]],[/(sd|kf)[0349hijorstuw]+\sbuild\/.+silk\//i],[[u,w.str,E.device.amazon.model],[f,"Amazon"],[d,m]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[u,f,[d,m]],[/\((ip[honed|\s\w*]+);/i],[u,[f,"Apple"],[d,m]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[f,u,[d,m]],[/\(bb10;\s(\w+)/i],[u,[f,"BlackBerry"],[d,m]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone)/i],[u,[f,"Asus"],[d,y]],[/(sony)\s(tablet\s[ps])\sbuild\//i,/(sony)?(?:sgp.+)\sbuild\//i],[[f,"Sony"],[u,"Xperia Tablet"],[d,y]],[/android.+\s([c-g]\d{4}|so[-l]\w+)\sbuild\//i],[u,[f,"Sony"],[d,m]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[f,u,[d,g]],[/android.+;\s(shield)\sbuild/i],[u,[f,"Nvidia"],[d,g]],[/(playstation\s[34portablevi]+)/i],[u,[f,"Sony"],[d,g]],[/(sprint\s(\w+))/i],[[f,w.str,E.device.sprint.vendor],[u,w.str,E.device.sprint.model],[d,m]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[f,u,[d,y]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w*)/i,/(alcatel|geeksphone|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i],[f,[u,/_/g," "],[d,m]],[/(nexus\s9)/i],[u,[f,"HTC"],[d,y]],[/d\/huawei([\w\s-]+)[;\)]/i,/(nexus\s6p)/i],[u,[f,"Huawei"],[d,m]],[/(microsoft);\s(lumia[\s\w]+)/i],[f,u,[d,m]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[u,[f,"Microsoft"],[d,g]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[f,"Microsoft"],[d,m]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)[\w\s]+build\//i,/mot[\s-]?(\w*)/i,/(XT\d{3,4}) build\//i,/(nexus\s6)/i],[u,[f,"Motorola"],[d,m]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[u,[f,"Motorola"],[d,y]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[f,C.trim],[u,C.trim],[d,v]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[f,"Samsung"],[d,v]],[/\(dtv[\);].+(aquos)/i],[u,[f,"Sharp"],[d,v]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[f,"Samsung"],u,[d,y]],[/smart-tv.+(samsung)/i],[f,[d,v],u],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)/i,/sec-((sgh\w+))/i],[[f,"Samsung"],u,[d,m]],[/sie-(\w*)/i],[u,[f,"Siemens"],[d,m]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]*)/i],[[f,"Nokia"],u,[d,m]],[/android\s3\.[\s\w;-]{10}(a\d{3})/i],[u,[f,"Acer"],[d,y]],[/android.+([vl]k\-?\d{3})\s+build/i],[u,[f,"LG"],[d,y]],[/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[f,"LG"],u,[d,y]],[/(lg) netcast\.tv/i],[f,u,[d,v]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w*)/i,/android.+lg(\-?[\d\w]+)\s+build/i],[u,[f,"LG"],[d,m]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[u,[f,"Lenovo"],[d,y]],[/linux;.+((jolla));/i],[f,u,[d,m]],[/((pebble))app\/[\d\.]+\s/i],[f,u,[d,b]],[/android.+;\s(oppo)\s?([\w\s]+)\sbuild/i],[f,u,[d,m]],[/crkey/i],[[u,"Chromecast"],[f,"Google"]],[/android.+;\s(glass)\s\d/i],[u,[f,"Google"],[d,b]],[/android.+;\s(pixel c)\s/i],[u,[f,"Google"],[d,y]],[/android.+;\s(pixel xl|pixel)\s/i],[u,[f,"Google"],[d,m]],[/android.+;\s(\w+)\s+build\/hm\1/i,/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i,/android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d?\w?)[\s_]*(?:plus)?)\s+build/i,/android.+(redmi[\s\-_]*(?:note)?(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,m]],[/android.+(mi[\s\-_]*(?:pad)(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,y]],[/android.+;\s(m[1-5]\snote)\sbuild/i],[u,[f,"Meizu"],[d,y]],[/android.+a000(1)\s+build/i,/android.+oneplus\s(a\d{4})\s+build/i],[u,[f,"OnePlus"],[d,m]],[/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i],[u,[f,"RCA"],[d,y]],[/android.+[;\/\s]+(Venue[\d\s]{2,7})\s+build/i],[u,[f,"Dell"],[d,y]],[/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i],[u,[f,"Verizon"],[d,y]],[/android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i],[[f,"Barnes & Noble"],u,[d,y]],[/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i],[u,[f,"NuVision"],[d,y]],[/android.+;\s(k88)\sbuild/i],[u,[f,"ZTE"],[d,y]],[/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i],[u,[f,"Swiss"],[d,m]],[/android.+[;\/]\s*(zur\d{3})\s+build/i],[u,[f,"Swiss"],[d,y]],[/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i],[u,[f,"Zeki"],[d,y]],[/(android).+[;\/]\s+([YR]\d{2})\s+build/i,/android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i],[[f,"Dragon Touch"],u,[d,y]],[/android.+[;\/]\s*(NS-?\w{0,9})\sbuild/i],[u,[f,"Insignia"],[d,y]],[/android.+[;\/]\s*((NX|Next)-?\w{0,9})\s+build/i],[u,[f,"NextBook"],[d,y]],[/android.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i],[[f,"Voice"],u,[d,m]],[/android.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i],[[f,"LvTel"],u,[d,m]],[/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i],[u,[f,"Envizen"],[d,y]],[/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i],[u,[f,"MachSpeed"],[d,y]],[/android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*TU_(1491)\s+build/i],[u,[f,"Rotor"],[d,y]],[/android.+(KS(.+))\s+build/i],[u,[f,"Amazon"],[d,y]],[/android.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i],[f,u,[d,y]],[/\s(tablet|tab)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[d,C.lowerize],f,u],[/(android[\w\.\s\-]{0,9});.+build/i],[u,[f,"Generic"]]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[p,[l,"EdgeHTML"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[l,p],[/rv\:([\w\.]{1,9}).+(gecko)/i],[p,l]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[l,p],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[l,[p,w.str,E.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[l,"Windows"],[p,w.str,E.os.windows.version]],[/\((bb)(10);/i],[[l,"BlackBerry"],p],[/(blackberry)\w*\/?([\w\.]*)/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]*)/i,/linux;.+(sailfish);/i],[l,p],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]*)/i],[[l,"Symbian"],p],[/\((series40);/i],[l],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[l,"Firefox OS"],p],[/(nintendo|playstation)\s([wids34portablevu]+)/i,/(mint)[\/\s\(]?(\w*)/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]*)/i,/(hurd|linux)\s?([\w\.]*)/i,/(gnu)\s?([\w\.]*)/i],[l,p],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[l,"Chromium OS"],p],[/(sunos)\s?([\w\.\d]*)/i],[[l,"Solaris"],p],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]*)/i],[l,p],[/(haiku)\s(\w+)/i],[l,p],[/cfnetwork\/.+darwin/i,/ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i],[[p,/_/g,"."],[l,"iOS"]],[/(mac\sos\sx)\s?([\w\s\.]*)/i,/(macintosh|mac(?=_powerpc)\s)/i],[[l,"Mac OS"],[p,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]*)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]*)/i],[l,p]]},S=function(e,t){if("object"==typeof e&&(t=e,e=a),!(this instanceof S))return new S(e,t).getResult();var r=e||(i&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),n=t?C.extend(k,t):k;return this.getBrowser=function(){var e={name:a,version:a};return w.rgx.call(e,r,n.browser),e.major=C.major(e.version),e},this.getCPU=function(){var e={architecture:a};return w.rgx.call(e,r,n.cpu),e},this.getDevice=function(){var e={vendor:a,model:a,type:a};return w.rgx.call(e,r,n.device),e},this.getEngine=function(){var e={name:a,version:a};return w.rgx.call(e,r,n.engine),e},this.getOS=function(){var e={name:a,version:a};return w.rgx.call(e,r,n.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=e,this},this};S.VERSION="0.7.18",S.BROWSER={NAME:l,MAJOR:"major",VERSION:p},S.CPU={ARCHITECTURE:h},S.DEVICE={MODEL:u,VENDOR:f,TYPE:d,CONSOLE:g,MOBILE:m,SMARTTV:v,TABLET:y,WEARABLE:b,EMBEDDED:"embedded"},S.ENGINE={NAME:l,VERSION:p},S.OS={NAME:l,VERSION:p},typeof t!==s?(typeof e!==s&&e.exports&&(t=e.exports=S),t.UAParser=S):r(3)?(n=function(){return S}.call(t,r,t,e))===a||(e.exports=n):i&&(i.UAParser=S);var B=i&&(i.jQuery||i.Zepto);if(typeof B!==s){var T=new S;B.ua=T.getResult(),B.ua.get=function(){return T.getUA()},B.ua.set=function(e){T.setUA(e);var t=T.getResult();for(var r in t)B.ua[r]=t[r]}}}("object"==typeof window?window:this)},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i=r(0),a=i.DEVICE_TYPES,o=i.defaultData,s=t.getNavigatorInstance=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},c=t.isIOS13Check=function(e){var t=s();return t&&t.platform&&(-1!==t.platform.indexOf(e)||"MacIntel"===t.platform&&t.maxTouchPoints>1&&!window.MSStream)};e.exports={checkType:function(e){switch(e){case a.MOBILE:return{isMobile:!0};case a.TABLET:return{isTablet:!0};case a.SMART_TV:return{isSmartTV:!0};case a.CONSOLE:return{isConsole:!0};case a.WEARABLE:return{isWearable:!0};case a.BROWSER:return{isBrowser:!0};default:return o}},broPayload:function(e,t,r,n,i){return{isBrowser:e,browserMajorVersion:t.major,browserFullVersion:t.version,browserName:t.name,engineName:r.name||!1,engineVersion:r.version,osName:n.name,osVersion:n.version,userAgent:i}},mobilePayload:function(e,t,r,i){return n({},e,{vendor:t.vendor,model:t.model,os:r.name,osVersion:r.version,ua:i})},stvPayload:function(e,t,r,n){return{isSmartTV:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},consolePayload:function(e,t,r,n){return{isConsole:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},wearPayload:function(e,t,r,n){return{isWearable:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},getNavigatorInstance:s,isIOS13Check:c}}])})),jG="object"==typeof n&&n&&n.Object===Object&&n,FG="object"==typeof self&&self&&self.Object===Object&&self,zG=jG||FG||Function("return this")(),KG=zG.Symbol,qG=Object.prototype,HG=qG.hasOwnProperty,GG=qG.toString,QG=KG?KG.toStringTag:void 0;var WG=function(e){var t=HG.call(e,QG),r=e[QG];try{e[QG]=void 0;var n=!0}catch(e){}var i=GG.call(e);return n&&(t?e[QG]=r:delete e[QG]),i},XG=Object.prototype.toString;var YG=function(e){return XG.call(e)},$G=KG?KG.toStringTag:void 0;var ZG=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":$G&&$G in Object(e)?WG(e):YG(e)};var JG=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var eQ=function(e){if(!JG(e))return!1;var t=ZG(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},tQ=zG["__core-js_shared__"],rQ=function(){var e=/[^.]+$/.exec(tQ&&tQ.keys&&tQ.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var nQ=function(e){return!!rQ&&rQ in e},iQ=Function.prototype.toString;var aQ=function(e){if(null!=e){try{return iQ.call(e)}catch(e){}try{return e+""}catch(e){}}return""},oQ=/^\[object .+?Constructor\]$/,sQ=Function.prototype,cQ=Object.prototype,uQ=sQ.toString,lQ=cQ.hasOwnProperty,dQ=RegExp("^"+uQ.call(lQ).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var fQ=function(e){return!(!JG(e)||nQ(e))&&(eQ(e)?dQ:oQ).test(aQ(e))};var pQ=function(e,t){return null==e?void 0:e[t]};var hQ=function(e,t){var r=pQ(e,t);return fQ(r)?r:void 0},gQ=function(){try{var e=hQ(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var mQ=function(e,t,r){"__proto__"==t&&gQ?gQ(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var yQ=function(e,t){return e===t||e!=e&&t!=t},vQ=Object.prototype.hasOwnProperty;var bQ=function(e,t,r){var n=e[t];vQ.call(e,t)&&yQ(n,r)&&(void 0!==r||t in e)||mQ(e,t,r)};var CQ=function(e,t,r,n){var i=!r;r||(r={});for(var a=-1,o=t.length;++a<o;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),i?mQ(r,s,c):bQ(r,s,c)}return r};var wQ=function(e){return e};var EQ=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},kQ=Math.max;var SQ=function(e,t,r){return t=kQ(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=kQ(n.length-t,0),o=Array(a);++i<a;)o[i]=n[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=n[i];return s[t]=r(o),EQ(e,this,s)}};var BQ=function(e){return function(){return e}},TQ=gQ?function(e,t){return gQ(e,"toString",{configurable:!0,enumerable:!1,value:BQ(t),writable:!0})}:wQ,AQ=Date.now;var IQ=function(e){var t=0,r=0;return function(){var n=AQ(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(TQ);var _Q=function(e,t){return IQ(SQ(e,t,wQ),e+"")};var xQ=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var PQ=function(e){return null!=e&&xQ(e.length)&&!eQ(e)},RQ=/^(?:0|[1-9]\d*)$/;var NQ=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&RQ.test(e))&&e>-1&&e%1==0&&e<t};var OQ=function(e,t,r){if(!JG(r))return!1;var n=typeof t;return!!("number"==n?PQ(r)&&NQ(t,r.length):"string"==n&&t in r)&&yQ(r[t],e)};var LQ=function(e){return _Q((function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,o&&OQ(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var s=r[n];s&&e(t,s,n,a)}return t}))};var DQ=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var UQ=function(e){return null!=e&&"object"==typeof e};var MQ=function(e){return UQ(e)&&"[object Arguments]"==ZG(e)},VQ=Object.prototype,jQ=VQ.hasOwnProperty,FQ=VQ.propertyIsEnumerable,zQ=MQ(function(){return arguments}())?MQ:function(e){return UQ(e)&&jQ.call(e,"callee")&&!FQ.call(e,"callee")},KQ=Array.isArray;var qQ=function(){return!1},HQ=a((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r?zG.Buffer:void 0,a=(i?i.isBuffer:void 0)||qQ;e.exports=a})),GQ={};GQ["[object Float32Array]"]=GQ["[object Float64Array]"]=GQ["[object Int8Array]"]=GQ["[object Int16Array]"]=GQ["[object Int32Array]"]=GQ["[object Uint8Array]"]=GQ["[object Uint8ClampedArray]"]=GQ["[object Uint16Array]"]=GQ["[object Uint32Array]"]=!0,GQ["[object Arguments]"]=GQ["[object Array]"]=GQ["[object ArrayBuffer]"]=GQ["[object Boolean]"]=GQ["[object DataView]"]=GQ["[object Date]"]=GQ["[object Error]"]=GQ["[object Function]"]=GQ["[object Map]"]=GQ["[object Number]"]=GQ["[object Object]"]=GQ["[object RegExp]"]=GQ["[object Set]"]=GQ["[object String]"]=GQ["[object WeakMap]"]=!1;var QQ=function(e){return UQ(e)&&xQ(e.length)&&!!GQ[ZG(e)]};var WQ=function(e){return function(t){return e(t)}},XQ=a((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r&&jG.process,a=function(){try{var e=n&&n.require&&n.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=a})),YQ=XQ&&XQ.isTypedArray,$Q=YQ?WQ(YQ):QQ,ZQ=Object.prototype.hasOwnProperty;var JQ=function(e,t){var r=KQ(e),n=!r&&zQ(e),i=!r&&!n&&HQ(e),a=!r&&!n&&!i&&$Q(e),o=r||n||i||a,s=o?DQ(e.length,String):[],c=s.length;for(var u in e)!t&&!ZQ.call(e,u)||o&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||NQ(u,c))||s.push(u);return s},eW=Object.prototype;var tW=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||eW)};var rW=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},nW=Object.prototype.hasOwnProperty;var iW=function(e){if(!JG(e))return rW(e);var t=tW(e),r=[];for(var n in e)("constructor"!=n||!t&&nW.call(e,n))&&r.push(n);return r};var aW=function(e){return PQ(e)?JQ(e,!0):iW(e)},oW=LQ((function(e,t,r,n){CQ(t,aW(t),e,n)}));var sW=function(e,t){return function(r){return e(t(r))}},cW=sW(Object.getPrototypeOf,Object),uW=Function.prototype,lW=Object.prototype,dW=uW.toString,fW=lW.hasOwnProperty,pW=dW.call(Object);var hW=function(e){if(!UQ(e)||"[object Object]"!=ZG(e))return!1;var t=cW(e);if(null===t)return!0;var r=fW.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&dW.call(r)==pW};var gW=function(e){if(!UQ(e))return!1;var t=ZG(e);return"[object Error]"==t||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!hW(e)},mW=_Q((function(e,t){try{return EQ(e,void 0,t)}catch(e){return gW(e)?e:new Error(e)}}));var yW=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i};var vW=function(e,t){return yW(t,(function(t){return e[t]}))},bW=Object.prototype,CW=bW.hasOwnProperty;var wW=function(e,t,r,n){return void 0===e||yQ(e,bW[r])&&!CW.call(n,r)?t:e},EW={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var kW=function(e){return"\\"+EW[e]},SW=sW(Object.keys,Object),BW=Object.prototype.hasOwnProperty;var TW=function(e){if(!tW(e))return SW(e);var t=[];for(var r in Object(e))BW.call(e,r)&&"constructor"!=r&&t.push(r);return t};var AW=function(e){return PQ(e)?JQ(e):TW(e)},IW=/<%=([\s\S]+?)%>/g;var _W=function(e){return function(t){return null==e?void 0:e[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"});var xW=function(e){return"symbol"==typeof e||UQ(e)&&"[object Symbol]"==ZG(e)},PW=KG?KG.prototype:void 0,RW=PW?PW.toString:void 0;var NW=function e(t){if("string"==typeof t)return t;if(KQ(t))return yW(t,e)+"";if(xW(t))return RW?RW.call(t):"";var r=t+"";return"0"==r&&1/t==-Infinity?"-0":r};var OW=function(e){return null==e?"":NW(e)},LW=/[&<>"']/g,DW=RegExp(LW.source);var UW={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:IW,variable:"",imports:{_:{escape:function(e){return(e=OW(e))&&DW.test(e)?e.replace(LW,_W):e}}}},MW=/\b__p \+= '';/g,VW=/\b(__p \+=) '' \+/g,jW=/(__e\(.*?\)|\b__t\)) \+\n'';/g,FW=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zW=/($^)/,KW=/['\n\r\u2028\u2029\\]/g,qW=Object.prototype.hasOwnProperty;var HW=function(e,t,r){var n=UW.imports._.templateSettings||UW;r&&OQ(e,t,r)&&(t=void 0),e=OW(e),t=oW({},t,n,wW);var i,a,o=oW({},t.imports,n.imports,wW),s=AW(o),c=vW(o,s),u=0,l=t.interpolate||zW,d="__p += '",f=RegExp((t.escape||zW).source+"|"+l.source+"|"+(l===IW?FW:zW).source+"|"+(t.evaluate||zW).source+"|$","g"),p=qW.call(t,"sourceURL")?"//# sourceURL="+(t.sourceURL+"").replace(/\s/g," ")+"\n":"";e.replace(f,(function(t,r,n,o,s,c){return n||(n=o),d+=e.slice(u,c).replace(KW,kW),r&&(i=!0,d+="' +\n__e("+r+") +\n'"),s&&(a=!0,d+="';\n"+s+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=c+t.length,t})),d+="';\n";var h=qW.call(t,"variable")&&t.variable;h||(d="with (obj) {\n"+d+"\n}\n"),d=(a?d.replace(MW,""):d).replace(VW,"$1").replace(jW,"$1;"),d="function("+(h||"obj")+") {\n"+(h?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var g=mW((function(){return Function(s,p+"return "+d).apply(void 0,c)}));if(g.source=d,gW(g))throw g;return g},GW="SESSION_TIMEOUT";function QW(){return(QW=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var WW,XW,YW,$W,ZW,JW,eX,tX,rX,nX,iX,aX,oX="undefined"!=typeof window?oy.useLayoutEffect:oy.useEffect,sX={popupContent:{tooltip:{position:"absolute",zIndex:999},modal:{position:"relative",margin:"auto"}},popupArrow:{height:"8px",width:"16px",position:"absolute",background:"transparent",color:"#FFF",zIndex:-1},overlay:{tooltip:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",zIndex:999},modal:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",display:"flex",zIndex:999}}},cX=["top left","top center","top right","right top","right center","right bottom","bottom left","bottom center","bottom right","left top","left center","left bottom"],uX=function(e,t,r,n,i){var a=i.offsetX,o=i.offsetY,s=n?8:0,c=r.split(" "),u=e.top+e.height/2,l=e.left+e.width/2,d=t.height,f=t.width,p=u-d/2,h=l-f/2,g="",m="0%",y="0%";switch(c[0]){case"top":p-=d/2+e.height/2+s,g="rotate(180deg) translateX(50%)",m="100%",y="50%";break;case"bottom":p+=d/2+e.height/2+s,g="rotate(0deg) translateY(-100%) translateX(-50%)",y="50%";break;case"left":h-=f/2+e.width/2+s,g=" rotate(90deg) translateY(50%) translateX(-25%)",y="100%",m="50%";break;case"right":h+=f/2+e.width/2+s,g="rotate(-90deg) translateY(-150%) translateX(25%)",m="50%"}switch(c[1]){case"top":p=e.top,m=e.height/2+"px";break;case"bottom":p=e.top-d+e.height,m=d-e.height/2+"px";break;case"left":h=e.left,y=e.width/2+"px";break;case"right":h=e.left-f+e.width,y=f-e.width/2+"px"}return{top:p="top"===c[0]?p-o:p+o,left:h="left"===c[0]?h-a:h+a,transform:g,arrowLeft:y,arrowTop:m}},lX=function(e,t,r,n,i,a){var o=i.offsetX,s=i.offsetY,c={arrowLeft:"0%",arrowTop:"0%",left:0,top:0,transform:"rotate(135deg)"},u=0,l=function(e){var t={top:0,left:0,width:window.innerWidth,height:window.innerHeight};if("string"==typeof e){var r=document.querySelector(e);null!==r&&(t=r.getBoundingClientRect())}return t}(a),d=Array.isArray(r)?r:[r];for((a||Array.isArray(r))&&(d=[].concat(d,cX));u<d.length;){var f={top:(c=uX(e,t,d[u],n,{offsetX:o,offsetY:s})).top,left:c.left,width:t.width,height:t.height};if(!(f.top<=l.top||f.left<=l.left||f.top+f.height>=l.top+l.height||f.left+f.width>=l.left+l.width))break;u++}return c},dX=0,fX=oy.forwardRef((function(e,t){var r=e.trigger,n=void 0===r?null:r,i=e.onOpen,a=void 0===i?function(){}:i,o=e.onClose,s=void 0===o?function(){}:o,c=e.defaultOpen,u=void 0!==c&&c,l=e.open,d=void 0===l?void 0:l,f=e.disabled,p=void 0!==f&&f,h=e.nested,g=void 0!==h&&h,m=e.closeOnDocumentClick,y=void 0===m||m,v=e.repositionOnResize,b=void 0===v||v,C=e.closeOnEscape,w=void 0===C||C,E=e.on,k=void 0===E?["click"]:E,S=e.contentStyle,B=void 0===S?{}:S,T=e.arrowStyle,A=void 0===T?{}:T,I=e.overlayStyle,_=void 0===I?{}:I,x=e.className,P=void 0===x?"":x,R=e.position,N=void 0===R?"bottom center":R,O=e.modal,L=void 0!==O&&O,D=e.lockScroll,U=void 0!==D&&D,M=e.arrow,V=void 0===M||M,j=e.offsetX,F=void 0===j?0:j,z=e.offsetY,K=void 0===z?0:z,q=e.mouseEnterDelay,H=void 0===q?100:q,G=e.mouseLeaveDelay,Q=void 0===G?100:G,W=e.keepTooltipInside,X=void 0!==W&&W,Y=e.children,$=oy.useState(d||u),Z=$[0],J=$[1],ee=oy.useRef(null),te=oy.useRef(null),re=oy.useRef(null),ne=oy.useRef(null),ie=oy.useRef("popup-"+ ++dX),ae=!!L||!n,oe=oy.useRef(0);oX((function(){return Z?(ne.current=document.activeElement,ve(),ge(),pe()):he(),function(){clearTimeout(oe.current)}}),[Z]),oy.useEffect((function(){"boolean"==typeof d&&(d?se():ce())}),[d,p]);var se=function(e){Z||p||(J(!0),setTimeout((function(){return a(e)}),0))},ce=function(e){var t;Z&&!p&&(J(!1),ae&&(null===(t=ne.current)||void 0===t||t.focus()),setTimeout((function(){return s(e)}),0))},ue=function(e){null==e||e.stopPropagation(),Z?ce(e):se(e)},le=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return se(e)}),H)},de=function(e){null==e||e.preventDefault(),ue()},fe=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return ce(e)}),Q)},pe=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="hidden")},he=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="auto")},ge=function(){var e,t=null==te||null===(e=te.current)||void 0===e?void 0:e.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),r=Array.prototype.slice.call(t)[0];null==r||r.focus()};oy.useImperativeHandle(t,(function(){return{open:function(){se()},close:function(){ce()},toggle:function(){ue()}}}));var me,ye,ve=function(){if(!ae&&Z&&(null==ee?void 0:ee.current)&&(null==ee?void 0:ee.current)&&(null==te?void 0:te.current)){var e,t,r=ee.current.getBoundingClientRect(),n=te.current.getBoundingClientRect(),i=lX(r,n,N,V,{offsetX:F,offsetY:K},X);if(te.current.style.top=i.top+window.scrollY+"px",te.current.style.left=i.left+window.scrollX+"px",V&&re.current)re.current.style.transform=i.transform,re.current.style.setProperty("-ms-transform",i.transform),re.current.style.setProperty("-webkit-transform",i.transform),re.current.style.top=(null===(e=A.top)||void 0===e?void 0:e.toString())||i.arrowTop,re.current.style.left=(null===(t=A.left)||void 0===t?void 0:t.toString())||i.arrowLeft}};me=ce,void 0===(ye=w)&&(ye=!0),oy.useEffect((function(){if(ye){var e=function(e){"Escape"===e.key&&me(e)};return document.addEventListener("keyup",e),function(){ye&&document.removeEventListener("keyup",e)}}}),[me,ye]),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(t){if(9===t.keyCode){var r,n=null==e||null===(r=e.current)||void 0===r?void 0:r.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),i=Array.prototype.slice.call(n);if(1===i.length)return void t.preventDefault();var a=i[0],o=i[i.length-1];t.shiftKey&&document.activeElement===a?(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),a.focus())}};return document.addEventListener("keydown",r),function(){t&&document.removeEventListener("keydown",r)}}}),[e,t])}(te,Z&&ae),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(){e()};return window.addEventListener("resize",r),function(){t&&window.removeEventListener("resize",r)}}}),[e,t])}(ve,b),function(e,t,r){void 0===r&&(r=!0),oy.useEffect((function(){if(r){var n=function(r){var n=Array.isArray(e)?e:[e],i=!1;n.forEach((function(e){e.current&&!e.current.contains(r.target)||(i=!0)})),r.stopPropagation(),i||t(r)};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),function(){r&&(document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n))}}}),[e,t,r])}(n?[te,ee]:[te],ce,y&&!g);var be,Ce=function(){return oy.createElement("div",Object.assign({},(e=ae?sX.popupContent.modal:sX.popupContent.tooltip,t={className:"popup-content "+(""!==P?P.split(" ").map((function(e){return e+"-content"})).join(" "):""),style:QW({},e,B,{pointerEvents:"auto"}),ref:te,onClick:function(e){e.stopPropagation()}},!L&&k.indexOf("hover")>=0&&(t.onMouseEnter=le,t.onMouseLeave=fe),t),{key:"C",role:ae?"dialog":"tooltip",id:ie.current}),V&&!ae&&oy.createElement("div",{ref:re,style:sX.popupArrow},oy.createElement("svg",{"data-testid":"arrow",className:"popup-arrow "+(""!==P?P.split(" ").map((function(e){return e+"-arrow"})).join(" "):""),viewBox:"0 0 32 16",style:QW({position:"absolute"},A)},oy.createElement("path",{d:"M16 0l16 16H0z",fill:"currentcolor"}))),Y&&"function"==typeof Y?Y(ce,Z):Y);var e,t},we=!(k.indexOf("hover")>=0),Ee=ae?sX.overlay.modal:sX.overlay.tooltip,ke=[we&&oy.createElement("div",{key:"O","data-testid":"overlay","data-popup":ae?"modal":"tooltip",className:"popup-overlay "+(""!==P?P.split(" ").map((function(e){return e+"-overlay"})).join(" "):""),style:QW({},Ee,_,{pointerEvents:y&&g||ae?"auto":"none"}),onClick:y&&g?ce:void 0,tabIndex:-1},ae&&Ce()),!ae&&Ce()];return oy.createElement(oy.Fragment,null,function(){for(var e={key:"T",ref:ee,"aria-describedby":ie.current},t=Array.isArray(k)?k:[k],r=0,i=t.length;r<i;r++)switch(t[r]){case"click":e.onClick=ue;break;case"right-click":e.onContextMenu=de;break;case"hover":e.onMouseEnter=le,e.onMouseLeave=fe;break;case"focus":e.onFocus=le,e.onBlur=fe}if("function"==typeof n){var a=n(Z);return!!n&&oy.cloneElement(a,e)}return!!n&&oy.cloneElement(n,e)}(),Z&&yD.createPortal(ke,(null===(be=document.getElementById("popup-root"))&&((be=document.createElement("div")).setAttribute("id","popup-root"),document.body.appendChild(be)),be)))}));function pX(){return"function"==typeof navigator.enumerateDevices?navigator.enumerateDevices():"object"===$g(navigator.mediaDevices)&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():new Promise((function(e,t){try{if(null==window.MediaStreamTrack||null==window.MediaStreamTrack.getSources)throw new Error;window.MediaStreamTrack.getSources((function(t){e(t.filter((function(e){return"video"===e.kind.toLowerCase()||"videoinput"===e.kind.toLowerCase()})).map((function(e){return{deviceId:null!=e.deviceId?e.deviceId:"",groupId:e.groupId,kind:"videoinput",label:e.label,toJSON:function(){return this}}})))}))}catch(e){return t(e)}}))}var hX,gX=oC.Errors,mX=eC.div(WW||(WW=dm(["\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #000;\n display: flex;\n justify-content: center;\n z-index: ",";\n ","\n"])),1e3,(function(e){return e.checkCameraMode&&"opacity: 0;"})),yX=eC.video(XW||(XW=dm(["\n width: 100%;\n ","\n"])),(function(e){return e.flipHorizontal&&"\n transform: scaleX(-1);\n "})),vX=eC.div(YW||(YW=dm(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),bX=eC(vX)($W||($W=dm(["\n z-index: ",";\n position: absolute;\n top: 20px;\n right: 20px;\n width: 20px;\n"])),1100),CX=eC.div(ZW||(ZW=dm(["\n z-index: ",";\n position: absolute;\n top: 40px;\n color: red;\n"])),1020),wX=eC.div(JW||(JW=dm(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: ",";\n"])),1030),EX=eC.section(eX||(eX=dm(["\n width: 260px;\n margin: 1.25rem;\n padding: 0.625rem 1.875rem;\n background: #ffffff;\n border-radius: 0.3125rem;\n box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.15);\n"]))),kX=eC.header(tX||(tX=dm(["\n text-align: center;\n padding: 0.625rem 0;\n border-bottom: 1px solid #dddddd;\n"]))),SX=eC.h2(rX||(rX=dm(["\n margin: 0.25rem auto;\n padding: 0;\n font-weight: 600;\n font-size: 1.2rem;\n"]))),BX=eC.p(nX||(nX=dm(["\n padding: 0 0 0.3125rem;\n margin: 0.25rem auto;\n font-size: 0.8rem;\n"]))),TX=eC.ul(iX||(iX=dm(["\n list-style: none;\n padding: 0;\n"]))),AX=eC.li(aX||(aX=dm(["\n padding: 0.625rem 0 0.9375rem;\n margin: 0;\n text-align: left;\n width: 100%;\n cursor: pointer;\n font-size: 0.82rem;\n transition: all 550ms ease-in-out;\n\n &:hover {\n opacity: 0.8;\n }\n"]))),IX=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)return navigator.mediaDevices;var e=navigator.mozGetUserMedia||navigator.webkitGetUserMedia;return e?{getUserMedia:function(t){return new Promise((function(r,n){e.call(navigator,t,r,n)}))}}:null}();function _X(e){var t=e.checkCameraMode,r=e.frontCamera,n=e.onClose,i=e.children,a=e.onVideoPlayed,o=e.flipHorizontal,s=e.videoSettings,c=e.refVideo,u=e.onError,l=e.closeButton,d=e.videoClassName,f=lk.useSDKSettings().lang,p=zk.useSDKTracking().sendEvent,h=Hk.useAsset("ic_close.png"),g=fm(oy.useState(""),2),m=g[0],y=g[1],v=fm(oy.useState([]),2),b=v[0],C=v[1],w=fm(oy.useState(!1),2),E=w[0],k=w[1],S=oy.useRef(!1),B=oy.useRef(!1),T=oy.useCallback((function(){try{var e;(null==c||null===(e=c.current)||void 0===e?void 0:e.srcObject)instanceof MediaStream&&(c.current.srcObject.getTracks().forEach((function(e){return e.stop()})),c.current.srcObject=null)}catch(e){}}),[c]),A=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={},n=VG.isMobile?VG.isIOS?{width:{ideal:1460},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{width:{ideal:1650},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{height:{ideal:9999}},e.prev=2,e.next=5,IX.getUserMedia({audio:!1,video:om(om({},t?{deviceId:t}:{facingMode:r?"user":"environment"}),s||n)});case 5:return(i=e.sent)||(y(gX.not_supported.msg[f]),u(gX.not_supported)),e.abrupt("return",i);case 10:e.prev=10,e.t0=e.catch(2),"NotAllowedError"===e.t0.name?(y(gX.no_permission.msg[f]),u(gX.no_permission)):(k(!0),y(e.t0.message),u({code:e.t0.name||e.t0.code}));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,null,[[2,10]])})));return function(t){return e.apply(this,arguments)}}(),[r,s,f,u]),I=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=c.current).oncanplaythrough=function(){r.play(),B.current=!0,y("");var e=window.innerWidth,t=window.innerHeight,n=bS.analyzeVideoAndWindowSizes(r),i=n.lostX,o=void 0===i?0:i,s=n.lostY,c=void 0===s?0:s,u=Math.min(e,Math.floor(e-2*o)),l=Math.min(t,Math.floor(t-2*c));a&&a({clientWidth:e,clientHeight:t,videoAreaWidth:u,videoAreaHeight:l,lostX:o,lostY:c})},e.next=4,A(t);case 4:(n=e.sent)&&(r.srcObject=n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[c,A,a]);oy.useEffect((function(){function e(){return(e=Jg(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,pX();case 3:t=e.sent,r=t.filter((function(e){return e.deviceId&&"videoinput"===e.kind})),C(r),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.error(e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}E&&!S.current&&(S.current=!0,function(){e.apply(this,arguments)}())}),[E]),oy.useEffect((function(){function e(){return(e=Jg(regeneratorRuntime.mark((function e(){var t,r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I();case 2:return e.next=4,pX();case 4:t=e.sent,(r=t.filter((function(e){return"videoinput"===e.kind&&e.label.includes("0")}))).length>0&&(n=r[0].deviceId,T(),I(n));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var t=c.current;return!IX||VG.browserName&&["facebook"].includes(VG.browserName.toLowerCase())||VG.getUA.includes("Zalo iOS")?(y(gX.not_supported.msg[f]),u(gX.not_supported)):t&&(VG.isAndroid&&!1===r?function(){e.apply(this,arguments)}():I()),function(){T()}}),[c,f,r,I,T,u]),oy.useEffect((function(){var e=setTimeout((function(){B.current||(y(gX.camera_timeout.msg[f]),u(gX.camera_timeout))}),3e5);return function(){clearTimeout(e)}}),[f,u]);var _=oy.useCallback((function(){T(),n&&n(),p({tag:"result",event:"user_activity.cancel",log:{}})}),[n,T,p]);return oy.createElement(mX,{checkCameraMode:t},E&&null!=b&&b.length?oy.createElement(wX,null,oy.createElement(EX,null,oy.createElement(kX,null,oy.createElement(SX,null,"Không thể mở camera mặc định"),oy.createElement(BX,null,"Vui lòng thử chọn camera khác trong danh sách dưới đây")),oy.createElement(TX,null,b.map((function(e,t){return oy.createElement(AX,{key:e.deviceId,onClick:function(){y(""),T(),k(!1),I(e.deviceId)}},e.label?e.label:"Camera ".concat(t+1))}))))):null,function(){if(!m)return null;var e=gX.no_permission.msg[f];return m===e&&VG.isIOS?oy.createElement(CX,null,m," ",oy.createElement("button",{onClick:function(){window.location.reload()}},{vi:"Cấp lại quyền truy cập camera",en:"Request camera permission"}[f])):oy.createElement(CX,null,m)}(),oy.createElement(yX,{ref:c,playsInline:!0,muted:!0,flipHorizontal:o,className:d}),i,l?oy.cloneElement(l,{onClick:_,"data-testid":"close-camera"}):oy.createElement(bX,{onClick:_,"data-testid":"close-camera"},oy.createElement("img",{src:h,alt:""})))}_X.propTypes={checkCameraMode:Py.bool,frontCamera:Py.bool,onClose:Py.func,onError:Py.func,onVideoPlayed:Py.func,children:Py.node,flipHorizontal:Py.bool,videoSettings:Py.object,refVideo:Py.object,closeButton:Py.node,videoClassName:Py.string},_X.defaultProps={checkCameraMode:!1,frontCamera:!0,onClose:null,onError:function(){},onVideoPlayed:null,children:null,flipHorizontal:!1,videoSettings:null,refVideo:null,closeButton:null,videoClassName:""};var xX,PX,RX,NX,OX,LX,DX,UX,MX,VX,jX,FX,zX,KX,qX,HX=rC(hX||(hX=dm(["\n .popup-content {\n margin: auto;\n background: #fff;\n width: 100%;\n padding: 5px;\n border: 1px solid #d7d7d7;\n max-width: 568px;\n border-radius: 10px;\n }\n\n [role=tooltip].popup-content {\n width: 200px;\n box-shadow: 0 0 3px rgba(0, 0, 0, .16);\n border-radius: 5px\n }\n\n .popup-overlay {\n background: rgba(0, 0, 0, .5);\n padding: 10px;\n }\n\n [data-popup=tooltip].popup-overlay {\n background: transparent\n }\n\n .popup-arrow {\n -webkit-filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n color: #fff;\n stroke-width: 2px;\n stroke: #d7d7d7;\n stroke-dasharray: 30px;\n stroke-dashoffset: -54px;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0\n }\n"]))),GX=["open","children","overlayStyle"],QX=function(e){var t=e.open,r=e.children,n=e.overlayStyle,i=lm(e,GX);return oy.createElement(oy.Fragment,null,oy.createElement(fX,im({overlayStyle:om(om({},n),{},{zIndex:2e3}),closeOnDocumentClick:!1,closeOnEscape:!1,modal:!0,open:t},i),r),oy.createElement(HX,null))};QX.propTypes={open:Py.bool,children:Py.node,overlayStyle:Py.shape({})},QX.defaultProps={open:!1,children:null,overlayStyle:{}};var WX,XX,YX,$X=qz.flipY,ZX=qz.spin,JX=qz.splash,eY=$X.animationDuration,tY=JX.default,rY=eC.div(xX||(xX=dm(["\n ","\n ","\n"])),$X.default,ZX.default),nY=(eC.img(PX||(PX=dm(["\n border-radius: 5px;\n opacity: 0.7;\n height: 38px;\n"]))),eC.div(RX||(RX=dm(["\n cursor: pointer;\n text-align: center;\n width: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n position: fixed;\n\n ","\n"])),60,1020,VG.isMobile?Vb(["top:",";"],(function(e){return e.y})):Vb(["bottom:","px;"],10))),iY=eC.div(NX||(NX=dm(["\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n margin: auto;\n width: ","px;\n height: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n"])),80,80,1020),aY=eC.div(OX||(OX=dm(["\n color: #fff;\n text-align: center;\n"]))),oY=eC.div(LX||(LX=dm(["\n transform: translateZ(1000px); // to fix rotating bug on safari\n transform-style: preserve-3d;\n position: absolute;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),sY=eC.div(DX||(DX=dm(["\n display: flex;\n align-items: center;\n"]))),cY=eC(aY)(UX||(UX=dm(["\n font-size: ","px;\n color: #38383d;\n font-weight: 500;\n"])),VG.isMobile?16:24),uY=eC.div(MX||(MX=dm(["\n margin: 0 auto;\n padding: 0 5px;\n position: absolute;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),lY=eC(aY)(VX||(VX=dm(["\n text-align: center;\n color: ",";\n font-weight: 500;\n padding: 5px 10px;\n font-size: ","px;\n"])),(function(e){return e.theme.dangerColor}),VG.isMobile?14:16),dY=function(e){var t=e.children,r=e.y;return oy.createElement(uY,{y:r},oy.createElement(lY,null,t))},fY=eC(dz)(jX||(jX=dm(["\n position: absolute;\n top: 0;\n left: 0;\n"]))),pY=eC(aY)(FX||(FX=dm(["\n color: ",";\n font-weight: 500;\n padding: 5px 10px;\n font-size: ","px;\n position: absolute;\n text-align: center;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.theme.dangerColor}),VG.isMobile?14:16,(function(e){return e.y}),1020),hY=eC(aY)(zX||(zX=dm(["\n font-weight: normal;\n padding: 5px 10px;\n color: #38383d;\n font-size: ","px;\n position: absolute;\n text-align: center;\n top: ",";\n z-index: ",";\n"])),VG.isMobile?14:16,(function(e){return e.y}),1020),gY=eC.div(KX||(KX=dm(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),mY=eC(gY)(qX||(qX=dm(["\n z-index: ",";\n position: absolute;\n ","\n top: 16px;\n width: 24px;\n"])),1100,VG.isMobile?"left: 16px;":"right: 16px;"),yY=oC.Errors,vY={BTN_OK:{en:"OK",vi:"Tôi đã hiểu"},FRONT:{en:"front",vi:"trước"},BACK:{en:"back",vi:"sau"},BTN_USE_THIS_PICTURE:{en:"Use this picture",vi:"Nhìn ổn đấy!"},BTN_TRY_AGAIN:{en:"Try again",vi:"Chụp lại"},CONFIRM_POPUP_VALID_QR:{en:"QR code scanned",vi:"Đã quét được mã QR"},CONFIRM_POPUP_INVALID_QR:{en:"Could not scan QR code",vi:"Không quét được mã QR"}},bY=om(om({},yY),{},{id_detector_no_cards:{code:"id_detector_no_cards",msg:{en:"Take a photo of your ID card's <%= side %> side. Make sure the image of the card fits in the frame, (minimum 50% of frame).",vi:"Mặt <%= side %> CMND/CCCD cần nằm gọn trong khung hình, chiếm tối thiểu 50%."}},id_detector_validate_angle_error:{code:"id_detector_validate_angle_error",msg:{en:"Please put your ID card straight, not be oblique",vi:"Vui lòng đặt giấy tờ thẳng góc, không bị xô lệch khi chụp"}},id_detector_card_too_small:{code:"id_detector_card_too_small",msg:{en:"Please hold your ID card closer",vi:"Vui lòng đưa CMND/CCCD lại gần hơn"}},id_detector_error_incomplete:{code:"id_detector_error_incomplete",msg:{en:"Please hold your ID card further",vi:"Vui lòng đưa CMND/CCCD ra xa hơn"}},id_detector_error_front_side_no_faces:{code:"id_detector_error_front_side_no_faces",msg:{en:"Take a photo of your ID card's front side",vi:"Vui lòng chụp ảnh mặt trước của CMND/CCCD"}},id_detector_error_front_side_multiple_faces:{code:"id_detector_error_front_side_multiple_faces",msg:{en:"Please remove other items out of the frame",vi:"Vui lòng không để lẫn vật thể khác trong khung chụp hình"}},glare_detected:{code:"glare_detected",msg:{en:"Your photo ID is glare. Please adjust the shooting angle.",vi:"Ảnh chụp bị lóa sáng. Vui lòng chụp lại"}}}),CY=oC.IDCardMessage,wY=eC.div(WX||(WX=dm(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),EY=eC.div(XX||(XX=dm(["\n text-align: center;\n font-size: 1rem;\n"]))),kY=eC.button(YX||(YX=dm(["\n margin-top: 20px;\n width: 100%;\n max-width: 160px;\n height: 50px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 0.25rem;\n color: #fff;\n font-weight: 400;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.primaryColor})),SY=function(e){var t=e.onOk,r=e.maxSessionTime,n=lk.useSDKSettings().lang;return oy.createElement(wY,null,oy.createElement(EY,null,HW(CY.TIMEOUT_INSTRUCTION[n])({x:r})),oy.createElement(kY,{onClick:t},vY.BTN_OK[n]))};SY.propTypes={onOk:Py.func,maxSessionTime:Py.number},SY.defaultProps={onOk:function(){},maxSessionTime:30};var BY,TY,AY,IY=oC.IDCardMessage,_Y=oy.forwardRef((function(e,t){var r,n=e.usePortraitMask,i=e.windowAndVideoInfo,a=e.refVideo,o=e.frontSide,s=e.settings,c=e.onCaptureDone,u=e.onUISpacingChange,l=e.outputEncryptionSettings,d=fm(oy.useState({}),2),f=d[0],p=d[1],h=f.yErrorMessage,g=f.yDescription,m=f.yCaptureButton,y=f.yMessage,v=Hk.useAsset("ic_camera.png"),b=Hk.useAsset("ic_camera_disabled.png"),C=Hk.useAsset("ic_id_front.png"),w=Hk.useAsset("ic_id_back.png"),E=Hk.useAsset("ic_loading.png"),k=lk.useSDKSettings().lang,S=fm(oy.useState(""),2),B=S[0],T=S[1],A=fm(oy.useState(null),2),I=A[0],_=A[1],x=CT.useThemeContext(),P=fm(oy.useState(null),2),R=P[0],N=P[1],O=x.primaryColor,L=x.dangerColor,D=function(){var e=fm(oy.useState(!1),2),t=e[0],r=e[1],n=fm(oy.useState(null),2),i=n[0],a=n[1],o=fm(oy.useState({}),2),s=o[0],c=o[1];return{showPopup:oy.useCallback((function(e){var t=e.popupType,n=e.props;c(void 0===n?{}:n),a(t),r(null!==t)}),[]),popupShown:t,popupType:i,props:s}}(),U=D.showPopup,M=D.popupShown,V=D.popupType,j=oy.useRef((function(){})),F=oy.useCallback((function(e){T(null===e?"":HW(bY[e.code].msg[k])({side:o?vY.FRONT[k]:vY.BACK[k]}))}),[k,o]),z=oy.useCallback((function(){N(""),U({popupType:GW})}),[U]),K=oy.useCallback((function(e){var t=e.curTimeLeft;N(HW(IY.REMAINING_TIME[k])({x:t}))}),[k]),q=QK({shouldStart:!0,refVideo:a,cropArea:I,settings:s,onModelErrorChange:F,frontSide:o,onSessionTimeout:z,onCaptureDone:c,onAboutToTimeout:K,outputEncryptionSettings:l}),H=q.warmupDone,G=q.isProcessing,Q=q.takePictureManually,W=q.restartSession,X=q.resetIsProcessingImageBlobTaken,Y=oy.useCallback((function(){U({popupType:null}),X()}),[U,X]),$=oy.useCallback(Jg(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Y(),e.next=3,W();case 3:case"end":return e.stop()}}),e)}))),[W,Y]);j.current=$,oy.useEffect((function(){if(i){var e,t,r,a,o,s,c,l,d=i.videoAreaWidth,f=i.videoAreaHeight,h=i.lostX,g=i.lostY,m=i.clientHeight;n?(s=.7*(c=f-165),r=(l=(e=g+10)+45)+20,a=l+c+70):(s=VG.isMobile?d-8:Math.floor(.7*d),c=Math.floor(Math.min(s/1.5,m-2*g-80-145)),r=(t=(l=(e=g+16)+(VG.isMobile?40:65))+c+10)+(VG.isMobile?35:25),o=VG.isMobile?t+60:e+30,a=t+158);var y=Math.floor((d-s)/2)+h;_({x:y,y:l,width:s,height:c,surroundStyle:{background:"#fff"}});var v={yTitle:e,yErrorMessage:t,yMessage:r,yDescription:o,yCaptureButton:a};p(v),u(v)}}),[i,n,u]);var Z=oy.useCallback(Jg(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N(""),e.next=3,Q();case 3:case"end":return e.stop()}}),e)}))),[Q]);oy.useImperativeHandle(t,(function(){return{restartSession:$}}),[$]);var J=!(G||null!=s&&s.disableCaptureButtonIfAlert&&B);return oy.createElement(oy.Fragment,null,!H&&oy.createElement(gF,null),G&&oy.createElement(iY,null,oy.createElement("img",{src:E,alt:"",className:"spin"})),I&&oy.createElement(wU,{x:"".concat(I.x,"px"),y:"".concat(I.y,"px"),width:"".concat(I.width,"px"),height:"".concat(I.height,"px"),surroundStyle:I.surroundStyle},oy.createElement(fY,{strokeStyles:(r={},nm(r,lz.DEFAULT,{fill:"none",strokeWidth:5,stroke:O}),nm(r,lz.ERROR,{fill:"none",strokeWidth:5,stroke:O}),r),paddingStyle:{fill:"#fff"},strokeWidth:5,errorColor:L,width:I.width,height:I.height,type:B?lz.ERROR:lz.DEFAULT})),B&&oy.createElement(dY,{y:"".concat(h,"px")},B),oy.createElement(hY,{y:"".concat(g,"px")},VG.isMobile&&oy.createElement("div",null,oy.createElement("img",{src:o?C:w,width:70,height:45,alt:""})),"Đặt CMND/CCCD của bạn vào giữa khung. Hình ảnh rõ ràng, không bị chói, mờ & cắt góc."),oy.createElement(nY,{onClick:J?Z:null,y:"".concat(m,"px")},oy.createElement("img",{src:J?v:b,alt:""})),R&&oy.createElement(pY,{key:R,y:"".concat(y,"px")},R),oy.createElement(QX,{open:M},V===GW&&oy.createElement(SY,{onOk:$,maxSessionTime:null==s?void 0:s.idCardSessionTime})))}));_Y.propTypes={usePortraitMask:Py.bool,windowAndVideoInfo:Py.shape({}),refVideo:Py.shape({}),frontSide:Py.bool,settings:Py.shape({}),onCaptureDone:Py.func,onUISpacingChange:Py.func,outputEncryptionSettings:Py.shape({})},_Y.defaultProps={usePortraitMask:!1,windowAndVideoInfo:{},refVideo:{},frontSide:!0,settings:{},onCaptureDone:function(){},onUISpacingChange:function(){},outputEncryptionSettings:null};var xY,PY,RY,NY,OY,LY,DY,UY,MY,VY=eC.button(BY||(BY=dm(["\n background: #0b74e5;\n height: 44px;\n border-radius: 4px;\n border: 0;\n padding: 0 20px;\n color: #fff;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n width: 160px;\n"]))),jY=eC.button(TY||(TY=dm(["\n background: #fff;\n height: 44px;\n border-radius: 4px;\n border: 1px solid #0b74e5;\n padding: 0 20px;\n color: #0b74e5;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n width: 160px;\n &:focus {\n outline: none;\n box-shadow: none;\n }\n"]))),FY=(eC.a(AY||(AY=dm(["\n text-decoration: underline;\n font-size: 16px;\n color: #000;\n cursor: pointer;\n"]))),eC.div(xY||(xY=dm(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"])))),zY=eC.div(PY||(PY=dm(["\n text-align: center;\n font-size: 1rem;\n color: ",";\n margin-top: 10px;\n"])),(function(e){return e.theme.dangerColor})),KY=eC.div(RY||(RY=dm(["\n margin: 20px 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n"]))),qY=eC.div(NY||(NY=dm(["\n margin-right: 5px;\n"]))),HY=eC.div(OY||(OY=dm(["\n margin-left: 5px;\n"]))),GY=eC.img(LY||(LY=dm(["\n ",";\n border-radius: 12px;\n border: 5px solid #1aa7ff;\n margin-top: 30px;\n ",";\n"])),!VG.isMobile&&Vb(["height:","px;"],(function(e){return e.calHeight-300})),(function(e){return e.calHeight>0&&VG.isMobile&&Vb(["width:","px;height:","px;border:none;border-radius:8px;"],window.innerWidth-30,e.calHeight)})),QY=eC.div(DY||(DY=dm(["\n font-size: ","px;\n font-weight: 500;\n color: #38383d;\n"])),VG.isMobile?16:24),WY=eC.div(UY||(UY=dm(["\n margin: 8px 0;\n font-size: ","px;\n font-weight: normal;\n color: #38383d;\n text-align: center;\n"])),VG.isMobile?14:16),XY=eC.div(MY||(MY=dm(["\n margin-top: 20px;\n font-size: ","px;\n font-weight: normal;\n color: #38383d;\n text-align: center;\n"])),VG.isMobile?14:16),YY=function(e){var t=e.title,r=e.imageTaken,n=e.onConfirm,i=e.onTryAgain,a=e.error,o=e.hasValidQR,s=fm(oy.useState(null),2),c=s[0],u=s[1],l=lk.useSDKSettings().lang,d=Hk.useAsset("ic_close.png"),f=Hk.useAsset("ic_close_desktop.png"),p=fm(oy.useState(VG.isMobile?0:window.innerHeight),2),h=p[0],g=p[1],m=oy.useRef();oy.useEffect((function(){var e;return r&&(e=URL.createObjectURL(r.blob),u(e)),function(){URL.revokeObjectURL(e)}}),[r]);return oy.createElement(FY,null,null!==o&&oy.createElement(nq,{mb:"20px"},oy.createElement("div",null,oy.createElement(mH,{type:o?uH.SUCCESS:uH.WARNING},o?vY.CONFIRM_POPUP_VALID_QR[l]:vY.CONFIRM_POPUP_INVALID_QR[l]))),oy.createElement(QY,null,t),!VG.isMobile&&oy.createElement(WY,null,"Đặt CMND / CCCD của bạn vào giữa khung. Hình ảnh rõ ràng, không bị chói mờ & cắt góc."),oy.createElement(GY,{ref:m,src:c,calHeight:h,onLoad:function(){if(VG.isMobile){var e=m.current,t=e.height/e.width,r=(window.innerWidth-30)*t;g(r)}}}),oy.createElement(XY,null,"Nhìn ổn chứ? Bạn có thể tự chụp lại để có ảnh tốt hơn."),a&&oy.createElement(zY,{className:"confirm-popup-error-message"},a.msg[l]),oy.createElement(KY,null,oy.createElement(qY,null,oy.createElement(jY,{type:"button",onClick:i},vY.BTN_TRY_AGAIN[l])),oy.createElement(HY,null,oy.createElement(VY,{onClick:n},vY.BTN_USE_THIS_PICTURE[l]))),oy.createElement(mY,{onClick:i},oy.createElement("img",{src:VG.isMobile?d:f,alt:""})))};YY.propTypes={imageTaken:Py.shape({}),error:Py.shape({msg:Py.shape({})}),onConfirm:Py.func,onTryAgain:Py.func,hasValidQR:Py.bool,title:Py.string},YY.defaultProps={imageTaken:null,error:null,onConfirm:function(){},onTryAgain:function(){},hasValidQR:null,title:""};var $Y,ZY={primaryColor:"#1AA7FF",dangerColor:"#FF424E"},JY="CONFIRM",e$=rC($Y||($Y=dm(["\n"]))),t$=oC.IDCardSide,r$=oC.IDCardType,n$="id_card",i$="qr_code",a$=[{scannerType:n$,title:"Chụp mặt trước",cardSide:oC.IDCardSide.FRONT,cardType:r$.VN,frontCamera:!1,enableConfirmPopup:!0},{scannerType:n$,title:"Chụp mặt sau",cardSide:oC.IDCardSide.BACK,cardType:r$.VN,frontCamera:!1,enableConfirmPopup:!0}];function o$(e){var t=e.onClose,r=e.onError,n=e.clientSettings,i=e.onStepDone,a=e.steps,o=e.outputEncryptionSettings,s=fm(oy.useState(0),2),c=s[0],u=s[1],l=fm(oy.useState(a[c]),2),d=l[0],f=l[1],p=oy.useRef(null),h=fm(oy.useState(null),2),g=h[0],m=h[1],y=fm(oy.useState(!1),2),v=y[0],b=y[1],C=fm(oy.useState(0),2),w=C[0],E=C[1],k=oy.useRef(),S=d.scannerType,B=d.frontCamera,T=d.title,A=d.cardSide,I=d.usePortraitMask,_=d.enableConfirmPopup,x=Hk.useAsset("ic_close.png"),P=Hk.useAsset("ic_close_desktop.png"),R=Hk.useAsset("ic_loading.png"),N=A===t$.FRONT,O=dK(),L=O.showPopup,D=O.popupShown,U=O.popupType,M=O.props,V=fm(oy.useState(!1),2),j=V[0],F=V[1],z=oy.useRef(null),K=oy.useRef(null),q=oy.useRef([]),H=VH({clientSettings:n}).settings,G=fm(oy.useState({}),2),Q=G[0],W=G[1],X=Q.yTitle,Y=zk.useSDKTracking().sendEvent,$=oy.useCallback((function(e){m(e),b(!0)}),[]);oy.useEffect((function(){b(!1)}),[B]);var Z=oy.useCallback((function(){L({popupType:null})}),[L]),J=oy.useCallback((function(e){e>=a.length||setTimeout((function(){u(e),f(a[e])}),200)}),[a]),ee=oy.useCallback((function(){J(c+1)}),[J,c]),te=oy.useCallback(Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={stepNumber:c,image:z.current,recordedVideos:null!=H&&H.enableRecording?q.current:[]},S===i$&&(t.qrScannedResult=K.current),F(!0),e.next=5,i(t);case 5:Y({tag:"result",event:"sdk_mode.read_id_card_one_side",log:{result_object:t}}),F(!1),ee();case 8:case"end":return e.stop()}}),e)}))),[H,c,i,ee,S,Y]),re=oy.useCallback((function(){Z(),S===i$?J(c):S===n$&&(Y({tag:N?"id_front":"id_back",event:"user_activity.retry",log:{}}),k.current.restartSession())}),[J,c,Z,S,N,Y]),ne=oy.useCallback((function(){Z(),Y({tag:N?"id_front":"id_back",event:"user_activity.submit",log:{}}),te()}),[te,Z,Y,N]),ie=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.image,n=t.error,i=t.recordedVideos,z.current=r,q.current=i,E((function(e){return e+1})),_?L({popupType:JY,props:{title:T,imageTaken:z.current,error:n}}):te();case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[_,L,te,T]);return oy.createElement($b,{theme:ZY},oy.createElement(rY,null,oy.createElement(gU,{key:B,frontCamera:B,onVideoPlayed:$,onClose:t,flipHorizontal:B,ref:p,onError:r,closeButton:oy.createElement(mY,null,oy.createElement("img",{src:VG.isMobile?x:P,alt:""}))},v&&oy.createElement(oy.Fragment,null,S===n$&&oy.createElement(_Y,{key:c,ref:k,windowAndVideoInfo:g,refVideo:p,settings:H,onCaptureDone:ie,onUISpacingChange:W,frontSide:N,usePortraitMask:I,outputEncryptionSettings:o})),oy.createElement(tY,{keyForTransition:w}),oy.createElement(oY,{y:"".concat(X,"px")},oy.createElement(MG,null,oy.createElement(RG,{key:T,timeout:{enter:eY,exit:eY},classNames:"flipY",unmountOnExit:!0},oy.createElement(sY,null,oy.createElement(cY,null,T))))),j&&oy.createElement(iY,null,oy.createElement("img",{src:R,alt:"",className:"spin"}))),oy.createElement(Yj,{open:D,overlayStyle:{padding:0},contentStyle:{maxWidth:"none",width:"100%",height:"100%",borderRadius:0}},U===JY&&oy.createElement(YY,im({},M,{onConfirm:ne,onTryAgain:re})))),oy.createElement(e$,null))}o$.propTypes={onClose:Py.func,onError:Py.func,clientSettings:Py.shape({}),detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),outputEncryptionSettings:Py.shape({})},o$.defaultProps={onClose:function(){},onError:function(){},clientSettings:{},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:a$,outputEncryptionSettings:null};var s$=function(e,t,r,n,i,a,o,s){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[r,n,i,a,o,s],l=0;(c=new Error(t.replace(/%s/g,(function(){return u[l++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}},c$=i(a((function(e,t){!function(e,t){t=t&&t.hasOwnProperty("default")?t.default:t;var r=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/read_id_card_info_sync",e,t)},e}(),i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};
|
61
|
+
*/!function(i,a){var o="function",s="undefined",c="object",u="model",l="name",d="type",f="vendor",p="version",h="architecture",g="console",m="mobile",y="tablet",v="smarttv",b="wearable",C={extend:function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:a},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},w={rgx:function(e,t){for(var r,n,i,s,u,l,d=0;d<t.length&&!u;){var f=t[d],p=t[d+1];for(r=n=0;r<f.length&&!u;)if(u=f[r++].exec(e))for(i=0;i<p.length;i++)l=u[++n],typeof(s=p[i])===c&&s.length>0?2==s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3==s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):a:this[s[0]]=l?s[1].call(this,l,s[2]):a:4==s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):a):this[s]=l||a;d+=2}},str:function(e,t){for(var r in t)if(typeof t[r]===c&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(C.has(t[r][n],e))return"?"===r?a:r}else if(C.has(t[r],e))return"?"===r?a:r;return e}},E={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}},k={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[l,p],[/(opios)[\/\s]+([\w\.]+)/i],[[l,"Opera Mini"],p],[/\s(opr)\/([\w\.]+)/i],[[l,"Opera"],p],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]*)/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark)\/([\w\.-]+)/i],[l,p],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[l,"IE"],p],[/(edge|edgios|edgea)\/((\d+)?[\w\.]+)/i],[[l,"Edge"],p],[/(yabrowser)\/([\w\.]+)/i],[[l,"Yandex"],p],[/(puffin)\/([\w\.]+)/i],[[l,"Puffin"],p],[/((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],[[l,"UCBrowser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],p],[/(micromessenger)\/([\w\.]+)/i],[[l,"WeChat"],p],[/(qqbrowserlite)\/([\w\.]+)/i],[l,p],[/(QQ)\/([\d\.]+)/i],[l,p],[/m?(qqbrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(BIDUBrowser)[\/\s]?([\w\.]+)/i],[l,p],[/(2345Explorer)[\/\s]?([\w\.]+)/i],[l,p],[/(MetaSr)[\/\s]?([\w\.]+)/i],[l],[/(LBBROWSER)/i],[l],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[p,[l,"MIUI Browser"]],[/;fbav\/([\w\.]+);/i],[p,[l,"Facebook"]],[/headlesschrome(?:\/([\w\.]+)|\s)/i],[p,[l,"Chrome Headless"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[l,/(.+)/,"$1 WebView"],p],[/((?:oculus|samsung)browser)\/([\w\.]+)/i],[[l,/(.+(?:g|us))(.+)/,"$1 $2"],p],[/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],[p,[l,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i],[l,p],[/(dolfin)\/([\w\.]+)/i],[[l,"Dolphin"],p],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[l,"Chrome"],p],[/(coast)\/([\w\.]+)/i],[[l,"Opera Coast"],p],[/fxios\/([\w\.-]+)/i],[p,[l,"Firefox"]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[p,[l,"Mobile Safari"]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[p,l],[/webkit.+?(gsa)\/([\w\.]+).+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[[l,"GSA"],p],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[l,[p,w.str,E.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[l,p],[/(navigator|netscape)\/([\w\.-]+)/i],[[l,"Netscape"],p],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]*)/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[l,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[h,"amd64"]],[/(ia32(?=;))/i],[[h,C.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[h,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[h,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[h,/ower/,"",C.lowerize]],[/(sun4\w)[;\)]/i],[[h,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[h,C.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[u,f,[d,y]],[/applecoremedia\/[\w\.]+ \((ipad)/],[u,[f,"Apple"],[d,y]],[/(apple\s{0,1}tv)/i],[[u,"Apple TV"],[f,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[f,u,[d,y]],[/(kf[A-z]+)\sbuild\/.+silk\//i],[u,[f,"Amazon"],[d,y]],[/(sd|kf)[0349hijorstuw]+\sbuild\/.+silk\//i],[[u,w.str,E.device.amazon.model],[f,"Amazon"],[d,m]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[u,f,[d,m]],[/\((ip[honed|\s\w*]+);/i],[u,[f,"Apple"],[d,m]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[f,u,[d,m]],[/\(bb10;\s(\w+)/i],[u,[f,"BlackBerry"],[d,m]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone)/i],[u,[f,"Asus"],[d,y]],[/(sony)\s(tablet\s[ps])\sbuild\//i,/(sony)?(?:sgp.+)\sbuild\//i],[[f,"Sony"],[u,"Xperia Tablet"],[d,y]],[/android.+\s([c-g]\d{4}|so[-l]\w+)\sbuild\//i],[u,[f,"Sony"],[d,m]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[f,u,[d,g]],[/android.+;\s(shield)\sbuild/i],[u,[f,"Nvidia"],[d,g]],[/(playstation\s[34portablevi]+)/i],[u,[f,"Sony"],[d,g]],[/(sprint\s(\w+))/i],[[f,w.str,E.device.sprint.vendor],[u,w.str,E.device.sprint.model],[d,m]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[f,u,[d,y]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w*)/i,/(alcatel|geeksphone|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i],[f,[u,/_/g," "],[d,m]],[/(nexus\s9)/i],[u,[f,"HTC"],[d,y]],[/d\/huawei([\w\s-]+)[;\)]/i,/(nexus\s6p)/i],[u,[f,"Huawei"],[d,m]],[/(microsoft);\s(lumia[\s\w]+)/i],[f,u,[d,m]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[u,[f,"Microsoft"],[d,g]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[f,"Microsoft"],[d,m]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)[\w\s]+build\//i,/mot[\s-]?(\w*)/i,/(XT\d{3,4}) build\//i,/(nexus\s6)/i],[u,[f,"Motorola"],[d,m]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[u,[f,"Motorola"],[d,y]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[f,C.trim],[u,C.trim],[d,v]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[f,"Samsung"],[d,v]],[/\(dtv[\);].+(aquos)/i],[u,[f,"Sharp"],[d,v]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[f,"Samsung"],u,[d,y]],[/smart-tv.+(samsung)/i],[f,[d,v],u],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)/i,/sec-((sgh\w+))/i],[[f,"Samsung"],u,[d,m]],[/sie-(\w*)/i],[u,[f,"Siemens"],[d,m]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]*)/i],[[f,"Nokia"],u,[d,m]],[/android\s3\.[\s\w;-]{10}(a\d{3})/i],[u,[f,"Acer"],[d,y]],[/android.+([vl]k\-?\d{3})\s+build/i],[u,[f,"LG"],[d,y]],[/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[f,"LG"],u,[d,y]],[/(lg) netcast\.tv/i],[f,u,[d,v]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w*)/i,/android.+lg(\-?[\d\w]+)\s+build/i],[u,[f,"LG"],[d,m]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[u,[f,"Lenovo"],[d,y]],[/linux;.+((jolla));/i],[f,u,[d,m]],[/((pebble))app\/[\d\.]+\s/i],[f,u,[d,b]],[/android.+;\s(oppo)\s?([\w\s]+)\sbuild/i],[f,u,[d,m]],[/crkey/i],[[u,"Chromecast"],[f,"Google"]],[/android.+;\s(glass)\s\d/i],[u,[f,"Google"],[d,b]],[/android.+;\s(pixel c)\s/i],[u,[f,"Google"],[d,y]],[/android.+;\s(pixel xl|pixel)\s/i],[u,[f,"Google"],[d,m]],[/android.+;\s(\w+)\s+build\/hm\1/i,/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i,/android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d?\w?)[\s_]*(?:plus)?)\s+build/i,/android.+(redmi[\s\-_]*(?:note)?(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,m]],[/android.+(mi[\s\-_]*(?:pad)(?:[\s_]*[\w\s]+))\s+build/i],[[u,/_/g," "],[f,"Xiaomi"],[d,y]],[/android.+;\s(m[1-5]\snote)\sbuild/i],[u,[f,"Meizu"],[d,y]],[/android.+a000(1)\s+build/i,/android.+oneplus\s(a\d{4})\s+build/i],[u,[f,"OnePlus"],[d,m]],[/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i],[u,[f,"RCA"],[d,y]],[/android.+[;\/\s]+(Venue[\d\s]{2,7})\s+build/i],[u,[f,"Dell"],[d,y]],[/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i],[u,[f,"Verizon"],[d,y]],[/android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i],[[f,"Barnes & Noble"],u,[d,y]],[/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i],[u,[f,"NuVision"],[d,y]],[/android.+;\s(k88)\sbuild/i],[u,[f,"ZTE"],[d,y]],[/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i],[u,[f,"Swiss"],[d,m]],[/android.+[;\/]\s*(zur\d{3})\s+build/i],[u,[f,"Swiss"],[d,y]],[/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i],[u,[f,"Zeki"],[d,y]],[/(android).+[;\/]\s+([YR]\d{2})\s+build/i,/android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i],[[f,"Dragon Touch"],u,[d,y]],[/android.+[;\/]\s*(NS-?\w{0,9})\sbuild/i],[u,[f,"Insignia"],[d,y]],[/android.+[;\/]\s*((NX|Next)-?\w{0,9})\s+build/i],[u,[f,"NextBook"],[d,y]],[/android.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i],[[f,"Voice"],u,[d,m]],[/android.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i],[[f,"LvTel"],u,[d,m]],[/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i],[u,[f,"Envizen"],[d,y]],[/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i],[u,[f,"MachSpeed"],[d,y]],[/android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i],[f,u,[d,y]],[/android.+[;\/]\s*TU_(1491)\s+build/i],[u,[f,"Rotor"],[d,y]],[/android.+(KS(.+))\s+build/i],[u,[f,"Amazon"],[d,y]],[/android.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i],[f,u,[d,y]],[/\s(tablet|tab)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[d,C.lowerize],f,u],[/(android[\w\.\s\-]{0,9});.+build/i],[u,[f,"Generic"]]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[p,[l,"EdgeHTML"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[l,p],[/rv\:([\w\.]{1,9}).+(gecko)/i],[p,l]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[l,p],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[l,[p,w.str,E.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[l,"Windows"],[p,w.str,E.os.windows.version]],[/\((bb)(10);/i],[[l,"BlackBerry"],p],[/(blackberry)\w*\/?([\w\.]*)/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]*)/i,/linux;.+(sailfish);/i],[l,p],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]*)/i],[[l,"Symbian"],p],[/\((series40);/i],[l],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[l,"Firefox OS"],p],[/(nintendo|playstation)\s([wids34portablevu]+)/i,/(mint)[\/\s\(]?(\w*)/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]*)/i,/(hurd|linux)\s?([\w\.]*)/i,/(gnu)\s?([\w\.]*)/i],[l,p],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[l,"Chromium OS"],p],[/(sunos)\s?([\w\.\d]*)/i],[[l,"Solaris"],p],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]*)/i],[l,p],[/(haiku)\s(\w+)/i],[l,p],[/cfnetwork\/.+darwin/i,/ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i],[[p,/_/g,"."],[l,"iOS"]],[/(mac\sos\sx)\s?([\w\s\.]*)/i,/(macintosh|mac(?=_powerpc)\s)/i],[[l,"Mac OS"],[p,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]*)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]*)/i],[l,p]]},S=function(e,t){if("object"==typeof e&&(t=e,e=a),!(this instanceof S))return new S(e,t).getResult();var r=e||(i&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),n=t?C.extend(k,t):k;return this.getBrowser=function(){var e={name:a,version:a};return w.rgx.call(e,r,n.browser),e.major=C.major(e.version),e},this.getCPU=function(){var e={architecture:a};return w.rgx.call(e,r,n.cpu),e},this.getDevice=function(){var e={vendor:a,model:a,type:a};return w.rgx.call(e,r,n.device),e},this.getEngine=function(){var e={name:a,version:a};return w.rgx.call(e,r,n.engine),e},this.getOS=function(){var e={name:a,version:a};return w.rgx.call(e,r,n.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=e,this},this};S.VERSION="0.7.18",S.BROWSER={NAME:l,MAJOR:"major",VERSION:p},S.CPU={ARCHITECTURE:h},S.DEVICE={MODEL:u,VENDOR:f,TYPE:d,CONSOLE:g,MOBILE:m,SMARTTV:v,TABLET:y,WEARABLE:b,EMBEDDED:"embedded"},S.ENGINE={NAME:l,VERSION:p},S.OS={NAME:l,VERSION:p},typeof t!==s?(typeof e!==s&&e.exports&&(t=e.exports=S),t.UAParser=S):r(3)?(n=function(){return S}.call(t,r,t,e))===a||(e.exports=n):i&&(i.UAParser=S);var B=i&&(i.jQuery||i.Zepto);if(typeof B!==s){var T=new S;B.ua=T.getResult(),B.ua.get=function(){return T.getUA()},B.ua.set=function(e){T.setUA(e);var t=T.getResult();for(var r in t)B.ua[r]=t[r]}}}("object"==typeof window?window:this)},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i=r(0),a=i.DEVICE_TYPES,o=i.defaultData,s=t.getNavigatorInstance=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},c=t.isIOS13Check=function(e){var t=s();return t&&t.platform&&(-1!==t.platform.indexOf(e)||"MacIntel"===t.platform&&t.maxTouchPoints>1&&!window.MSStream)};e.exports={checkType:function(e){switch(e){case a.MOBILE:return{isMobile:!0};case a.TABLET:return{isTablet:!0};case a.SMART_TV:return{isSmartTV:!0};case a.CONSOLE:return{isConsole:!0};case a.WEARABLE:return{isWearable:!0};case a.BROWSER:return{isBrowser:!0};default:return o}},broPayload:function(e,t,r,n,i){return{isBrowser:e,browserMajorVersion:t.major,browserFullVersion:t.version,browserName:t.name,engineName:r.name||!1,engineVersion:r.version,osName:n.name,osVersion:n.version,userAgent:i}},mobilePayload:function(e,t,r,i){return n({},e,{vendor:t.vendor,model:t.model,os:r.name,osVersion:r.version,ua:i})},stvPayload:function(e,t,r,n){return{isSmartTV:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},consolePayload:function(e,t,r,n){return{isConsole:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},wearPayload:function(e,t,r,n){return{isWearable:e,engineName:t.name,engineVersion:t.version,osName:r.name,osVersion:r.version,userAgent:n}},getNavigatorInstance:s,isIOS13Check:c}}])})),zG="object"==typeof n&&n&&n.Object===Object&&n,KG="object"==typeof self&&self&&self.Object===Object&&self,qG=zG||KG||Function("return this")(),HG=qG.Symbol,GG=Object.prototype,QG=GG.hasOwnProperty,WG=GG.toString,XG=HG?HG.toStringTag:void 0;var YG=function(e){var t=QG.call(e,XG),r=e[XG];try{e[XG]=void 0;var n=!0}catch(e){}var i=WG.call(e);return n&&(t?e[XG]=r:delete e[XG]),i},$G=Object.prototype.toString;var ZG=function(e){return $G.call(e)},JG=HG?HG.toStringTag:void 0;var eQ=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":JG&&JG in Object(e)?YG(e):ZG(e)};var tQ=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var rQ=function(e){if(!tQ(e))return!1;var t=eQ(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},nQ=qG["__core-js_shared__"],iQ=function(){var e=/[^.]+$/.exec(nQ&&nQ.keys&&nQ.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var aQ=function(e){return!!iQ&&iQ in e},oQ=Function.prototype.toString;var sQ=function(e){if(null!=e){try{return oQ.call(e)}catch(e){}try{return e+""}catch(e){}}return""},cQ=/^\[object .+?Constructor\]$/,uQ=Function.prototype,lQ=Object.prototype,dQ=uQ.toString,fQ=lQ.hasOwnProperty,pQ=RegExp("^"+dQ.call(fQ).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var hQ=function(e){return!(!tQ(e)||aQ(e))&&(rQ(e)?pQ:cQ).test(sQ(e))};var gQ=function(e,t){return null==e?void 0:e[t]};var mQ=function(e,t){var r=gQ(e,t);return hQ(r)?r:void 0},yQ=function(){try{var e=mQ(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var vQ=function(e,t,r){"__proto__"==t&&yQ?yQ(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var bQ=function(e,t){return e===t||e!=e&&t!=t},CQ=Object.prototype.hasOwnProperty;var wQ=function(e,t,r){var n=e[t];CQ.call(e,t)&&bQ(n,r)&&(void 0!==r||t in e)||vQ(e,t,r)};var EQ=function(e,t,r,n){var i=!r;r||(r={});for(var a=-1,o=t.length;++a<o;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),i?vQ(r,s,c):wQ(r,s,c)}return r};var kQ=function(e){return e};var SQ=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},BQ=Math.max;var TQ=function(e,t,r){return t=BQ(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=BQ(n.length-t,0),o=Array(a);++i<a;)o[i]=n[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=n[i];return s[t]=r(o),SQ(e,this,s)}};var AQ=function(e){return function(){return e}},IQ=yQ?function(e,t){return yQ(e,"toString",{configurable:!0,enumerable:!1,value:AQ(t),writable:!0})}:kQ,_Q=Date.now;var xQ=function(e){var t=0,r=0;return function(){var n=_Q(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(IQ);var PQ=function(e,t){return xQ(TQ(e,t,kQ),e+"")};var RQ=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var NQ=function(e){return null!=e&&RQ(e.length)&&!rQ(e)},OQ=/^(?:0|[1-9]\d*)$/;var LQ=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&OQ.test(e))&&e>-1&&e%1==0&&e<t};var DQ=function(e,t,r){if(!tQ(r))return!1;var n=typeof t;return!!("number"==n?NQ(r)&&LQ(t,r.length):"string"==n&&t in r)&&bQ(r[t],e)};var UQ=function(e){return PQ((function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,o&&DQ(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var s=r[n];s&&e(t,s,n,a)}return t}))};var MQ=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var VQ=function(e){return null!=e&&"object"==typeof e};var jQ=function(e){return VQ(e)&&"[object Arguments]"==eQ(e)},FQ=Object.prototype,zQ=FQ.hasOwnProperty,KQ=FQ.propertyIsEnumerable,qQ=jQ(function(){return arguments}())?jQ:function(e){return VQ(e)&&zQ.call(e,"callee")&&!KQ.call(e,"callee")},HQ=Array.isArray;var GQ=function(){return!1},QQ=a((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r?qG.Buffer:void 0,a=(i?i.isBuffer:void 0)||GQ;e.exports=a})),WQ={};WQ["[object Float32Array]"]=WQ["[object Float64Array]"]=WQ["[object Int8Array]"]=WQ["[object Int16Array]"]=WQ["[object Int32Array]"]=WQ["[object Uint8Array]"]=WQ["[object Uint8ClampedArray]"]=WQ["[object Uint16Array]"]=WQ["[object Uint32Array]"]=!0,WQ["[object Arguments]"]=WQ["[object Array]"]=WQ["[object ArrayBuffer]"]=WQ["[object Boolean]"]=WQ["[object DataView]"]=WQ["[object Date]"]=WQ["[object Error]"]=WQ["[object Function]"]=WQ["[object Map]"]=WQ["[object Number]"]=WQ["[object Object]"]=WQ["[object RegExp]"]=WQ["[object Set]"]=WQ["[object String]"]=WQ["[object WeakMap]"]=!1;var XQ=function(e){return VQ(e)&&RQ(e.length)&&!!WQ[eQ(e)]};var YQ=function(e){return function(t){return e(t)}},$Q=a((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r&&zG.process,a=function(){try{var e=n&&n.require&&n.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=a})),ZQ=$Q&&$Q.isTypedArray,JQ=ZQ?YQ(ZQ):XQ,eW=Object.prototype.hasOwnProperty;var tW=function(e,t){var r=HQ(e),n=!r&&qQ(e),i=!r&&!n&&QQ(e),a=!r&&!n&&!i&&JQ(e),o=r||n||i||a,s=o?MQ(e.length,String):[],c=s.length;for(var u in e)!t&&!eW.call(e,u)||o&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||LQ(u,c))||s.push(u);return s},rW=Object.prototype;var nW=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||rW)};var iW=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},aW=Object.prototype.hasOwnProperty;var oW=function(e){if(!tQ(e))return iW(e);var t=nW(e),r=[];for(var n in e)("constructor"!=n||!t&&aW.call(e,n))&&r.push(n);return r};var sW=function(e){return NQ(e)?tW(e,!0):oW(e)},cW=UQ((function(e,t,r,n){EQ(t,sW(t),e,n)}));var uW=function(e,t){return function(r){return e(t(r))}},lW=uW(Object.getPrototypeOf,Object),dW=Function.prototype,fW=Object.prototype,pW=dW.toString,hW=fW.hasOwnProperty,gW=pW.call(Object);var mW=function(e){if(!VQ(e)||"[object Object]"!=eQ(e))return!1;var t=lW(e);if(null===t)return!0;var r=hW.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&pW.call(r)==gW};var yW=function(e){if(!VQ(e))return!1;var t=eQ(e);return"[object Error]"==t||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!mW(e)},vW=PQ((function(e,t){try{return SQ(e,void 0,t)}catch(e){return yW(e)?e:new Error(e)}}));var bW=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i};var CW=function(e,t){return bW(t,(function(t){return e[t]}))},wW=Object.prototype,EW=wW.hasOwnProperty;var kW=function(e,t,r,n){return void 0===e||bQ(e,wW[r])&&!EW.call(n,r)?t:e},SW={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var BW=function(e){return"\\"+SW[e]},TW=uW(Object.keys,Object),AW=Object.prototype.hasOwnProperty;var IW=function(e){if(!nW(e))return TW(e);var t=[];for(var r in Object(e))AW.call(e,r)&&"constructor"!=r&&t.push(r);return t};var _W=function(e){return NQ(e)?tW(e):IW(e)},xW=/<%=([\s\S]+?)%>/g;var PW=function(e){return function(t){return null==e?void 0:e[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"});var RW=function(e){return"symbol"==typeof e||VQ(e)&&"[object Symbol]"==eQ(e)},NW=HG?HG.prototype:void 0,OW=NW?NW.toString:void 0;var LW=function e(t){if("string"==typeof t)return t;if(HQ(t))return bW(t,e)+"";if(RW(t))return OW?OW.call(t):"";var r=t+"";return"0"==r&&1/t==-Infinity?"-0":r};var DW=function(e){return null==e?"":LW(e)},UW=/[&<>"']/g,MW=RegExp(UW.source);var VW={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:xW,variable:"",imports:{_:{escape:function(e){return(e=DW(e))&&MW.test(e)?e.replace(UW,PW):e}}}},jW=/\b__p \+= '';/g,FW=/\b(__p \+=) '' \+/g,zW=/(__e\(.*?\)|\b__t\)) \+\n'';/g,KW=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qW=/($^)/,HW=/['\n\r\u2028\u2029\\]/g,GW=Object.prototype.hasOwnProperty;var QW=function(e,t,r){var n=VW.imports._.templateSettings||VW;r&&DQ(e,t,r)&&(t=void 0),e=DW(e),t=cW({},t,n,kW);var i,a,o=cW({},t.imports,n.imports,kW),s=_W(o),c=CW(o,s),u=0,l=t.interpolate||qW,d="__p += '",f=RegExp((t.escape||qW).source+"|"+l.source+"|"+(l===xW?KW:qW).source+"|"+(t.evaluate||qW).source+"|$","g"),p=GW.call(t,"sourceURL")?"//# sourceURL="+(t.sourceURL+"").replace(/\s/g," ")+"\n":"";e.replace(f,(function(t,r,n,o,s,c){return n||(n=o),d+=e.slice(u,c).replace(HW,BW),r&&(i=!0,d+="' +\n__e("+r+") +\n'"),s&&(a=!0,d+="';\n"+s+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=c+t.length,t})),d+="';\n";var h=GW.call(t,"variable")&&t.variable;h||(d="with (obj) {\n"+d+"\n}\n"),d=(a?d.replace(jW,""):d).replace(FW,"$1").replace(zW,"$1;"),d="function("+(h||"obj")+") {\n"+(h?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var g=vW((function(){return Function(s,p+"return "+d).apply(void 0,c)}));if(g.source=d,yW(g))throw g;return g},WW="SESSION_TIMEOUT";function XW(){return(XW=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var YW,$W,ZW,JW,eX,tX,rX,nX,iX,aX,oX,sX,cX="undefined"!=typeof window?oy.useLayoutEffect:oy.useEffect,uX={popupContent:{tooltip:{position:"absolute",zIndex:999},modal:{position:"relative",margin:"auto"}},popupArrow:{height:"8px",width:"16px",position:"absolute",background:"transparent",color:"#FFF",zIndex:-1},overlay:{tooltip:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",zIndex:999},modal:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",display:"flex",zIndex:999}}},lX=["top left","top center","top right","right top","right center","right bottom","bottom left","bottom center","bottom right","left top","left center","left bottom"],dX=function(e,t,r,n,i){var a=i.offsetX,o=i.offsetY,s=n?8:0,c=r.split(" "),u=e.top+e.height/2,l=e.left+e.width/2,d=t.height,f=t.width,p=u-d/2,h=l-f/2,g="",m="0%",y="0%";switch(c[0]){case"top":p-=d/2+e.height/2+s,g="rotate(180deg) translateX(50%)",m="100%",y="50%";break;case"bottom":p+=d/2+e.height/2+s,g="rotate(0deg) translateY(-100%) translateX(-50%)",y="50%";break;case"left":h-=f/2+e.width/2+s,g=" rotate(90deg) translateY(50%) translateX(-25%)",y="100%",m="50%";break;case"right":h+=f/2+e.width/2+s,g="rotate(-90deg) translateY(-150%) translateX(25%)",m="50%"}switch(c[1]){case"top":p=e.top,m=e.height/2+"px";break;case"bottom":p=e.top-d+e.height,m=d-e.height/2+"px";break;case"left":h=e.left,y=e.width/2+"px";break;case"right":h=e.left-f+e.width,y=f-e.width/2+"px"}return{top:p="top"===c[0]?p-o:p+o,left:h="left"===c[0]?h-a:h+a,transform:g,arrowLeft:y,arrowTop:m}},fX=function(e,t,r,n,i,a){var o=i.offsetX,s=i.offsetY,c={arrowLeft:"0%",arrowTop:"0%",left:0,top:0,transform:"rotate(135deg)"},u=0,l=function(e){var t={top:0,left:0,width:window.innerWidth,height:window.innerHeight};if("string"==typeof e){var r=document.querySelector(e);null!==r&&(t=r.getBoundingClientRect())}return t}(a),d=Array.isArray(r)?r:[r];for((a||Array.isArray(r))&&(d=[].concat(d,lX));u<d.length;){var f={top:(c=dX(e,t,d[u],n,{offsetX:o,offsetY:s})).top,left:c.left,width:t.width,height:t.height};if(!(f.top<=l.top||f.left<=l.left||f.top+f.height>=l.top+l.height||f.left+f.width>=l.left+l.width))break;u++}return c},pX=0,hX=oy.forwardRef((function(e,t){var r=e.trigger,n=void 0===r?null:r,i=e.onOpen,a=void 0===i?function(){}:i,o=e.onClose,s=void 0===o?function(){}:o,c=e.defaultOpen,u=void 0!==c&&c,l=e.open,d=void 0===l?void 0:l,f=e.disabled,p=void 0!==f&&f,h=e.nested,g=void 0!==h&&h,m=e.closeOnDocumentClick,y=void 0===m||m,v=e.repositionOnResize,b=void 0===v||v,C=e.closeOnEscape,w=void 0===C||C,E=e.on,k=void 0===E?["click"]:E,S=e.contentStyle,B=void 0===S?{}:S,T=e.arrowStyle,A=void 0===T?{}:T,I=e.overlayStyle,_=void 0===I?{}:I,x=e.className,P=void 0===x?"":x,R=e.position,N=void 0===R?"bottom center":R,O=e.modal,L=void 0!==O&&O,D=e.lockScroll,U=void 0!==D&&D,M=e.arrow,V=void 0===M||M,j=e.offsetX,F=void 0===j?0:j,z=e.offsetY,K=void 0===z?0:z,q=e.mouseEnterDelay,H=void 0===q?100:q,G=e.mouseLeaveDelay,Q=void 0===G?100:G,W=e.keepTooltipInside,X=void 0!==W&&W,Y=e.children,$=oy.useState(d||u),Z=$[0],J=$[1],ee=oy.useRef(null),te=oy.useRef(null),re=oy.useRef(null),ne=oy.useRef(null),ie=oy.useRef("popup-"+ ++pX),ae=!!L||!n,oe=oy.useRef(0);cX((function(){return Z?(ne.current=document.activeElement,ve(),ge(),pe()):he(),function(){clearTimeout(oe.current)}}),[Z]),oy.useEffect((function(){"boolean"==typeof d&&(d?se():ce())}),[d,p]);var se=function(e){Z||p||(J(!0),setTimeout((function(){return a(e)}),0))},ce=function(e){var t;Z&&!p&&(J(!1),ae&&(null===(t=ne.current)||void 0===t||t.focus()),setTimeout((function(){return s(e)}),0))},ue=function(e){null==e||e.stopPropagation(),Z?ce(e):se(e)},le=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return se(e)}),H)},de=function(e){null==e||e.preventDefault(),ue()},fe=function(e){clearTimeout(oe.current),oe.current=setTimeout((function(){return ce(e)}),Q)},pe=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="hidden")},he=function(){ae&&U&&(document.getElementsByTagName("body")[0].style.overflow="auto")},ge=function(){var e,t=null==te||null===(e=te.current)||void 0===e?void 0:e.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),r=Array.prototype.slice.call(t)[0];null==r||r.focus()};oy.useImperativeHandle(t,(function(){return{open:function(){se()},close:function(){ce()},toggle:function(){ue()}}}));var me,ye,ve=function(){if(!ae&&Z&&(null==ee?void 0:ee.current)&&(null==ee?void 0:ee.current)&&(null==te?void 0:te.current)){var e,t,r=ee.current.getBoundingClientRect(),n=te.current.getBoundingClientRect(),i=fX(r,n,N,V,{offsetX:F,offsetY:K},X);if(te.current.style.top=i.top+window.scrollY+"px",te.current.style.left=i.left+window.scrollX+"px",V&&re.current)re.current.style.transform=i.transform,re.current.style.setProperty("-ms-transform",i.transform),re.current.style.setProperty("-webkit-transform",i.transform),re.current.style.top=(null===(e=A.top)||void 0===e?void 0:e.toString())||i.arrowTop,re.current.style.left=(null===(t=A.left)||void 0===t?void 0:t.toString())||i.arrowLeft}};me=ce,void 0===(ye=w)&&(ye=!0),oy.useEffect((function(){if(ye){var e=function(e){"Escape"===e.key&&me(e)};return document.addEventListener("keyup",e),function(){ye&&document.removeEventListener("keyup",e)}}}),[me,ye]),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(t){if(9===t.keyCode){var r,n=null==e||null===(r=e.current)||void 0===r?void 0:r.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),i=Array.prototype.slice.call(n);if(1===i.length)return void t.preventDefault();var a=i[0],o=i[i.length-1];t.shiftKey&&document.activeElement===a?(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),a.focus())}};return document.addEventListener("keydown",r),function(){t&&document.removeEventListener("keydown",r)}}}),[e,t])}(te,Z&&ae),function(e,t){void 0===t&&(t=!0),oy.useEffect((function(){if(t){var r=function(){e()};return window.addEventListener("resize",r),function(){t&&window.removeEventListener("resize",r)}}}),[e,t])}(ve,b),function(e,t,r){void 0===r&&(r=!0),oy.useEffect((function(){if(r){var n=function(r){var n=Array.isArray(e)?e:[e],i=!1;n.forEach((function(e){e.current&&!e.current.contains(r.target)||(i=!0)})),r.stopPropagation(),i||t(r)};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),function(){r&&(document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n))}}}),[e,t,r])}(n?[te,ee]:[te],ce,y&&!g);var be,Ce=function(){return oy.createElement("div",Object.assign({},(e=ae?uX.popupContent.modal:uX.popupContent.tooltip,t={className:"popup-content "+(""!==P?P.split(" ").map((function(e){return e+"-content"})).join(" "):""),style:XW({},e,B,{pointerEvents:"auto"}),ref:te,onClick:function(e){e.stopPropagation()}},!L&&k.indexOf("hover")>=0&&(t.onMouseEnter=le,t.onMouseLeave=fe),t),{key:"C",role:ae?"dialog":"tooltip",id:ie.current}),V&&!ae&&oy.createElement("div",{ref:re,style:uX.popupArrow},oy.createElement("svg",{"data-testid":"arrow",className:"popup-arrow "+(""!==P?P.split(" ").map((function(e){return e+"-arrow"})).join(" "):""),viewBox:"0 0 32 16",style:XW({position:"absolute"},A)},oy.createElement("path",{d:"M16 0l16 16H0z",fill:"currentcolor"}))),Y&&"function"==typeof Y?Y(ce,Z):Y);var e,t},we=!(k.indexOf("hover")>=0),Ee=ae?uX.overlay.modal:uX.overlay.tooltip,ke=[we&&oy.createElement("div",{key:"O","data-testid":"overlay","data-popup":ae?"modal":"tooltip",className:"popup-overlay "+(""!==P?P.split(" ").map((function(e){return e+"-overlay"})).join(" "):""),style:XW({},Ee,_,{pointerEvents:y&&g||ae?"auto":"none"}),onClick:y&&g?ce:void 0,tabIndex:-1},ae&&Ce()),!ae&&Ce()];return oy.createElement(oy.Fragment,null,function(){for(var e={key:"T",ref:ee,"aria-describedby":ie.current},t=Array.isArray(k)?k:[k],r=0,i=t.length;r<i;r++)switch(t[r]){case"click":e.onClick=ue;break;case"right-click":e.onContextMenu=de;break;case"hover":e.onMouseEnter=le,e.onMouseLeave=fe;break;case"focus":e.onFocus=le,e.onBlur=fe}if("function"==typeof n){var a=n(Z);return!!n&&oy.cloneElement(a,e)}return!!n&&oy.cloneElement(n,e)}(),Z&&yD.createPortal(ke,(null===(be=document.getElementById("popup-root"))&&((be=document.createElement("div")).setAttribute("id","popup-root"),document.body.appendChild(be)),be)))}));function gX(){return"function"==typeof navigator.enumerateDevices?navigator.enumerateDevices():"object"===$g(navigator.mediaDevices)&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():new Promise((function(e,t){try{if(null==window.MediaStreamTrack||null==window.MediaStreamTrack.getSources)throw new Error;window.MediaStreamTrack.getSources((function(t){e(t.filter((function(e){return"video"===e.kind.toLowerCase()||"videoinput"===e.kind.toLowerCase()})).map((function(e){return{deviceId:null!=e.deviceId?e.deviceId:"",groupId:e.groupId,kind:"videoinput",label:e.label,toJSON:function(){return this}}})))}))}catch(e){return t(e)}}))}var mX,yX=oC.Errors,vX=eC.div(YW||(YW=dm(["\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #000;\n display: flex;\n justify-content: center;\n z-index: ",";\n ","\n"])),1e3,(function(e){return e.checkCameraMode&&"opacity: 0;"})),bX=eC.video($W||($W=dm(["\n width: 100%;\n ","\n"])),(function(e){return e.flipHorizontal&&"\n transform: scaleX(-1);\n "})),CX=eC.div(ZW||(ZW=dm(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),wX=eC(CX)(JW||(JW=dm(["\n z-index: ",";\n position: absolute;\n top: 20px;\n right: 20px;\n width: 20px;\n"])),1100),EX=eC.div(eX||(eX=dm(["\n z-index: ",";\n position: absolute;\n top: 40px;\n color: red;\n"])),1020),kX=eC.div(tX||(tX=dm(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: ",";\n"])),1030),SX=eC.section(rX||(rX=dm(["\n width: 260px;\n margin: 1.25rem;\n padding: 0.625rem 1.875rem;\n background: #ffffff;\n border-radius: 0.3125rem;\n box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.15);\n"]))),BX=eC.header(nX||(nX=dm(["\n text-align: center;\n padding: 0.625rem 0;\n border-bottom: 1px solid #dddddd;\n"]))),TX=eC.h2(iX||(iX=dm(["\n margin: 0.25rem auto;\n padding: 0;\n font-weight: 600;\n font-size: 1.2rem;\n"]))),AX=eC.p(aX||(aX=dm(["\n padding: 0 0 0.3125rem;\n margin: 0.25rem auto;\n font-size: 0.8rem;\n"]))),IX=eC.ul(oX||(oX=dm(["\n list-style: none;\n padding: 0;\n"]))),_X=eC.li(sX||(sX=dm(["\n padding: 0.625rem 0 0.9375rem;\n margin: 0;\n text-align: left;\n width: 100%;\n cursor: pointer;\n font-size: 0.82rem;\n transition: all 550ms ease-in-out;\n\n &:hover {\n opacity: 0.8;\n }\n"]))),xX=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)return navigator.mediaDevices;var e=navigator.mozGetUserMedia||navigator.webkitGetUserMedia;return e?{getUserMedia:function(t){return new Promise((function(r,n){e.call(navigator,t,r,n)}))}}:null}();function PX(e){var t=e.checkCameraMode,r=e.frontCamera,n=e.onClose,i=e.children,a=e.onVideoPlayed,o=e.flipHorizontal,s=e.videoSettings,c=e.refVideo,u=e.onError,l=e.closeButton,d=e.videoClassName,f=lk.useSDKSettings().lang,p=zk.useSDKTracking().sendEvent,h=Hk.useAsset("ic_close.png"),g=fm(oy.useState(""),2),m=g[0],y=g[1],v=fm(oy.useState([]),2),b=v[0],C=v[1],w=fm(oy.useState(!1),2),E=w[0],k=w[1],S=oy.useRef(!1),B=oy.useRef(!1),T=oy.useCallback((function(){try{var e;(null==c||null===(e=c.current)||void 0===e?void 0:e.srcObject)instanceof MediaStream&&(c.current.srcObject.getTracks().forEach((function(e){return e.stop()})),c.current.srcObject=null)}catch(e){}}),[c]),A=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={},n=FG.isMobile?FG.isIOS?{width:{ideal:1460},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{width:{ideal:1650},aspectRatio:{ideal:window.innerHeight/window.innerWidth}}:{height:{ideal:9999}},e.prev=2,e.next=5,xX.getUserMedia({audio:!1,video:om(om({},t?{deviceId:t}:{facingMode:r?"user":"environment"}),s||n)});case 5:return(i=e.sent)||(y(yX.not_supported.msg[f]),u(yX.not_supported)),e.abrupt("return",i);case 10:e.prev=10,e.t0=e.catch(2),"NotAllowedError"===e.t0.name?(y(yX.no_permission.msg[f]),u(yX.no_permission)):(k(!0),y(e.t0.message),u({code:e.t0.name||e.t0.code}));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,null,[[2,10]])})));return function(t){return e.apply(this,arguments)}}(),[r,s,f,u]),I=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=c.current).oncanplaythrough=function(){r.play(),B.current=!0,y("");var e=window.innerWidth,t=window.innerHeight,n=bS.analyzeVideoAndWindowSizes(r),i=n.lostX,o=void 0===i?0:i,s=n.lostY,c=void 0===s?0:s,u=Math.min(e,Math.floor(e-2*o)),l=Math.min(t,Math.floor(t-2*c));a&&a({clientWidth:e,clientHeight:t,videoAreaWidth:u,videoAreaHeight:l,lostX:o,lostY:c})},e.next=4,A(t);case 4:(n=e.sent)&&(r.srcObject=n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[c,A,a]);oy.useEffect((function(){function e(){return(e=Jg(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,gX();case 3:t=e.sent,r=t.filter((function(e){return e.deviceId&&"videoinput"===e.kind})),C(r),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.error(e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}E&&!S.current&&(S.current=!0,function(){e.apply(this,arguments)}())}),[E]),oy.useEffect((function(){function e(){return(e=Jg(regeneratorRuntime.mark((function e(){var t,r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I();case 2:return e.next=4,gX();case 4:t=e.sent,(r=t.filter((function(e){return"videoinput"===e.kind&&e.label.includes("0")}))).length>0&&(n=r[0].deviceId,T(),I(n));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var t=c.current;return!xX||FG.browserName&&["facebook"].includes(FG.browserName.toLowerCase())||FG.getUA.includes("Zalo iOS")?(y(yX.not_supported.msg[f]),u(yX.not_supported)):t&&(FG.isAndroid&&!1===r?function(){e.apply(this,arguments)}():I()),function(){T()}}),[c,f,r,I,T,u]),oy.useEffect((function(){var e=setTimeout((function(){B.current||(y(yX.camera_timeout.msg[f]),u(yX.camera_timeout))}),3e5);return function(){clearTimeout(e)}}),[f,u]);var _=oy.useCallback((function(){T(),n&&n(),p({tag:"result",event:"user_activity.cancel",log:{}})}),[n,T,p]);return oy.createElement(vX,{checkCameraMode:t},E&&null!=b&&b.length?oy.createElement(kX,null,oy.createElement(SX,null,oy.createElement(BX,null,oy.createElement(TX,null,"Không thể mở camera mặc định"),oy.createElement(AX,null,"Vui lòng thử chọn camera khác trong danh sách dưới đây")),oy.createElement(IX,null,b.map((function(e,t){return oy.createElement(_X,{key:e.deviceId,onClick:function(){y(""),T(),k(!1),I(e.deviceId)}},e.label?e.label:"Camera ".concat(t+1))}))))):null,function(){if(!m)return null;var e=yX.no_permission.msg[f];return m===e&&FG.isIOS?oy.createElement(EX,null,m," ",oy.createElement("button",{onClick:function(){window.location.reload()}},{vi:"Cấp lại quyền truy cập camera",en:"Request camera permission"}[f])):oy.createElement(EX,null,m)}(),oy.createElement(bX,{ref:c,playsInline:!0,muted:!0,flipHorizontal:o,className:d}),i,l?oy.cloneElement(l,{onClick:_,"data-testid":"close-camera"}):oy.createElement(wX,{onClick:_,"data-testid":"close-camera"},oy.createElement("img",{src:h,alt:""})))}PX.propTypes={checkCameraMode:Py.bool,frontCamera:Py.bool,onClose:Py.func,onError:Py.func,onVideoPlayed:Py.func,children:Py.node,flipHorizontal:Py.bool,videoSettings:Py.object,refVideo:Py.object,closeButton:Py.node,videoClassName:Py.string},PX.defaultProps={checkCameraMode:!1,frontCamera:!0,onClose:null,onError:function(){},onVideoPlayed:null,children:null,flipHorizontal:!1,videoSettings:null,refVideo:null,closeButton:null,videoClassName:""};var RX,NX,OX,LX,DX,UX,MX,VX,jX,FX,zX,KX,qX,HX,GX,QX=rC(mX||(mX=dm(["\n .popup-content {\n margin: auto;\n background: #fff;\n width: 100%;\n padding: 5px;\n border: 1px solid #d7d7d7;\n max-width: 568px;\n border-radius: 10px;\n }\n\n [role=tooltip].popup-content {\n width: 200px;\n box-shadow: 0 0 3px rgba(0, 0, 0, .16);\n border-radius: 5px\n }\n\n .popup-overlay {\n background: rgba(0, 0, 0, .5);\n padding: 10px;\n }\n\n [data-popup=tooltip].popup-overlay {\n background: transparent\n }\n\n .popup-arrow {\n -webkit-filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));\n color: #fff;\n stroke-width: 2px;\n stroke: #d7d7d7;\n stroke-dasharray: 30px;\n stroke-dashoffset: -54px;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0\n }\n"]))),WX=["open","children","overlayStyle"],XX=function(e){var t=e.open,r=e.children,n=e.overlayStyle,i=lm(e,WX);return oy.createElement(oy.Fragment,null,oy.createElement(hX,im({overlayStyle:om(om({},n),{},{zIndex:2e3}),closeOnDocumentClick:!1,closeOnEscape:!1,modal:!0,open:t},i),r),oy.createElement(QX,null))};XX.propTypes={open:Py.bool,children:Py.node,overlayStyle:Py.shape({})},XX.defaultProps={open:!1,children:null,overlayStyle:{}};var YX,$X,ZX,JX=Gz.flipY,eY=Gz.spin,tY=Gz.splash,rY=JX.animationDuration,nY=tY.default,iY=eC.div(RX||(RX=dm(["\n ","\n ","\n"])),JX.default,eY.default),aY=(eC.img(NX||(NX=dm(["\n border-radius: 5px;\n opacity: 0.7;\n height: 38px;\n"]))),eC.div(OX||(OX=dm(["\n cursor: pointer;\n text-align: center;\n width: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n position: fixed;\n\n ","\n"])),60,1020,FG.isMobile?Vb(["top:",";"],(function(e){return e.y})):Vb(["bottom:","px;"],10))),oY=eC.div(LX||(LX=dm(["\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n margin: auto;\n width: ","px;\n height: ","px;\n\n img {\n width: 100%;\n }\n\n z-index: ",";\n"])),80,80,1020),sY=eC.div(DX||(DX=dm(["\n color: #fff;\n text-align: center;\n"]))),cY=eC.div(UX||(UX=dm(["\n transform: translateZ(1000px); // to fix rotating bug on safari\n transform-style: preserve-3d;\n position: absolute;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),uY=eC.div(MX||(MX=dm(["\n display: flex;\n align-items: center;\n"]))),lY=eC(sY)(VX||(VX=dm(["\n font-size: ","px;\n color: #38383d;\n font-weight: 500;\n"])),FG.isMobile?16:24),dY=eC.div(jX||(jX=dm(["\n margin: 0 auto;\n padding: 0 5px;\n position: absolute;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.y}),1020),fY=eC(sY)(FX||(FX=dm(["\n text-align: center;\n color: ",";\n font-weight: 500;\n padding: 5px 10px;\n font-size: ","px;\n"])),(function(e){return e.theme.dangerColor}),FG.isMobile?14:16),pY=function(e){var t=e.children,r=e.y;return oy.createElement(dY,{y:r},oy.createElement(fY,null,t))},hY=eC(pz)(zX||(zX=dm(["\n position: absolute;\n top: 0;\n left: 0;\n"]))),gY=eC(sY)(KX||(KX=dm(["\n color: ",";\n font-weight: 500;\n padding: 5px 10px;\n font-size: ","px;\n position: absolute;\n text-align: center;\n top: ",";\n z-index: ",";\n"])),(function(e){return e.theme.dangerColor}),FG.isMobile?14:16,(function(e){return e.y}),1020),mY=eC(sY)(qX||(qX=dm(["\n font-weight: normal;\n padding: 5px 10px;\n color: #38383d;\n font-size: ","px;\n position: absolute;\n text-align: center;\n top: ",";\n z-index: ",";\n"])),FG.isMobile?14:16,(function(e){return e.y}),1020),yY=eC.div(HX||(HX=dm(["\n cursor: pointer;\n text-align: center;\n width: 50px;\n\n img {\n width: 100%;\n }\n"]))),vY=eC(yY)(GX||(GX=dm(["\n z-index: ",";\n position: absolute;\n ","\n top: 16px;\n width: 24px;\n"])),1100,FG.isMobile?"left: 16px;":"right: 16px;"),bY=oC.Errors,CY={BTN_OK:{en:"OK",vi:"Tôi đã hiểu"},FRONT:{en:"front",vi:"trước"},BACK:{en:"back",vi:"sau"},BTN_USE_THIS_PICTURE:{en:"Use this picture",vi:"Nhìn ổn đấy!"},BTN_TRY_AGAIN:{en:"Try again",vi:"Chụp lại"},CONFIRM_POPUP_VALID_QR:{en:"QR code scanned",vi:"Đã quét được mã QR"},CONFIRM_POPUP_INVALID_QR:{en:"Could not scan QR code",vi:"Không quét được mã QR"}},wY=om(om({},bY),{},{id_detector_no_cards:{code:"id_detector_no_cards",msg:{en:"Take a photo of your ID card's <%= side %> side. Make sure the image of the card fits in the frame, (minimum 50% of frame).",vi:"Mặt <%= side %> CMND/CCCD cần nằm gọn trong khung hình, chiếm tối thiểu 50%."}},id_detector_validate_angle_error:{code:"id_detector_validate_angle_error",msg:{en:"Please put your ID card straight, not be oblique",vi:"Vui lòng đặt giấy tờ thẳng góc, không bị xô lệch khi chụp"}},id_detector_card_too_small:{code:"id_detector_card_too_small",msg:{en:"Please hold your ID card closer",vi:"Vui lòng đưa CMND/CCCD lại gần hơn"}},id_detector_error_incomplete:{code:"id_detector_error_incomplete",msg:{en:"Please hold your ID card further",vi:"Vui lòng đưa CMND/CCCD ra xa hơn"}},id_detector_error_front_side_no_faces:{code:"id_detector_error_front_side_no_faces",msg:{en:"Take a photo of your ID card's front side",vi:"Vui lòng chụp ảnh mặt trước của CMND/CCCD"}},id_detector_error_front_side_multiple_faces:{code:"id_detector_error_front_side_multiple_faces",msg:{en:"Please remove other items out of the frame",vi:"Vui lòng không để lẫn vật thể khác trong khung chụp hình"}},glare_detected:{code:"glare_detected",msg:{en:"Your photo ID is glare. Please adjust the shooting angle.",vi:"Ảnh chụp bị lóa sáng. Vui lòng chụp lại"}}}),EY=oC.IDCardMessage,kY=eC.div(YX||(YX=dm(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"]))),SY=eC.div($X||($X=dm(["\n text-align: center;\n font-size: 1rem;\n"]))),BY=eC.button(ZX||(ZX=dm(["\n margin-top: 20px;\n width: 100%;\n max-width: 160px;\n height: 50px;\n background-color: ",";\n border: 0;\n outline: none;\n border-radius: 0.25rem;\n color: #fff;\n font-weight: 400;\n cursor: pointer;\n font-size: 1rem;\n"])),(function(e){return e.theme.primaryColor})),TY=function(e){var t=e.onOk,r=e.maxSessionTime,n=lk.useSDKSettings().lang;return oy.createElement(kY,null,oy.createElement(SY,null,QW(EY.TIMEOUT_INSTRUCTION[n])({x:r})),oy.createElement(BY,{onClick:t},CY.BTN_OK[n]))};TY.propTypes={onOk:Py.func,maxSessionTime:Py.number},TY.defaultProps={onOk:function(){},maxSessionTime:30};var AY,IY,_Y,xY=oC.IDCardMessage,PY=oy.forwardRef((function(e,t){var r,n=e.usePortraitMask,i=e.windowAndVideoInfo,a=e.refVideo,o=e.frontSide,s=e.settings,c=e.onCaptureDone,u=e.onUISpacingChange,l=e.outputEncryptionSettings,d=fm(oy.useState({}),2),f=d[0],p=d[1],h=f.yErrorMessage,g=f.yDescription,m=f.yCaptureButton,y=f.yMessage,v=Hk.useAsset("ic_camera.png"),b=Hk.useAsset("ic_camera_disabled.png"),C=Hk.useAsset("ic_id_front.png"),w=Hk.useAsset("ic_id_back.png"),E=Hk.useAsset("ic_loading.png"),k=lk.useSDKSettings().lang,S=fm(oy.useState(""),2),B=S[0],T=S[1],A=fm(oy.useState(null),2),I=A[0],_=A[1],x=CT.useThemeContext(),P=fm(oy.useState(null),2),R=P[0],N=P[1],O=x.primaryColor,L=x.dangerColor,D=function(){var e=fm(oy.useState(!1),2),t=e[0],r=e[1],n=fm(oy.useState(null),2),i=n[0],a=n[1],o=fm(oy.useState({}),2),s=o[0],c=o[1];return{showPopup:oy.useCallback((function(e){var t=e.popupType,n=e.props;c(void 0===n?{}:n),a(t),r(null!==t)}),[]),popupShown:t,popupType:i,props:s}}(),U=D.showPopup,M=D.popupShown,V=D.popupType,j=oy.useRef((function(){})),F=oy.useCallback((function(e){T(null===e?"":QW(wY[e.code].msg[k])({side:o?CY.FRONT[k]:CY.BACK[k]}))}),[k,o]),z=oy.useCallback((function(){N(""),U({popupType:WW})}),[U]),K=oy.useCallback((function(e){var t=e.curTimeLeft;N(QW(xY.REMAINING_TIME[k])({x:t}))}),[k]),q=XK({shouldStart:!0,refVideo:a,cropArea:I,settings:s,onModelErrorChange:F,frontSide:o,onSessionTimeout:z,onCaptureDone:c,onAboutToTimeout:K,outputEncryptionSettings:l}),H=q.warmupDone,G=q.isProcessing,Q=q.takePictureManually,W=q.restartSession,X=q.resetIsProcessingImageBlobTaken,Y=oy.useCallback((function(){U({popupType:null}),X()}),[U,X]),$=oy.useCallback(Jg(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Y(),e.next=3,W();case 3:case"end":return e.stop()}}),e)}))),[W,Y]);j.current=$,oy.useEffect((function(){if(i){var e,t,r,a,o,s,c,l,d=i.videoAreaWidth,f=i.videoAreaHeight,h=i.lostX,g=i.lostY,m=i.clientHeight;n?(s=.7*(c=f-165),r=(l=(e=g+10)+45)+20,a=l+c+70):(s=FG.isMobile?d-8:Math.floor(.7*d),c=Math.floor(Math.min(s/1.5,m-2*g-80-145)),r=(t=(l=(e=g+16)+(FG.isMobile?40:65))+c+10)+(FG.isMobile?35:25),o=FG.isMobile?t+60:e+30,a=t+158);var y=Math.floor((d-s)/2)+h;_({x:y,y:l,width:s,height:c,surroundStyle:{background:"#fff"}});var v={yTitle:e,yErrorMessage:t,yMessage:r,yDescription:o,yCaptureButton:a};p(v),u(v)}}),[i,n,u]);var Z=oy.useCallback(Jg(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N(""),e.next=3,Q();case 3:case"end":return e.stop()}}),e)}))),[Q]);oy.useImperativeHandle(t,(function(){return{restartSession:$}}),[$]);var J=!(G||null!=s&&s.disableCaptureButtonIfAlert&&B);return oy.createElement(oy.Fragment,null,!H&&oy.createElement(gF,null),G&&oy.createElement(oY,null,oy.createElement("img",{src:E,alt:"",className:"spin"})),I&&oy.createElement(wU,{x:"".concat(I.x,"px"),y:"".concat(I.y,"px"),width:"".concat(I.width,"px"),height:"".concat(I.height,"px"),surroundStyle:I.surroundStyle},oy.createElement(hY,{strokeStyles:(r={},nm(r,fz.DEFAULT,{fill:"none",strokeWidth:5,stroke:O}),nm(r,fz.ERROR,{fill:"none",strokeWidth:5,stroke:O}),r),paddingStyle:{fill:"#fff"},strokeWidth:5,errorColor:L,width:I.width,height:I.height,type:B?fz.ERROR:fz.DEFAULT})),B&&oy.createElement(pY,{y:"".concat(h,"px")},B),oy.createElement(mY,{y:"".concat(g,"px")},FG.isMobile&&oy.createElement("div",null,oy.createElement("img",{src:o?C:w,width:70,height:45,alt:""})),"Đặt CMND/CCCD của bạn vào giữa khung. Hình ảnh rõ ràng, không bị chói, mờ & cắt góc."),oy.createElement(aY,{onClick:J?Z:null,y:"".concat(m,"px")},oy.createElement("img",{src:J?v:b,alt:""})),R&&oy.createElement(gY,{key:R,y:"".concat(y,"px")},R),oy.createElement(XX,{open:M},V===WW&&oy.createElement(TY,{onOk:$,maxSessionTime:null==s?void 0:s.idCardSessionTime})))}));PY.propTypes={usePortraitMask:Py.bool,windowAndVideoInfo:Py.shape({}),refVideo:Py.shape({}),frontSide:Py.bool,settings:Py.shape({}),onCaptureDone:Py.func,onUISpacingChange:Py.func,outputEncryptionSettings:Py.shape({})},PY.defaultProps={usePortraitMask:!1,windowAndVideoInfo:{},refVideo:{},frontSide:!0,settings:{},onCaptureDone:function(){},onUISpacingChange:function(){},outputEncryptionSettings:null};var RY,NY,OY,LY,DY,UY,MY,VY,jY,FY=eC.button(AY||(AY=dm(["\n background: #0b74e5;\n height: 44px;\n border-radius: 4px;\n border: 0;\n padding: 0 20px;\n color: #fff;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n width: 160px;\n"]))),zY=eC.button(IY||(IY=dm(["\n background: #fff;\n height: 44px;\n border-radius: 4px;\n border: 1px solid #0b74e5;\n padding: 0 20px;\n color: #0b74e5;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n width: 160px;\n &:focus {\n outline: none;\n box-shadow: none;\n }\n"]))),KY=(eC.a(_Y||(_Y=dm(["\n text-decoration: underline;\n font-size: 16px;\n color: #000;\n cursor: pointer;\n"]))),eC.div(RY||(RY=dm(["\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10px;\n"])))),qY=eC.div(NY||(NY=dm(["\n text-align: center;\n font-size: 1rem;\n color: ",";\n margin-top: 10px;\n"])),(function(e){return e.theme.dangerColor})),HY=eC.div(OY||(OY=dm(["\n margin: 20px 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n"]))),GY=eC.div(LY||(LY=dm(["\n margin-right: 5px;\n"]))),QY=eC.div(DY||(DY=dm(["\n margin-left: 5px;\n"]))),WY=eC.img(UY||(UY=dm(["\n ",";\n border-radius: 12px;\n border: 5px solid #1aa7ff;\n margin-top: 30px;\n ",";\n"])),!FG.isMobile&&Vb(["height:","px;"],(function(e){return e.calHeight-300})),(function(e){return e.calHeight>0&&FG.isMobile&&Vb(["width:","px;height:","px;border:none;border-radius:8px;"],window.innerWidth-30,e.calHeight)})),XY=eC.div(MY||(MY=dm(["\n font-size: ","px;\n font-weight: 500;\n color: #38383d;\n"])),FG.isMobile?16:24),YY=eC.div(VY||(VY=dm(["\n margin: 8px 0;\n font-size: ","px;\n font-weight: normal;\n color: #38383d;\n text-align: center;\n"])),FG.isMobile?14:16),$Y=eC.div(jY||(jY=dm(["\n margin-top: 20px;\n font-size: ","px;\n font-weight: normal;\n color: #38383d;\n text-align: center;\n"])),FG.isMobile?14:16),ZY=function(e){var t=e.title,r=e.imageTaken,n=e.onConfirm,i=e.onTryAgain,a=e.error,o=e.hasValidQR,s=fm(oy.useState(null),2),c=s[0],u=s[1],l=lk.useSDKSettings().lang,d=Hk.useAsset("ic_close.png"),f=Hk.useAsset("ic_close_desktop.png"),p=fm(oy.useState(FG.isMobile?0:window.innerHeight),2),h=p[0],g=p[1],m=oy.useRef();oy.useEffect((function(){var e;return r&&(e=URL.createObjectURL(r.blob),u(e)),function(){URL.revokeObjectURL(e)}}),[r]);return oy.createElement(KY,null,null!==o&&oy.createElement(aq,{mb:"20px"},oy.createElement("div",null,oy.createElement(vH,{type:o?dH.SUCCESS:dH.WARNING},o?CY.CONFIRM_POPUP_VALID_QR[l]:CY.CONFIRM_POPUP_INVALID_QR[l]))),oy.createElement(XY,null,t),!FG.isMobile&&oy.createElement(YY,null,"Đặt CMND / CCCD của bạn vào giữa khung. Hình ảnh rõ ràng, không bị chói mờ & cắt góc."),oy.createElement(WY,{ref:m,src:c,calHeight:h,onLoad:function(){if(FG.isMobile){var e=m.current,t=e.height/e.width,r=(window.innerWidth-30)*t;g(r)}}}),oy.createElement($Y,null,"Nhìn ổn chứ? Bạn có thể tự chụp lại để có ảnh tốt hơn."),a&&oy.createElement(qY,{className:"confirm-popup-error-message"},a.msg[l]),oy.createElement(HY,null,oy.createElement(GY,null,oy.createElement(zY,{type:"button",onClick:i},CY.BTN_TRY_AGAIN[l])),oy.createElement(QY,null,oy.createElement(FY,{onClick:n},CY.BTN_USE_THIS_PICTURE[l]))),oy.createElement(vY,{onClick:i},oy.createElement("img",{src:FG.isMobile?d:f,alt:""})))};ZY.propTypes={imageTaken:Py.shape({}),error:Py.shape({msg:Py.shape({})}),onConfirm:Py.func,onTryAgain:Py.func,hasValidQR:Py.bool,title:Py.string},ZY.defaultProps={imageTaken:null,error:null,onConfirm:function(){},onTryAgain:function(){},hasValidQR:null,title:""};var JY,e$={primaryColor:"#1AA7FF",dangerColor:"#FF424E"},t$="CONFIRM",r$=rC(JY||(JY=dm(["\n"]))),n$=oC.IDCardSide,i$=oC.IDCardType,a$="id_card",o$="qr_code",s$=[{scannerType:a$,title:"Chụp mặt trước",cardSide:oC.IDCardSide.FRONT,cardType:i$.VN,frontCamera:!1,enableConfirmPopup:!0},{scannerType:a$,title:"Chụp mặt sau",cardSide:oC.IDCardSide.BACK,cardType:i$.VN,frontCamera:!1,enableConfirmPopup:!0}];function c$(e){var t=e.onClose,r=e.onError,n=e.clientSettings,i=e.onStepDone,a=e.steps,o=e.outputEncryptionSettings,s=fm(oy.useState(0),2),c=s[0],u=s[1],l=fm(oy.useState(a[c]),2),d=l[0],f=l[1],p=oy.useRef(null),h=fm(oy.useState(null),2),g=h[0],m=h[1],y=fm(oy.useState(!1),2),v=y[0],b=y[1],C=fm(oy.useState(0),2),w=C[0],E=C[1],k=oy.useRef(),S=d.scannerType,B=d.frontCamera,T=d.title,A=d.cardSide,I=d.usePortraitMask,_=d.enableConfirmPopup,x=Hk.useAsset("ic_close.png"),P=Hk.useAsset("ic_close_desktop.png"),R=Hk.useAsset("ic_loading.png"),N=A===n$.FRONT,O=pK(),L=O.showPopup,D=O.popupShown,U=O.popupType,M=O.props,V=fm(oy.useState(!1),2),j=V[0],F=V[1],z=oy.useRef(null),K=oy.useRef(null),q=oy.useRef([]),H=FH({clientSettings:n}).settings,G=fm(oy.useState({}),2),Q=G[0],W=G[1],X=Q.yTitle,Y=zk.useSDKTracking().sendEvent,$=oy.useCallback((function(e){m(e),b(!0)}),[]);oy.useEffect((function(){b(!1)}),[B]);var Z=oy.useCallback((function(){L({popupType:null})}),[L]),J=oy.useCallback((function(e){e>=a.length||setTimeout((function(){u(e),f(a[e])}),200)}),[a]),ee=oy.useCallback((function(){J(c+1)}),[J,c]),te=oy.useCallback(Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={stepNumber:c,image:z.current,recordedVideos:null!=H&&H.enableRecording?q.current:[]},S===o$&&(t.qrScannedResult=K.current),F(!0),e.next=5,i(t);case 5:Y({tag:"result",event:"sdk_mode.read_id_card_one_side",log:{result_object:t}}),F(!1),ee();case 8:case"end":return e.stop()}}),e)}))),[H,c,i,ee,S,Y]),re=oy.useCallback((function(){Z(),S===o$?J(c):S===a$&&(Y({tag:N?"id_front":"id_back",event:"user_activity.retry",log:{}}),k.current.restartSession())}),[J,c,Z,S,N,Y]),ne=oy.useCallback((function(){Z(),Y({tag:N?"id_front":"id_back",event:"user_activity.submit",log:{}}),te()}),[te,Z,Y,N]),ie=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.image,n=t.error,i=t.recordedVideos,z.current=r,q.current=i,E((function(e){return e+1})),_?L({popupType:t$,props:{title:T,imageTaken:z.current,error:n}}):te();case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[_,L,te,T]);return oy.createElement($b,{theme:e$},oy.createElement(iY,null,oy.createElement(gU,{key:B,frontCamera:B,onVideoPlayed:$,onClose:t,flipHorizontal:B,ref:p,onError:r,closeButton:oy.createElement(vY,null,oy.createElement("img",{src:FG.isMobile?x:P,alt:""}))},v&&oy.createElement(oy.Fragment,null,S===a$&&oy.createElement(PY,{key:c,ref:k,windowAndVideoInfo:g,refVideo:p,settings:H,onCaptureDone:ie,onUISpacingChange:W,frontSide:N,usePortraitMask:I,outputEncryptionSettings:o})),oy.createElement(nY,{keyForTransition:w}),oy.createElement(cY,{y:"".concat(X,"px")},oy.createElement(jG,null,oy.createElement(OG,{key:T,timeout:{enter:rY,exit:rY},classNames:"flipY",unmountOnExit:!0},oy.createElement(uY,null,oy.createElement(lY,null,T))))),j&&oy.createElement(oY,null,oy.createElement("img",{src:R,alt:"",className:"spin"}))),oy.createElement(Yj,{open:D,overlayStyle:{padding:0},contentStyle:{maxWidth:"none",width:"100%",height:"100%",borderRadius:0}},U===t$&&oy.createElement(ZY,im({},M,{onConfirm:ne,onTryAgain:re})))),oy.createElement(r$,null))}c$.propTypes={onClose:Py.func,onError:Py.func,clientSettings:Py.shape({}),detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),outputEncryptionSettings:Py.shape({})},c$.defaultProps={onClose:function(){},onError:function(){},clientSettings:{},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:s$,outputEncryptionSettings:null};var u$,l$,d$,f$,p$,h$,g$,m$,y$,v$,b$,C$,w$=function(e,t,r,n,i,a,o,s){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[r,n,i,a,o,s],l=0;(c=new Error(t.replace(/%s/g,(function(){return u[l++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}},E$=i(a((function(e,t){!function(e,t){t=t&&t.hasOwnProperty("default")?t.default:t;var r=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/read_id_card_info_sync",e,t)},e}(),i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};
|
62
62
|
/*! *****************************************************************************
|
63
63
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
64
64
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
@@ -72,4 +72,4 @@ function(e){var t=r,n=t.lib,i=n.WordArray,a=n.Hasher,o=t.algo,s=i.create([0,1,2,
|
|
72
72
|
|
73
73
|
See the Apache Version 2.0 License for specific language governing permissions
|
74
74
|
and limitations under the License.
|
75
|
-
***************************************************************************** */function a(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}function o(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function s(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))}function c(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}var u=function(){function e(e){this.httpClient=e}return e.prototype.uploadImage=function(e){return this.httpClient.postFormData("/v1/images",e)},e.prototype.request=function(e){var t="application/pdf"===e.file.type;return this.httpClient.postFormData(t?"/v1/files":"/v1/images",e)},e.prototype.requestWithHeaders=function(e,t){return this.httpClient.postFormData("/v1/images",e,t)},e.prototype.download=function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return[4,this.httpClient.downloadFile("/v1/images/"+e)];case 1:return t=r.sent(),[4,URL.createObjectURL(t)];case 2:return[2,r.sent()]}}))}))},e.prototype.updateMetadata=function(e,t){return this.httpClient.patch("/v1/images/"+e,t)},e}(),l=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/files",e,t)},e.prototype.uploadFile=function(e){return this.httpClient.postFormData("/v1/files",e)},e.prototype.requestWithHeaders=function(e,t){return this.httpClient.postFormData("/v1/files",e,t)},e}(),d=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/compare_faces_sync",e,t)},e}(),f=function(){function e(e){this.httpClient=e}return e.prototype.getClientSettings=function(){return this.httpClient.get("/v1/client_settings")},e.prototype.request=function(){return this.httpClient.get("/v1/client_settings")},e}(),p=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/verify_face_liveness_sync",e,t)},e}(),h=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/verify_id_card_sanity_sync",e,t)},e}(),g=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/verify_portrait_sanity_sync",e,t)},e}(),m=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/detect_id_card_tampering_sync",e,t)},e.prototype.requestWithAuthHeaders=function(e,t){return this.httpClient.post("/v1/detect_id_card_tampering_sync",e,t)},e}(),y=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/search_faces_sync",e,t)},e.prototype.indexFaces=function(e,t){return this.httpClient.post("/v1/index_faces_sync",e,t)},e.prototype.deleteFaces=function(e,t){return this.httpClient.post("/v1/delete_faces",e,t)},e.prototype.downloadFaceImage=function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return[4,this.httpClient.downloadFile("/v1/face_images/"+e)];case 1:return t=r.sent(),[2,URL.createObjectURL(t)]}}))}))},e}(),v=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.postFormData("/v1/convert_pdf_sync",e,t)},e}(),b=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/ekyc_pdf",e,t)},e}(),C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:{};function w(e,t){return e(t={exports:{}},t.exports),t.exports}var E=w((function(e){var t,r;t=C,r=function(){function e(e){var t=[];if(0===e.length)return"";if("string"!=typeof e[0])throw new TypeError("Url must be a string. Received "+e[0]);if(e[0].match(/^[^/:]+:\/*$/)&&e.length>1){var r=e.shift();e[0]=r+e[0]}e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n<e.length;n++){var i=e[n];if("string"!=typeof i)throw new TypeError("Url must be a string. Received "+i);""!==i&&(n>0&&(i=i.replace(/^[\/]+/,"")),i=n<e.length-1?i.replace(/[\/]+$/,""):i.replace(/[\/]+$/,"/"),t.push(i))}var a=t.join("/"),o=(a=a.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o.shift()+(o.length>0?"?":"")+o.join("&")}return function(){return e("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},e.exports?e.exports=r():t.urljoin=r()}));function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var S=function(e,t,r,n){t=t||"&",r=r||"=";var i={};if("string"!=typeof e||0===e.length)return i;var a=/\+/g;e=e.split(t);var o=1e3;n&&"number"==typeof n.maxKeys&&(o=n.maxKeys);var s=e.length;o>0&&s>o&&(s=o);for(var c=0;c<s;++c){var u,l,d,f,p=e[c].replace(a,"%20"),h=p.indexOf(r);h>=0?(u=p.substr(0,h),l=p.substr(h+1)):(u=p,l=""),d=decodeURIComponent(u),f=decodeURIComponent(l),k(i,d)?Array.isArray(i[d])?i[d].push(f):i[d]=[i[d],f]:i[d]=f}return i},B=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},T=function(e,t,r,n){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){var i=encodeURIComponent(B(n))+r;return Array.isArray(e[n])?e[n].map((function(e){return i+encodeURIComponent(B(e))})).join(t):i+encodeURIComponent(B(e[n]))})).join(t):n?encodeURIComponent(B(n))+r+encodeURIComponent(B(e)):""},A=w((function(e,t){t.decode=t.parse=S,t.encode=t.stringify=T})),I=(A.decode,A.parse,A.encode,A.stringify),_=function(){function e(e){this.authorizer=e.authorizer,this.domain=e.domain,this.onError=e.onError,this.configHeaders=e.headers}return e.prototype.get=function(e,t,r){var n=new URL(this.resolveUrl(e));return t&&(n.search=I(t)),this.request(n.toString(),{requestPath:e,method:"GET",headers:r})},e.prototype.post=function(e,t,r){var n=this.resolveUrl(e);return this.request(n,{requestPath:e,method:"POST",body:JSON.stringify(t),headers:i({"Content-Type":"application/json"},r)})},e.prototype.postFormData=function(e,t,r){var n,i=t instanceof FormData?t:(n=t,Object.entries(n).reduce((function(e,t){var r=t[0],n=t[1];return Array.isArray(n)?n.forEach((function(t,i){return e.append(r+"["+i+"]",n)})):!(n instanceof Object)||n instanceof File||n instanceof Date||n instanceof Blob?e.append(r,n):Object.entries(n).forEach((function(t,i){return e.append(r+"["+i+"]",n[i])})),e}),new FormData)),a=this.resolveUrl(e);return this.request(a,{requestPath:e,method:"POST",body:i,headers:r})},e.prototype.patch=function(e,t,r){var n=this.resolveUrl(e);return this.request(n,{requestPath:e,method:"PATCH",body:JSON.stringify(t),headers:i({"Content-Type":"application/json"},r)})},e.prototype.delete=function(e,t,r){var n=this.resolveUrl(e);return this.request(n,{requestPath:e,method:"DELETE",body:JSON.stringify(t),headers:i({"Content-Type":"application/json"},r)})},e.prototype.downloadFile=function(e){var t=this.resolveUrl(e);return this.request(t,{requestPath:e,method:"GET"},"blob")},e.prototype.request=function(e,t,r){return void 0===r&&(r="json"),s(this,void 0,void 0,(function(){var n,a,o,s;return c(this,(function(c){switch(c.label){case 0:return n={},a={},this.authorizer&&(n=this.authorizer.getHeaders(t)),this.configHeaders&&(a=this.configHeaders),t.headers=i(i(i({},t.headers),n),a),[4,fetch(e,t)];case 1:return o=c.sent(),[4,"blob"===r?o.blob():o.json()];case 2:if((s=c.sent()).errors&&this.onError)throw this.onError(s.errors),s;return[2,s]}}))}))},e.prototype.resolveUrl=function(e){return E(this.domain,e)},e}(),x=function(){function e(e){this.mocks=e}return e.prototype.get=function(e,t){return this.findInMocks(e,t)},e.prototype.post=function(e,t){return this.findInMocks(e)},e.prototype.postFormData=function(e,t){return this.findInMocks(e)},e.prototype.patch=function(e,t){return this.findInMocks(e)},e.prototype.delete=function(e,t){return this.findInMocks(e)},e.prototype.downloadFile=function(e){return this.findInMocks(e)},e.prototype.resolveUrl=function(e){return this.mocks.resolveUrl?this.mocks.resolveUrl(e):e},e.prototype.findInMocks=function(e,t){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this.mocks[e]?"function"==typeof this.mocks[e]?[2,Promise.resolve(this.mocks[e](t))]:[2,Promise.resolve(this.mocks[e])]:[2,Promise.reject(new Error(e+" is not presented in mocks"))]}))}))},e}(),P=w((function(e,t){var r;e.exports=r=r||function(e,t){var r=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),n={},i=n.lib={},a=i.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=i.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var a=0;a<i;a++){var o=r[a>>>2]>>>24-a%4*8&255;t[n+a>>>2]|=o<<24-(n+a)%4*8}else for(a=0;a<i;a+=4)t[n+a>>>2]=r[a>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r,n=[],i=function(t){t=t;var r=987654321,n=4294967295;return function(){var i=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},a=0;a<t;a+=4){var s=i(4294967296*(r||e.random()));r=987654071*s(),n.push(4294967296*s()|0)}return new o.init(n,t)}}),s=n.enc={},c=s.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var a=t[i>>>2]>>>24-i%4*8&255;n.push((a>>>4).toString(16)),n.push((15&a).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},u=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var a=t[i>>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new o.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},d=i.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,a=this.blockSize,s=i/(4*a),c=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,u=e.min(4*c,i);if(c){for(var l=0;l<c;l+=a)this._doProcessBlock(n,l);var d=n.splice(0,c);r.sigBytes-=u}return new o.init(d,u)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),f=(i.Hasher=d.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new f.HMAC.init(e,r).finalize(t)}}}),n.algo={});return n}(Math)})),R=w((function(e,t){var r,n,i;e.exports=(n=(r=i=P).lib.WordArray,r.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],a=0;a<r;a+=3)for(var o=(t[a>>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,s=0;s<4&&a+.75*s<r;s++)i.push(n.charAt(o>>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(e){var t=e.length,r=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var a=0;a<r.length;a++)i[r.charCodeAt(a)]=a}var o=r.charAt(64);if(o){var s=e.indexOf(o);-1!==s&&(t=s)}return function(e,t,r){for(var i=[],a=0,o=0;o<t;o++)if(o%4){var s=r[e.charCodeAt(o-1)]<<o%4*2,c=r[e.charCodeAt(o)]>>>6-o%4*2;i[a>>>2]|=(s|c)<<24-a%4*8,a++}return n.create(i,a)}(e,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},i.enc.Base64)})),N=(w((function(e,t){var r;e.exports=(r=P,function(e){var t=r,n=t.lib,i=n.WordArray,a=n.Hasher,o=t.algo,s=[],c=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(s[i]=r(e.pow(n,.5))),c[i]=r(e.pow(n,1/3)),i++),n++}();var u=[],l=o.SHA256=a.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],l=r[5],d=r[6],f=r[7],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var h=u[p-15],g=(h<<25|h>>>7)^(h<<14|h>>>18)^h>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-16]}var v=n&i^n&a^i&a,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),C=f+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&d)+c[p]+u[p];f=d,d=l,l=s,s=o+C|0,o=a,a=i,i=n,n=C+(b+v)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+a|0,r[3]=r[3]+o|0,r[4]=r[4]+s|0,r[5]=r[5]+l|0,r[6]=r[6]+d|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=a._createHelper(l),t.HmacSHA256=a._createHmacHelper(l)}(Math),r.SHA256)})),w((function(e,t){var r,n,i;e.exports=(n=(r=P).lib.Base,i=r.enc.Utf8,void(r.algo.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,c=o.words,u=0;u<r;u++)s[u]^=1549556828,c[u]^=909522486;a.sigBytes=o.sigBytes=n,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,r=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(r))}})))})),w((function(e,t){e.exports=P.HmacSHA256}))),O=function(){function e(e,t){this.accessKey=e,this.keySecret=t}return e.prototype.getHeaders=function(e){var t=function(e){function t(e){return e<10?"0"+e:e}return e.getFullYear()+"-"+t(e.getMonth()+1)+"-"+t(e.getDate())+"T"+t(e.getHours())+":"+t(e.getMinutes())+":"+t(e.getSeconds())+(0===(r=e.getTimezoneOffset())?"Z":(n=r>0?"-":"+",r=Math.abs(r),n+t(Math.floor(r/60))+":"+t(r%60)));var r,n}(new Date);return{Authorization:this.generateAuthorization(e.requestPath,e.method,t),"X-TV-Timestamp":t}},e.prototype.generateAuthorization=function(e,t,r){var n=this.computeStringToSign(e,t,r),i=R.stringify(this.computeSignature(n));return this.formatAuthToken("TV",i)},e.prototype.formatAuthToken=function(e,t){return e+" "+this.accessKey+":"+t},e.prototype.computeStringToSign=function(e,t,r){return t+"\n"+e+"\n"+r},e.prototype.computeSignature=function(e){return N(e,this.keySecret)},e}();function L(e){switch(e){case"testing":return"https://tv-testing.trustingsocial.com/api";case"staging":return"https://tv-staging.trustingsocial.com/api";case"production":return"https://vn-vision.trustingsocial.com/api";default:return e}}function D(e,t,r,n){void 0===r&&(r="production");var i=(void 0===n?{}:n).headers,a=new O(e,t),o=L(r);return new _({authorizer:a,domain:o,headers:i})}var U=function(){function e(e){void 0===e&&(e="production");var t=new _({domain:L(e)});this.imagesService=new u(t),this.detectIDTamperingService=new m(t)}return e.prototype.uploadImage=function(e,t){return this.imagesService.requestWithHeaders(e,t)},e.prototype.detectTampering=function(e,t){return this.detectIDTamperingService.requestWithAuthHeaders(e,t)},e}();function M(e){var t=e.headerIndex;return function(e,r,n){var a=n.value,o=i({},n);return o.value=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return s(this,void 0,void 0,(function(){var r,n,o,s;return c(this,(function(c){switch(c.label){case 0:return this.transactionEnabled?[4,this.transactionManager.begin()]:[3,4];case 1:return r=c.sent(),n=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),i=0;for(t=0;t<r;t++)for(var a=arguments[t],o=0,s=a.length;o<s;o++,i++)n[i]=a[o];return n}(e),(o=i({},n[t]))["X-TV-Transaction"]=r,n[t]=o,[4,a.apply(this,n)];case 2:return s=c.sent(),[4,this.transactionManager.end()];case 3:return c.sent(),[2,s];case 4:return[4,a.apply(this,e)];case 5:return[2,c.sent()]}}))}))},o}}function V(e){return void 0===e&&(e={encryptedField:"data"}),function(t,r,n){var a=n.value,o=i({},n);return o.value=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(i){switch(i.label){case 0:return[4,a.apply(this,t)];case 1:return r=i.sent(),this.encryptionEnabled&&"string"==typeof r[e.encryptedField]?(n=this.encryptionService.decrypt(r[e.encryptedField],{transactionID:this.transactionManager.currentTransactionID}),[2,JSON.parse(n)]):[2,r]}}))}))},o}}var j=function(){function e(e){this.httpClient=e,this.transactionID="",this.totalTransactions=0,this.currentTransaction=0}return Object.defineProperty(e.prototype,"currentTransactionID",{get:function(){return this.transactionID},enumerable:!0,configurable:!0}),e.prototype.begin=function(){return s(this,void 0,void 0,(function(){var e,t,r=this;return c(this,(function(n){switch(n.label){case 0:return e=this.totalTransactions++,[4,new Promise((function(t,n){var i=window.performance.now(),a=setInterval((function(){e===r.currentTransaction&&(clearInterval(a),t(!0)),window.performance.now()-i>=3e3&&(clearInterval(a),n(new Error("Transaction timeout")))}),100)}))];case 1:return n.sent(),[4,this.httpClient.post("/v1/transactions",{})];case 2:return t=n.sent().data,this.transactionID=t.id,[2,t.id]}}))}))},e.prototype.end=function(){return s(this,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return[4,this.httpClient.post("/v1/transactions/"+this.transactionID+"/finish")];case 1:return e=t.sent(),this.transactionID="",this.currentTransaction++,[2,e]}}))}))},e}(),F={options:{usePureJavaScript:!1}},z={},K=z,q={};z.encode=function(e,t,r){if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');if(void 0!==r&&"number"!=typeof r)throw new TypeError('"maxline" must be a number.');var n="";if(e instanceof Uint8Array){var i=0,a=t.length,o=t.charAt(0),s=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[i];c<s.length;++c)u+=s[c]<<8,s[c]=u%a,u=u/a|0;for(;u>0;)s.push(u%a),u=u/a|0}for(i=0;0===e[i]&&i<e.length-1;++i)n+=o;for(i=s.length-1;i>=0;--i)n+=t[s[i]]}else n=function(e,t){var r=0,n=t.length,i=t.charAt(0),a=[0];for(r=0;r<e.length();++r){for(var o=0,s=e.at(r);o<a.length;++o)s+=a[o]<<8,a[o]=s%n,s=s/n|0;for(;s>0;)a.push(s%n),s=s/n|0}var c="";for(r=0;0===e.at(r)&&r<e.length()-1;++r)c+=i;for(r=a.length-1;r>=0;--r)c+=t[a[r]];return c}(e,t);if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join("\r\n")}return n},z.decode=function(e,t){if("string"!=typeof e)throw new TypeError('"input" must be a string.');if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');var r=q[t];if(!r){r=q[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");var i=t.length,a=t.charAt(0),o=[0];for(n=0;n<e.length;n++){var s=r[e.charCodeAt(n)];if(void 0===s)return;for(var c=0,u=s;c<o.length;++c)u+=o[c]*i,o[c]=255&u,u>>=8;for(;u>0;)o.push(255&u),u>>=8}for(var l=0;e[l]===a&&l<e.length-1;++l)o.push(0);return"undefined"!=typeof Buffer?Buffer.from(o.reverse()):new Uint8Array(o.reverse())},w((function(e){var t=e.exports=F.util=F.util||{};function r(e){if(8!==e&&16!==e&&24!==e&&32!==e)throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}function n(e){if(this.data="",this.read=0,"string"==typeof e)this.data=e;else if(t.isArrayBuffer(e)||t.isArrayBufferView(e))if("undefined"!=typeof Buffer&&e instanceof Buffer)this.data=e.toString("binary");else{var r=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,r)}catch(e){for(var i=0;i<r.length;++i)this.putByte(r[i])}}else(e instanceof n||"object"==typeof e&&"string"==typeof e.data&&"number"==typeof e.read)&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}!function(){if("undefined"!=typeof process&&process.nextTick&&!process.browser)return t.nextTick=process.nextTick,void("function"==typeof setImmediate?t.setImmediate=setImmediate:t.setImmediate=t.nextTick);if("function"==typeof setImmediate)return t.setImmediate=function(){return setImmediate.apply(void 0,arguments)},void(t.nextTick=function(e){return setImmediate(e)});if(t.setImmediate=function(e){setTimeout(e,0)},"undefined"!=typeof window&&"function"==typeof window.postMessage){var e="forge.setImmediate",r=[];t.setImmediate=function(t){r.push(t),1===r.length&&window.postMessage(e,"*")},window.addEventListener("message",(function(t){if(t.source===window&&t.data===e){t.stopPropagation();var n=r.slice();r.length=0,n.forEach((function(e){e()}))}}),!0)}if("undefined"!=typeof MutationObserver){var n=Date.now(),i=!0,a=document.createElement("div");r=[],new MutationObserver((function(){var e=r.slice();r.length=0,e.forEach((function(e){e()}))})).observe(a,{attributes:!0});var o=t.setImmediate;t.setImmediate=function(e){Date.now()-n>15?(n=Date.now(),o(e)):(r.push(e),1===r.length&&a.setAttribute("a",i=!i))}}t.nextTick=t.setImmediate}(),t.isNodejs="undefined"!=typeof process&&process.versions&&process.versions.node,t.globalScope=t.isNodejs?C:"undefined"==typeof self?window:self,t.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},t.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},t.isArrayBufferView=function(e){return e&&t.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},t.ByteBuffer=n,t.ByteStringBuffer=n,t.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},t.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},t.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},t.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},t.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this},t.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},t.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(t.encodeUtf8(e))},t.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},t.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},t.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},t.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},t.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},t.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},t.ByteStringBuffer.prototype.putInt=function(e,t){r(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},t.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)},t.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())},t.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)},t.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e},t.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e},t.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e},t.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e},t.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e},t.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e},t.ByteStringBuffer.prototype.getInt=function(e){r(e);var t=0;do{t=(t<<8)+this.data.charCodeAt(this.read++),e-=8}while(e>0);return t},t.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t},t.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},t.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},t.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},t.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},t.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},t.ByteStringBuffer.prototype.copy=function(){var e=t.createBuffer(this.data);return e.read=this.read,e},t.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},t.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},t.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},t.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e},t.ByteStringBuffer.prototype.toString=function(){return t.decodeUtf8(this.bytes())},t.DataBuffer=function(e,r){r=r||{},this.read=r.readOffset||0,this.growSize=r.growSize||1024;var n=t.isArrayBuffer(e),i=t.isArrayBufferView(e);if(n||i)return this.data=n?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength),void(this.write="writeOffset"in r?r.writeOffset:this.data.byteLength);this.data=new DataView(new ArrayBuffer(0)),this.write=0,null!=e&&this.putBytes(e),"writeOffset"in r&&(this.write=r.writeOffset)},t.DataBuffer.prototype.length=function(){return this.write-this.read},t.DataBuffer.prototype.isEmpty=function(){return this.length()<=0},t.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this},t.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},t.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this},t.DataBuffer.prototype.putBytes=function(e,r){if(t.isArrayBufferView(e)){var n=(i=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).byteLength-i.byteOffset;return this.accommodate(n),new Uint8Array(this.data.buffer,this.write).set(i),this.write+=n,this}if(t.isArrayBuffer(e)){var i=new Uint8Array(e);return this.accommodate(i.byteLength),new Uint8Array(this.data.buffer).set(i,this.write),this.write+=i.byteLength,this}if(e instanceof t.DataBuffer||"object"==typeof e&&"number"==typeof e.read&&"number"==typeof e.write&&t.isArrayBufferView(e.data))return i=new Uint8Array(e.data.byteLength,e.read,e.length()),this.accommodate(i.byteLength),new Uint8Array(e.data.byteLength,this.write).set(i),this.write+=i.byteLength,this;if(e instanceof t.ByteStringBuffer&&(e=e.data,r="binary"),r=r||"binary","string"==typeof e){var a;if("hex"===r)return this.accommodate(Math.ceil(e.length/2)),a=new Uint8Array(this.data.buffer,this.write),this.write+=t.binary.hex.decode(e,a,this.write),this;if("base64"===r)return this.accommodate(3*Math.ceil(e.length/4)),a=new Uint8Array(this.data.buffer,this.write),this.write+=t.binary.base64.decode(e,a,this.write),this;if("utf8"===r&&(e=t.encodeUtf8(e),r="binary"),"binary"===r||"raw"===r)return this.accommodate(e.length),a=new Uint8Array(this.data.buffer,this.write),this.write+=t.binary.raw.decode(a),this;if("utf16"===r)return this.accommodate(2*e.length),a=new Uint16Array(this.data.buffer,this.write),this.write+=t.text.utf16.encode(a),this;throw new Error("Invalid encoding: "+r)}throw Error("Invalid parameter: "+e)},t.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this},t.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")},t.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this},t.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},t.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},t.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},t.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},t.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},t.DataBuffer.prototype.putInt=function(e,t){r(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},t.DataBuffer.prototype.putSignedInt=function(e,t){return r(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)},t.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)},t.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e},t.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e},t.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e},t.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e},t.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e},t.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e},t.DataBuffer.prototype.getInt=function(e){r(e);var t=0;do{t=(t<<8)+this.data.getInt8(this.read++),e-=8}while(e>0);return t},t.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t},t.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},t.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},t.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},t.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},t.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},t.DataBuffer.prototype.copy=function(){return new t.DataBuffer(this)},t.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},t.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},t.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},t.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e},t.DataBuffer.prototype.toString=function(e){var r=new Uint8Array(this.data,this.read,this.length());if("binary"===(e=e||"utf8")||"raw"===e)return t.binary.raw.encode(r);if("hex"===e)return t.binary.hex.encode(r);if("base64"===e)return t.binary.base64.encode(r);if("utf8"===e)return t.text.utf8.decode(r);if("utf16"===e)return t.text.utf16.decode(r);throw new Error("Invalid encoding: "+e)},t.createBuffer=function(e,r){return r=r||"raw",void 0!==e&&"utf8"===r&&(e=t.encodeUtf8(e)),new t.ByteBuffer(e)},t.fillString=function(e,t){for(var r="";t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return r},t.xorBytes=function(e,t,r){for(var n="",i="",a="",o=0,s=0;r>0;--r,++o)i=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(n+=a,a="",s=0),a+=String.fromCharCode(i),++s;return n+a},t.hexToBytes=function(e){var t="",r=0;for(!0&e.length&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},t.bytesToHex=function(e){return t.createBuffer(e).toHex()},t.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],o="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";t.encode64=function(e,t){for(var r,n,a,o="",s="",c=0;c<e.length;)r=e.charCodeAt(c++),n=e.charCodeAt(c++),a=e.charCodeAt(c++),o+=i.charAt(r>>2),o+=i.charAt((3&r)<<4|n>>4),isNaN(n)?o+="==":(o+=i.charAt((15&n)<<2|a>>6),o+=isNaN(a)?"=":i.charAt(63&a)),t&&o.length>t&&(s+=o.substr(0,t)+"\r\n",o=o.substr(t));return s+o},t.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,r,n,i,o="",s=0;s<e.length;)t=a[e.charCodeAt(s++)-43],r=a[e.charCodeAt(s++)-43],n=a[e.charCodeAt(s++)-43],i=a[e.charCodeAt(s++)-43],o+=String.fromCharCode(t<<2|r>>4),64!==n&&(o+=String.fromCharCode((15&r)<<4|n>>2),64!==i&&(o+=String.fromCharCode((3&n)<<6|i)));return o},t.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},t.decodeUtf8=function(e){return decodeURIComponent(escape(e))},t.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:K.encode,decode:K.decode}},t.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},t.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length));for(var i=r=r||0,a=0;a<e.length;++a)n[i++]=e.charCodeAt(a);return t?i-r:n},t.binary.hex.encode=t.bytesToHex,t.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2)));var i=0,a=r=r||0;for(1&e.length&&(i=1,n[a++]=parseInt(e[0],16));i<e.length;i+=2)n[a++]=parseInt(e.substr(i,2),16);return t?a-r:n},t.binary.base64.encode=function(e,t){for(var r,n,a,o="",s="",c=0;c<e.byteLength;)r=e[c++],n=e[c++],a=e[c++],o+=i.charAt(r>>2),o+=i.charAt((3&r)<<4|n>>4),isNaN(n)?o+="==":(o+=i.charAt((15&n)<<2|a>>6),o+=isNaN(a)?"=":i.charAt(63&a)),t&&o.length>t&&(s+=o.substr(0,t)+"\r\n",o=o.substr(t));return s+o},t.binary.base64.decode=function(e,t,r){var n,i,o,s,c=t;c||(c=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var u=0,l=r=r||0;u<e.length;)n=a[e.charCodeAt(u++)-43],i=a[e.charCodeAt(u++)-43],o=a[e.charCodeAt(u++)-43],s=a[e.charCodeAt(u++)-43],c[l++]=n<<2|i>>4,64!==o&&(c[l++]=(15&i)<<4|o>>2,64!==s&&(c[l++]=(3&o)<<6|s));return t?l-r:c.subarray(0,l)},t.binary.base58.encode=function(e,r){return t.binary.baseN.encode(e,o,r)},t.binary.base58.decode=function(e,r){return t.binary.baseN.decode(e,o,r)},t.text={utf8:{},utf16:{}},t.text.utf8.encode=function(e,r,n){e=t.encodeUtf8(e);var i=r;i||(i=new Uint8Array(e.length));for(var a=n=n||0,o=0;o<e.length;++o)i[a++]=e.charCodeAt(o);return r?a-n:i},t.text.utf8.decode=function(e){return t.decodeUtf8(String.fromCharCode.apply(null,e))},t.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(2*e.length));for(var i=new Uint16Array(n.buffer),a=r=r||0,o=r,s=0;s<e.length;++s)i[o++]=e.charCodeAt(s),a+=2;return t?a-r:n},t.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))},t.deflate=function(e,r,n){if(r=t.decode64(e.deflate(t.encode64(r)).rval),n){var i=2;32&r.charCodeAt(1)&&(i=6),r=r.substring(i,r.length-4)}return r},t.inflate=function(e,r,n){var i=e.inflate(t.encode64(r)).rval;return null===i?null:t.decode64(i)};var s=function(e,r,n){if(!e)throw new Error("WebStorage not available.");var i;if(null===n?i=e.removeItem(r):(n=t.encode64(JSON.stringify(n)),i=e.setItem(r,n)),void 0!==i&&!0!==i.rval){var a=new Error(i.error.message);throw a.id=i.error.id,a.name=i.error.name,a}},c=function(e,r){if(!e)throw new Error("WebStorage not available.");var n=e.getItem(r);if(e.init)if(null===n.rval){if(n.error){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}n=null}else n=n.rval;return null!==n&&(n=JSON.parse(t.decode64(n))),n},u=function(e,t,r,n){var i=c(e,t);null===i&&(i={}),i[r]=n,s(e,t,i)},l=function(e,t,r){var n=c(e,t);return null!==n&&(n=r in n?n[r]:null),n},d=function(e,t,r){var n=c(e,t);if(null!==n&&r in n){delete n[r];var i=!0;for(var a in n){i=!1;break}i&&(n=null),s(e,t,n)}},f=function(e,t){s(e,t,null)},p=function(e,t,r){var n,i=null;void 0===r&&(r=["web","flash"]);var a=!1,o=null;for(var s in r){n=r[s];try{if("flash"===n||"both"===n){if(null===t[0])throw new Error("Flash local storage not available.");i=e.apply(this,t),a="flash"===n}"web"!==n&&"both"!==n||(t[0]=localStorage,i=e.apply(this,t),a=!0)}catch(e){o=e}if(a)break}if(!a)throw o;return i};t.setItem=function(e,t,r,n,i){p(u,arguments,i)},t.getItem=function(e,t,r,n){return p(l,arguments,n)},t.removeItem=function(e,t,r,n){p(d,arguments,n)},t.clearItems=function(e,t,r){p(f,arguments,r)},t.parseUrl=function(e){var t=/^(https?):\/\/([^:&^\/]*):?(\d*)(.*)$/g;t.lastIndex=0;var r=t.exec(e),n=null===r?null:{full:e,scheme:r[1],host:r[2],port:r[3],path:r[4]};return n&&(n.fullHost=n.host,n.port?(80!==n.port&&"http"===n.scheme||443!==n.port&&"https"===n.scheme)&&(n.fullHost+=":"+n.port):"http"===n.scheme?n.port=80:"https"===n.scheme&&(n.port=443),n.full=n.scheme+"://"+n.fullHost),n};var h=null;t.getQueryVariables=function(e){var t,r=function(e){for(var t={},r=e.split("&"),n=0;n<r.length;n++){var i,a,o=r[n].indexOf("=");o>0?(i=r[n].substring(0,o),a=r[n].substring(o+1)):(i=r[n],a=null),i in t||(t[i]=[]),i in Object.prototype||null===a||t[i].push(unescape(a))}return t};return void 0===e?(null===h&&(h="undefined"!=typeof window&&window.location&&window.location.search?r(window.location.search.substring(1)):{}),t=h):t=r(e),t},t.parseFragment=function(e){var r=e,n="",i=e.indexOf("?");i>0&&(r=e.substring(0,i),n=e.substring(i+1));var a=r.split("/");return a.length>0&&""===a[0]&&a.shift(),{pathString:r,queryString:n,path:a,query:""===n?{}:t.getQueryVariables(n)}},t.makeRequest=function(e){var r=t.parseFragment(e),n={path:r.pathString,query:r.queryString,getPath:function(e){return void 0===e?r.path:r.path[e]},getQuery:function(e,t){var n;return void 0===e?n=r.query:(n=r.query[e])&&void 0!==t&&(n=n[t]),n},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},t.makeLink=function(e,t,r){e=jQuery.isArray(e)?e.join("/"):e;var n=jQuery.param(t||{});return r=r||"",e+(n.length>0?"?"+n:"")+(r.length>0?"#"+r:"")},t.setPath=function(e,t,r){if("object"==typeof e&&null!==e)for(var n=0,i=t.length;n<i;){var a=t[n++];if(n==i)e[a]=r;else{var o=a in e;(!o||o&&"object"!=typeof e[a]||o&&null===e[a])&&(e[a]={}),e=e[a]}}},t.getPath=function(e,t,r){for(var n=0,i=t.length,a=!0;a&&n<i&&"object"==typeof e&&null!==e;){var o=t[n++];(a=o in e)&&(e=e[o])}return a?e:r},t.deletePath=function(e,t){if("object"==typeof e&&null!==e)for(var r=0,n=t.length;r<n;){var i=t[r++];if(r==n)delete e[i];else{if(!(i in e)||"object"!=typeof e[i]||null===e[i])break;e=e[i]}}},t.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},t.format=function(e){for(var t,r,n=/%./g,i=0,a=[],o=0;t=n.exec(e);){(r=e.substring(o,n.lastIndex-2)).length>0&&a.push(r),o=n.lastIndex;var s=t[0][1];switch(s){case"s":case"o":i<arguments.length?a.push(arguments[1+i++]):a.push("<?>");break;case"%":a.push("%");break;default:a.push("<%"+s+"?>")}}return a.push(e.substring(o)),a.join("")},t.formatNumber=function(e,t,r,n){var i=e,a=isNaN(t=Math.abs(t))?2:t,o=void 0===r?",":r,s=void 0===n?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+s:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+s)+(a?o+Math.abs(i-u).toFixed(a).slice(2):"")},t.formatSize=function(e){return e>=1073741824?t.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?t.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?t.formatNumber(e/1024,0)+" KiB":t.formatNumber(e,0)+" bytes"},t.bytesFromIP=function(e){return-1!==e.indexOf(".")?t.bytesFromIPv4(e):-1!==e.indexOf(":")?t.bytesFromIPv6(e):null},t.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var r=t.createBuffer(),n=0;n<e.length;++n){var i=parseInt(e[n],10);if(isNaN(i))return null;r.putByte(i)}return r.getBytes()},t.bytesFromIPv6=function(e){for(var r=0,n=2*(8-(e=e.split(":").filter((function(e){return 0===e.length&&++r,!0}))).length+r),i=t.createBuffer(),a=0;a<8;++a)if(e[a]&&0!==e[a].length){var o=t.hexToBytes(e[a]);o.length<2&&i.putByte(0),i.putBytes(o)}else i.fillWithByte(0,n),n=0;return i.getBytes()},t.bytesToIP=function(e){return 4===e.length?t.bytesToIPv4(e):16===e.length?t.bytesToIPv6(e):null},t.bytesToIPv4=function(e){if(4!==e.length)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")},t.bytesToIPv6=function(e){if(16!==e.length)return null;for(var r=[],n=[],i=0,a=0;a<e.length;a+=2){for(var o=t.bytesToHex(e[a]+e[a+1]);"0"===o[0]&&"0"!==o;)o=o.substr(1);if("0"===o){var s=n[n.length-1],c=r.length;s&&c===s.end+1?(s.end=c,s.end-s.start>n[i].end-n[i].start&&(i=n.length-1)):n.push({start:c,end:c})}r.push(o)}if(n.length>0){var u=n[i];u.end-u.start>0&&(r.splice(u.start,u.end-u.start+1,""),0===u.start&&r.unshift(""),7===u.end&&r.push(""))}return r.join(":")},t.estimateCores=function(e,r){if("function"==typeof e&&(r=e,e={}),e=e||{},"cores"in t&&!e.update)return r(null,t.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return t.cores=navigator.hardwareConcurrency,r(null,t.cores);if("undefined"==typeof Worker)return t.cores=1,r(null,t.cores);if("undefined"==typeof Blob)return t.cores=2,r(null,t.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",(function(e){var t=Date.now(),r=t+4;self.postMessage({st:t,et:r})}))}.toString(),")()"],{type:"application/javascript"}));!function e(i,a,o){if(0===a){var s=Math.floor(i.reduce((function(e,t){return e+t}),0)/i.length);return t.cores=Math.max(1,s),URL.revokeObjectURL(n),r(null,t.cores)}!function(e,t){for(var r=[],i=[],a=0;a<e;++a){var o=new Worker(n);o.addEventListener("message",(function(n){if(i.push(n.data),i.length===e){for(var a=0;a<e;++a)r[a].terminate();t(null,i)}})),r.push(o)}for(a=0;a<e;++a)r[a].postMessage(a)}(o,(function(t,r){i.push(function(e,t){for(var r=[],n=0;n<e;++n)for(var i=t[n],a=r[n]=[],o=0;o<e;++o)if(n!==o){var s=t[o];(i.st>s.st&&i.st<s.et||s.st>i.st&&s.st<i.et)&&a.push(o)}return r.reduce((function(e,t){return Math.max(e,t.length)}),0)}(o,r)),e(i,a-1,o)}))}([],5,16)}})),F.cipher=F.cipher||{},F.cipher.algorithms=F.cipher.algorithms||{},F.cipher.createCipher=function(e,t){var r=e;if("string"==typeof r&&(r=F.cipher.getAlgorithm(r))&&(r=r()),!r)throw new Error("Unsupported algorithm: "+e);return new F.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})},F.cipher.createDecipher=function(e,t){var r=e;if("string"==typeof r&&(r=F.cipher.getAlgorithm(r))&&(r=r()),!r)throw new Error("Unsupported algorithm: "+e);return new F.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})},F.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),F.cipher.algorithms[e]=t},F.cipher.getAlgorithm=function(e){return(e=e.toUpperCase())in F.cipher.algorithms?F.cipher.algorithms[e]:null};var H=F.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};function G(e,t){F.cipher.registerAlgorithm(e,(function(){return new F.aes.Algorithm(e,t)}))}H.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=F.util.createBuffer(),this.output=e.output||F.util.createBuffer(),this.mode.start(t)},H.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()},H.prototype.finish=function(e){!e||"ECB"!==this.mode.name&&"CBC"!==this.mode.name||(this.mode.pad=function(t){return e(this.blockSize,t,!1)},this.mode.unpad=function(t){return e(this.blockSize,t,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t)||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t)))},w((function(e){F.cipher=F.cipher||{};var t=e.exports=F.cipher.modes=F.cipher.modes||{};function r(e,t){if("string"==typeof e&&(e=F.util.createBuffer(e)),F.util.isArray(e)&&e.length>4){var r=e;e=F.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!F.util.isArray(e)){var i=[],a=t/4;for(n=0;n<a;++n)i.push(e.getInt32());e=i}return e}function n(e){e[e.length-1]=e[e.length-1]+1&4294967295}function i(e){return[e/4294967296|0,4294967295&e]}t.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},t.ecb.prototype.start=function(e){},t.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();for(this.cipher.encrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])},t.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();for(this.cipher.decrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])},t.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0},t.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return!(n>this.blockSize<<2||(e.truncate(n),0))},t.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},t.cbc.prototype.start=function(e){if(null===e.iv){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else{if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._prev=this._iv.slice(0)}},t.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();for(this.cipher.encrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock},t.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();for(this.cipher.decrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)},t.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0},t.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return!(n>this.blockSize<<2||(e.truncate(n),0))},t.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0},t.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);else{var a=(this.blockSize-n)%this.blockSize;for(a>0&&(a=this.blockSize-a),this._partialOutput.clear(),i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(a>0)e.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},t.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);else{var a=(this.blockSize-n)%this.blockSize;for(a>0&&(a=this.blockSize-a),this._partialOutput.clear(),i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(a>0)e.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},t.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0},t.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===e.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];else{var a=(this.blockSize-n)%this.blockSize;for(a>0&&(a=this.blockSize-a),this._partialOutput.clear(),i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(a>0)e.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},t.ofb.prototype.decrypt=t.ofb.prototype.encrypt,t.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0},t.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.ctr.prototype.encrypt=function(e,t,r){var i=e.length();if(0===i)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&i>=this.blockSize)for(var a=0;a<this._ints;++a)t.putInt32(e.getInt32()^this._outBlock[a]);else{var o=(this.blockSize-i)%this.blockSize;for(o>0&&(o=this.blockSize-o),this._partialOutput.clear(),a=0;a<this._ints;++a)this._partialOutput.putInt32(e.getInt32()^this._outBlock[a]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=0}n(this._inBlock)},t.ctr.prototype.decrypt=t.ctr.prototype.encrypt,t.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0,this._R=3774873600},t.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t,r=F.util.createBuffer(e.iv);if(this._cipherLength=0,t="additionalData"in e?F.util.createBuffer(e.additionalData):F.util.createBuffer(),this._tagLength="tagLength"in e?e.tagLength:128,this._tag=null,e.decrypt&&(this._tag=F.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var a=r.length();if(12===a)this._j0=[r.getInt32(),r.getInt32(),r.getInt32(),1];else{for(this._j0=[0,0,0,0];r.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(i(8*a)))}this._inBlock=this._j0.slice(0),n(this._inBlock),this._partialBytes=0,t=F.util.createBuffer(t),this._aDataLength=i(8*t.length());var o=t.length()%this.blockSize;for(o&&t.fillWithByte(0,this.blockSize-o),this._s=[0,0,0,0];t.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()])},t.gcm.prototype.encrypt=function(e,t,r){var i=e.length();if(0===i)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&i>=this.blockSize){for(var a=0;a<this._ints;++a)t.putInt32(this._outBlock[a]^=e.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-i)%this.blockSize;for(o>0&&(o=this.blockSize-o),this._partialOutput.clear(),a=0;a<this._ints;++a)this._partialOutput.putInt32(e.getInt32()^this._outBlock[a]);if(o<=0||r){if(r){var s=i%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(a=0;a<this._ints;++a)this._outBlock[a]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),n(this._inBlock)},t.gcm.prototype.decrypt=function(e,t,r){var i=e.length();if(i<this.blockSize&&!(r&&i>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),n(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var a=0;a<this._ints;++a)t.putInt32(this._outBlock[a]^this._hashBlock[a]);i<this.blockSize?this._cipherLength+=i%this.blockSize:this._cipherLength+=this.blockSize},t.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=F.util.createBuffer();var n=this._aDataLength.concat(i(8*this._cipherLength));this._s=this.ghash(this._hashSubkey,this._s,n);var a=[];this.cipher.encrypt(this._j0,a);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^a[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r},t.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i)e[i/32|0]&1<<31-i%32&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n);return r},t.gcm.prototype.pow=function(e,t){for(var r=1&e[3],n=3;n>0;--n)t[n]=e[n]>>>1|(1&e[n-1])<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)},t.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=e[r/8|0]>>>4*(7-r%8)&15,i=this._m[r][n];t[0]^=i[0],t[1]^=i[1],t[2]^=i[2],t[3]^=i[3]}return t},t.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)},t.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,a=new Array(i),o=0;o<i;++o){var s=[0,0,0,0],c=(n-1-o%n)*t;s[o/n|0]=1<<t-1<<c,a[o]=this.generateSubHashTable(this.multiply(s,e),t)}return a},t.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.slice(0);for(var a=n>>>1;a>0;)this.pow(i[2*a],i[a]=[]),a>>=1;for(a=2;a<n;){for(var o=1;o<a;++o){var s=i[a],c=i[o];i[a+o]=[s[0]^c[0],s[1]^c[1],s[2]^c[2],s[3]^c[3]]}a*=2}for(i[0]=[0,0,0,0],a=n+1;a<r;++a){var u=i[a^n];i[a]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i}})),F.aes=F.aes||{},F.aes.startEncrypting=function(e,t,r,n){var i=ne({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i},F.aes.createEncryptionCipher=function(e,t){return ne({key:e,output:null,decrypt:!1,mode:t})},F.aes.startDecrypting=function(e,t,r,n){var i=ne({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i},F.aes.createDecryptionCipher=function(e,t){return ne({key:e,output:null,decrypt:!0,mode:t})},F.aes.Algorithm=function(e,t){Z||ee();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(e,t){return re(r._w,e,t,!1)},decrypt:function(e,t){return re(r._w,e,t,!0)}}}),r._init=!1},F.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t,r=e.key;if("string"!=typeof r||16!==r.length&&24!==r.length&&32!==r.length){if(F.util.isArray(r)&&(16===r.length||24===r.length||32===r.length)){t=r,r=F.util.createBuffer();for(var n=0;n<t.length;++n)r.putByte(t[n])}}else r=F.util.createBuffer(r);if(!F.util.isArray(r)){t=r,r=[];var i=t.length();if(16===i||24===i||32===i)for(i>>>=2,n=0;n<i;++n)r.push(t.getInt32())}if(!F.util.isArray(r)||4!==r.length&&6!==r.length&&8!==r.length)throw new Error("Invalid key parameter.");var a=this.mode.name,o=-1!==["CFB","OFB","CTR","GCM"].indexOf(a);this._w=te(r,e.decrypt&&!o),this._init=!0}},F.aes._expandKey=function(e,t){return Z||ee(),te(e,t)},F.aes._updateBlock=re,G("AES-ECB",F.cipher.modes.ecb),G("AES-CBC",F.cipher.modes.cbc),G("AES-CFB",F.cipher.modes.cfb),G("AES-OFB",F.cipher.modes.ofb),G("AES-CTR",F.cipher.modes.ctr),G("AES-GCM",F.cipher.modes.gcm);var Q,W,X,Y,$,Z=!1,J=4;function ee(){Z=!0,X=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;for(Q=new Array(256),W=new Array(256),Y=new Array(4),$=new Array(4),t=0;t<4;++t)Y[t]=new Array(256),$[t]=new Array(256);var r,n,i,a,o,s,c,u=0,l=0;for(t=0;t<256;++t){a=(a=l^l<<1^l<<2^l<<3^l<<4)>>8^255&a^99,Q[u]=a,W[a]=u,s=(o=e[a])<<24^a<<16^a<<8^a^o,c=((r=e[u])^(n=e[r])^(i=e[n]))<<24^(u^i)<<16^(u^n^i)<<8^u^r^i;for(var d=0;d<4;++d)Y[d][u]=s,$[d][a]=c,s=s<<24|s>>>8,c=c<<24|c>>>8;0===u?u=l=1:(u=r^e[e[e[r^i]]],l^=e[e[l]])}}function te(e,t){for(var r,n=e.slice(0),i=1,a=n.length,o=J*(a+6+1),s=a;s<o;++s)r=n[s-1],s%a==0?(r=Q[r>>>16&255]<<24^Q[r>>>8&255]<<16^Q[255&r]<<8^Q[r>>>24]^X[i]<<24,i++):a>6&&s%a==4&&(r=Q[r>>>24]<<24^Q[r>>>16&255]<<16^Q[r>>>8&255]<<8^Q[255&r]),n[s]=n[s-a]^r;if(t){for(var c,u=$[0],l=$[1],d=$[2],f=$[3],p=n.slice(0),h=(s=0,(o=n.length)-J);s<o;s+=J,h-=J)if(0===s||s===o-J)p[s]=n[h],p[s+1]=n[h+3],p[s+2]=n[h+2],p[s+3]=n[h+1];else for(var g=0;g<J;++g)c=n[h+g],p[s+(3&-g)]=u[Q[c>>>24]]^l[Q[c>>>16&255]]^d[Q[c>>>8&255]]^f[Q[255&c]];n=p}return n}function re(e,t,r,n){var i,a,o,s,c,u,l,d,f,p,h,g,m=e.length/4-1;n?(i=$[0],a=$[1],o=$[2],s=$[3],c=W):(i=Y[0],a=Y[1],o=Y[2],s=Y[3],c=Q),u=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],f=t[n?1:3]^e[3];for(var y=3,v=1;v<m;++v)p=i[u>>>24]^a[l>>>16&255]^o[d>>>8&255]^s[255&f]^e[++y],h=i[l>>>24]^a[d>>>16&255]^o[f>>>8&255]^s[255&u]^e[++y],g=i[d>>>24]^a[f>>>16&255]^o[u>>>8&255]^s[255&l]^e[++y],f=i[f>>>24]^a[u>>>16&255]^o[l>>>8&255]^s[255&d]^e[++y],u=p,l=h,d=g;r[0]=c[u>>>24]<<24^c[l>>>16&255]<<16^c[d>>>8&255]<<8^c[255&f]^e[++y],r[n?3:1]=c[l>>>24]<<24^c[d>>>16&255]<<16^c[f>>>8&255]<<8^c[255&u]^e[++y],r[2]=c[d>>>24]<<24^c[f>>>16&255]<<16^c[u>>>8&255]<<8^c[255&l]^e[++y],r[n?1:3]=c[f>>>24]<<24^c[u>>>16&255]<<16^c[l>>>8&255]<<8^c[255&d]^e[++y]}function ne(e){var t,r="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),n=(t=e.decrypt?F.cipher.createDecipher(r,e.key):F.cipher.createCipher(r,e.key)).start;return t.start=function(e,r){var i=null;r instanceof F.util.ByteBuffer&&(i=r,r={}),(r=r||{}).output=i,r.iv=e,n.call(t,r)},t}function ie(e,t){F.cipher.registerAlgorithm(e,(function(){return new F.des.Algorithm(e,t)}))}w((function(e){F.pki=F.pki||{};var t=e.exports=F.pki.oids=F.oids=F.oids||{};function r(e,r){t[e]=r,t[r]=e}function n(e,r){t[e]=r}r("1.2.840.113549.1.1.1","rsaEncryption"),r("1.2.840.113549.1.1.4","md5WithRSAEncryption"),r("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),r("1.2.840.113549.1.1.7","RSAES-OAEP"),r("1.2.840.113549.1.1.8","mgf1"),r("1.2.840.113549.1.1.9","pSpecified"),r("1.2.840.113549.1.1.10","RSASSA-PSS"),r("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),r("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),r("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),r("1.3.101.112","EdDSA25519"),r("1.2.840.10040.4.3","dsa-with-sha1"),r("1.3.14.3.2.7","desCBC"),r("1.3.14.3.2.26","sha1"),r("2.16.840.1.101.3.4.2.1","sha256"),r("2.16.840.1.101.3.4.2.2","sha384"),r("2.16.840.1.101.3.4.2.3","sha512"),r("1.2.840.113549.2.5","md5"),r("1.2.840.113549.1.7.1","data"),r("1.2.840.113549.1.7.2","signedData"),r("1.2.840.113549.1.7.3","envelopedData"),r("1.2.840.113549.1.7.4","signedAndEnvelopedData"),r("1.2.840.113549.1.7.5","digestedData"),r("1.2.840.113549.1.7.6","encryptedData"),r("1.2.840.113549.1.9.1","emailAddress"),r("1.2.840.113549.1.9.2","unstructuredName"),r("1.2.840.113549.1.9.3","contentType"),r("1.2.840.113549.1.9.4","messageDigest"),r("1.2.840.113549.1.9.5","signingTime"),r("1.2.840.113549.1.9.6","counterSignature"),r("1.2.840.113549.1.9.7","challengePassword"),r("1.2.840.113549.1.9.8","unstructuredAddress"),r("1.2.840.113549.1.9.14","extensionRequest"),r("1.2.840.113549.1.9.20","friendlyName"),r("1.2.840.113549.1.9.21","localKeyId"),r("1.2.840.113549.1.9.22.1","x509Certificate"),r("1.2.840.113549.1.12.10.1.1","keyBag"),r("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),r("1.2.840.113549.1.12.10.1.3","certBag"),r("1.2.840.113549.1.12.10.1.4","crlBag"),r("1.2.840.113549.1.12.10.1.5","secretBag"),r("1.2.840.113549.1.12.10.1.6","safeContentsBag"),r("1.2.840.113549.1.5.13","pkcs5PBES2"),r("1.2.840.113549.1.5.12","pkcs5PBKDF2"),r("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),r("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),r("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),r("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),r("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),r("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),r("1.2.840.113549.2.7","hmacWithSHA1"),r("1.2.840.113549.2.8","hmacWithSHA224"),r("1.2.840.113549.2.9","hmacWithSHA256"),r("1.2.840.113549.2.10","hmacWithSHA384"),r("1.2.840.113549.2.11","hmacWithSHA512"),r("1.2.840.113549.3.7","des-EDE3-CBC"),r("2.16.840.1.101.3.4.1.2","aes128-CBC"),r("2.16.840.1.101.3.4.1.22","aes192-CBC"),r("2.16.840.1.101.3.4.1.42","aes256-CBC"),r("2.5.4.3","commonName"),r("2.5.4.5","serialName"),r("2.5.4.6","countryName"),r("2.5.4.7","localityName"),r("2.5.4.8","stateOrProvinceName"),r("2.5.4.9","streetAddress"),r("2.5.4.10","organizationName"),r("2.5.4.11","organizationalUnitName"),r("2.5.4.13","description"),r("2.5.4.15","businessCategory"),r("2.5.4.17","postalCode"),r("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName"),r("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName"),r("2.16.840.1.113730.1.1","nsCertType"),r("2.16.840.1.113730.1.13","nsComment"),n("2.5.29.1","authorityKeyIdentifier"),n("2.5.29.2","keyAttributes"),n("2.5.29.3","certificatePolicies"),n("2.5.29.4","keyUsageRestriction"),n("2.5.29.5","policyMapping"),n("2.5.29.6","subtreesConstraint"),n("2.5.29.7","subjectAltName"),n("2.5.29.8","issuerAltName"),n("2.5.29.9","subjectDirectoryAttributes"),n("2.5.29.10","basicConstraints"),n("2.5.29.11","nameConstraints"),n("2.5.29.12","policyConstraints"),n("2.5.29.13","basicConstraints"),r("2.5.29.14","subjectKeyIdentifier"),r("2.5.29.15","keyUsage"),n("2.5.29.16","privateKeyUsagePeriod"),r("2.5.29.17","subjectAltName"),r("2.5.29.18","issuerAltName"),r("2.5.29.19","basicConstraints"),n("2.5.29.20","cRLNumber"),n("2.5.29.21","cRLReason"),n("2.5.29.22","expirationDate"),n("2.5.29.23","instructionCode"),n("2.5.29.24","invalidityDate"),n("2.5.29.25","cRLDistributionPoints"),n("2.5.29.26","issuingDistributionPoint"),n("2.5.29.27","deltaCRLIndicator"),n("2.5.29.28","issuingDistributionPoint"),n("2.5.29.29","certificateIssuer"),n("2.5.29.30","nameConstraints"),r("2.5.29.31","cRLDistributionPoints"),r("2.5.29.32","certificatePolicies"),n("2.5.29.33","policyMappings"),n("2.5.29.34","policyConstraints"),r("2.5.29.35","authorityKeyIdentifier"),n("2.5.29.36","policyConstraints"),r("2.5.29.37","extKeyUsage"),n("2.5.29.46","freshestCRL"),n("2.5.29.54","inhibitAnyPolicy"),r("1.3.6.1.4.1.11129.2.4.2","timestampList"),r("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),r("1.3.6.1.5.5.7.3.1","serverAuth"),r("1.3.6.1.5.5.7.3.2","clientAuth"),r("1.3.6.1.5.5.7.3.3","codeSigning"),r("1.3.6.1.5.5.7.3.4","emailProtection"),r("1.3.6.1.5.5.7.3.8","timeStamping")})),w((function(e){var t=e.exports=F.asn1=F.asn1||{};function r(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}t.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},t.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},t.create=function(e,r,n,i,a){if(F.util.isArray(i)){for(var o=[],s=0;s<i.length;++s)void 0!==i[s]&&o.push(i[s]);i=o}var c={tagClass:e,type:r,constructed:n,composed:n||F.util.isArray(i),value:i};return a&&"bitStringContents"in a&&(c.bitStringContents=a.bitStringContents,c.original=t.copy(c)),c},t.copy=function(e,r){var n;if(F.util.isArray(e)){n=[];for(var i=0;i<e.length;++i)n.push(t.copy(e[i],r));return n}return"string"==typeof e?e:(n={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:t.copy(e.value,r)},r&&!r.excludeBitStringContents&&(n.bitStringContents=e.bitStringContents),n)},t.equals=function(e,r,n){if(F.util.isArray(e)){if(!F.util.isArray(r))return!1;if(e.length!==r.length)return!1;for(var i=0;i<e.length;++i)if(!t.equals(e[i],r[i]))return!1;return!0}if(typeof e!=typeof r)return!1;if("string"==typeof e)return e===r;var a=e.tagClass===r.tagClass&&e.type===r.type&&e.constructed===r.constructed&&e.composed===r.composed&&t.equals(e.value,r.value);return n&&n.includeBitStringContents&&(a=a&&e.bitStringContents===r.bitStringContents),a},t.getBerValueLength=function(e){var t=e.getByte();if(128!==t)return 128&t?e.getInt((127&t)<<3):t};var n=function(e,t){var n=e.getByte();if(t--,128!==n){var i;if(128&n){var a=127&n;r(e,t,a),i=e.getInt(a<<3)}else i=n;if(i<0)throw new Error("Negative length: "+i);return i}};t.fromDer=function(e,i){return void 0===i&&(i={strict:!0,decodeBitStrings:!0}),"boolean"==typeof i&&(i={strict:i,decodeBitStrings:!0}),"strict"in i||(i.strict=!0),"decodeBitStrings"in i||(i.decodeBitStrings=!0),"string"==typeof e&&(e=F.util.createBuffer(e)),function e(i,a,o,s){var c;r(i,a,2);var u=i.getByte();a--;var l=192&u,d=31&u;c=i.length();var f,p,h=n(i,a);if(a-=c-i.length(),void 0!==h&&h>a){if(s.strict){var g=new Error("Too few bytes to read ASN.1 value.");throw g.available=i.length(),g.remaining=a,g.requested=h,g}h=a}var m=32==(32&u);if(m)if(f=[],void 0===h)for(;;){if(r(i,a,2),i.bytes(2)===String.fromCharCode(0,0)){i.getBytes(2),a-=2;break}c=i.length(),f.push(e(i,a,o+1,s)),a-=c-i.length()}else for(;h>0;)c=i.length(),f.push(e(i,h,o+1,s)),a-=c-i.length(),h-=c-i.length();if(void 0===f&&l===t.Class.UNIVERSAL&&d===t.Type.BITSTRING&&(p=i.bytes(h)),void 0===f&&s.decodeBitStrings&&l===t.Class.UNIVERSAL&&d===t.Type.BITSTRING&&h>1){var y=i.read,v=a,b=0;if(d===t.Type.BITSTRING&&(r(i,a,1),b=i.getByte(),a--),0===b)try{c=i.length();var C=e(i,a,o+1,{verbose:s.verbose,strict:!0,decodeBitStrings:!0}),w=c-i.length();a-=w,d==t.Type.BITSTRING&&w++;var E=C.tagClass;w!==h||E!==t.Class.UNIVERSAL&&E!==t.Class.CONTEXT_SPECIFIC||(f=[C])}catch(e){}void 0===f&&(i.read=y,a=v)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=a}if(d===t.Type.BMPSTRING)for(f="";h>0;h-=2)r(i,a,2),f+=String.fromCharCode(i.getInt16()),a-=2;else f=i.getBytes(h)}var k=void 0===p?null:{bitStringContents:p};return t.create(l,d,m,f,k)}(e,e.length(),0,i)},t.toDer=function(e){var r=F.util.createBuffer(),n=e.tagClass|e.type,i=F.util.createBuffer(),a=!1;if("bitStringContents"in e&&(a=!0,e.original&&(a=t.equals(e,e.original))),a)i.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:i.putByte(0);for(var o=0;o<e.value.length;++o)void 0!==e.value[o]&&i.putBuffer(t.toDer(e.value[o]))}else if(e.type===t.Type.BMPSTRING)for(o=0;o<e.value.length;++o)i.putInt16(e.value.charCodeAt(o));else e.type===t.Type.INTEGER&&e.value.length>1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?i.putBytes(e.value.substr(1)):i.putBytes(e.value);if(r.putByte(n),i.length()<=127)r.putByte(127&i.length());else{var s=i.length(),c="";do{c+=String.fromCharCode(255&s),s>>>=8}while(s>0);for(r.putByte(128|c.length),o=c.length-1;o>=0;--o)r.putByte(c.charCodeAt(o))}return r.putBuffer(i),r},t.oidToDer=function(e){var t,r,n,i,a=e.split("."),o=F.util.createBuffer();o.putByte(40*parseInt(a[0],10)+parseInt(a[1],10));for(var s=2;s<a.length;++s){t=!0,r=[],n=parseInt(a[s],10);do{i=127&n,n>>>=7,t||(i|=128),r.push(i),t=!1}while(n>0);for(var c=r.length-1;c>=0;--c)o.putByte(r[c])}return o},t.derToOid=function(e){var t;"string"==typeof e&&(e=F.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)n<<=7,128&(r=e.getByte())?n+=127&r:(t+="."+(n+r),n=0);return t},t.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),a=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var c=e.charAt(10),u=10;"+"!==c&&"-"!==c&&(s=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(a,o,s,0),u&&("+"===(c=e.charAt(u))||"-"===c)){var l=60*parseInt(e.substr(u+1,2),10)+parseInt(e.substr(u+4,2),10);l*=6e4,"+"===c?t.setTime(+t-l):t.setTime(+t+l)}return t},t.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),a=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),c=0,u=0,l=!1;"Z"===e.charAt(e.length-1)&&(l=!0);var d=e.length-5,f=e.charAt(d);return"+"!==f&&"-"!==f||(u=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),u*=6e4,"+"===f&&(u*=-1),l=!0),"."===e.charAt(14)&&(c=1e3*parseFloat(e.substr(14),10)),l?(t.setUTCFullYear(r,n,i),t.setUTCHours(a,o,s,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(a,o,s,c)),t},t.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+"Z"},t.dateToGeneralizedTime=function(e){if("string"==typeof e)return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+"Z"},t.integerToDer=function(e){var t=F.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r},t.derToInteger=function(e){"string"==typeof e&&(e=F.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},t.validate=function(e,r,n,i){var a=!1;if(e.tagClass!==r.tagClass&&void 0!==r.tagClass||e.type!==r.type&&void 0!==r.type)i&&(e.tagClass!==r.tagClass&&i.push("["+r.name+'] Expected tag class "'+r.tagClass+'", got "'+e.tagClass+'"'),e.type!==r.type&&i.push("["+r.name+'] Expected type "'+r.type+'", got "'+e.type+'"'));else if(e.constructed===r.constructed||void 0===r.constructed){if(a=!0,r.value&&F.util.isArray(r.value))for(var o=0,s=0;a&&s<r.value.length;++s)a=r.value[s].optional||!1,e.value[o]&&((a=t.validate(e.value[o],r.value[s],n,i))?++o:r.value[s].optional&&(a=!0)),!a&&i&&i.push("["+r.name+'] Tag class "'+r.tagClass+'", type "'+r.type+'" expected value length "'+r.value.length+'", got "'+e.value.length+'"');if(a&&n&&(r.capture&&(n[r.capture]=e.value),r.captureAsn1&&(n[r.captureAsn1]=e),r.captureBitStringContents&&"bitStringContents"in e&&(n[r.captureBitStringContents]=e.bitStringContents),r.captureBitStringValue&&"bitStringContents"in e))if(e.bitStringContents.length<2)n[r.captureBitStringValue]="";else{if(0!==e.bitStringContents.charCodeAt(0))throw new Error("captureBitStringValue only supported for zero unused bits");n[r.captureBitStringValue]=e.bitStringContents.slice(1)}}else i&&i.push("["+r.name+'] Expected constructed "'+r.constructed+'", got "'+e.constructed+'"');return a};var i=/[^\\u0000-\\u00ff]/;t.prettyPrint=function(e,r,n){var a="";n=n||2,(r=r||0)>0&&(a+="\n");for(var o="",s=0;s<r*n;++s)o+=" ";switch(a+=o+"Tag: ",e.tagClass){case t.Class.UNIVERSAL:a+="Universal:";break;case t.Class.APPLICATION:a+="Application:";break;case t.Class.CONTEXT_SPECIFIC:a+="Context-Specific:";break;case t.Class.PRIVATE:a+="Private:"}if(e.tagClass===t.Class.UNIVERSAL)switch(a+=e.type,e.type){case t.Type.NONE:a+=" (None)";break;case t.Type.BOOLEAN:a+=" (Boolean)";break;case t.Type.INTEGER:a+=" (Integer)";break;case t.Type.BITSTRING:a+=" (Bit string)";break;case t.Type.OCTETSTRING:a+=" (Octet string)";break;case t.Type.NULL:a+=" (Null)";break;case t.Type.OID:a+=" (Object Identifier)";break;case t.Type.ODESC:a+=" (Object Descriptor)";break;case t.Type.EXTERNAL:a+=" (External or Instance of)";break;case t.Type.REAL:a+=" (Real)";break;case t.Type.ENUMERATED:a+=" (Enumerated)";break;case t.Type.EMBEDDED:a+=" (Embedded PDV)";break;case t.Type.UTF8:a+=" (UTF8)";break;case t.Type.ROID:a+=" (Relative Object Identifier)";break;case t.Type.SEQUENCE:a+=" (Sequence)";break;case t.Type.SET:a+=" (Set)";break;case t.Type.PRINTABLESTRING:a+=" (Printable String)";break;case t.Type.IA5String:a+=" (IA5String (ASCII))";break;case t.Type.UTCTIME:a+=" (UTC time)";break;case t.Type.GENERALIZEDTIME:a+=" (Generalized time)";break;case t.Type.BMPSTRING:a+=" (BMP String)"}else a+=e.type;if(a+="\n",a+=o+"Constructed: "+e.constructed+"\n",e.composed){var c=0,u="";for(s=0;s<e.value.length;++s)void 0!==e.value[s]&&(c+=1,u+=t.prettyPrint(e.value[s],r+1,n),s+1<e.value.length&&(u+=","));a+=o+"Sub values: "+c+u}else{if(a+=o+"Value: ",e.type===t.Type.OID){var l=t.derToOid(e.value);a+=l,F.pki&&F.pki.oids&&l in F.pki.oids&&(a+=" ("+F.pki.oids[l]+") ")}if(e.type===t.Type.INTEGER)try{a+=t.derToInteger(e.value)}catch(t){a+="0x"+F.util.bytesToHex(e.value)}else if(e.type===t.Type.BITSTRING){if(e.value.length>1?a+="0x"+F.util.bytesToHex(e.value.slice(1)):a+="(none)",e.value.length>0){var d=e.value.charCodeAt(0);1==d?a+=" (1 unused bit shown)":d>1&&(a+=" ("+d+" unused bits shown)")}}else e.type===t.Type.OCTETSTRING?(i.test(e.value)||(a+="("+e.value+") "),a+="0x"+F.util.bytesToHex(e.value)):e.type===t.Type.UTF8?a+=F.util.decodeUtf8(e.value):e.type===t.Type.PRINTABLESTRING||e.type===t.Type.IA5String?a+=e.value:i.test(e.value)?a+="0x"+F.util.bytesToHex(e.value):0===e.value.length?a+="[null]":a+=e.value}return a}})),F.md=F.md||{},F.md.algorithms=F.md.algorithms||{},w((function(e){(e.exports=F.hmac=F.hmac||{}).create=function(){var e=null,t=null,r=null,n=null,i={start:function(i,a){if(null!==i)if("string"==typeof i){if(!((i=i.toLowerCase())in F.md.algorithms))throw new Error('Unknown hash algorithm "'+i+'"');t=F.md.algorithms[i].create()}else t=i;if(null===a)a=e;else{if("string"==typeof a)a=F.util.createBuffer(a);else if(F.util.isArray(a)){var o=a;a=F.util.createBuffer();for(var s=0;s<o.length;++s)a.putByte(o[s])}var c=a.length();for(c>t.blockLength&&(t.start(),t.update(a.bytes()),a=t.digest()),r=F.util.createBuffer(),n=F.util.createBuffer(),c=a.length(),s=0;s<c;++s)o=a.at(s),r.putByte(54^o),n.putByte(92^o);if(c<t.blockLength)for(o=t.blockLength-c,s=0;s<o;++s)r.putByte(54),n.putByte(92);e=a,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},update:function(e){t.update(e)},getMac:function(){var e=t.digest().bytes();return t.start(),t.update(n),t.update(e),t.digest()}};return i.digest=i.getMac,i}})),w((function(e){var t=e.exports=F.md5=F.md5||{};F.md.md5=F.md.algorithms.md5=t,t.create=function(){o||function(){r=String.fromCharCode(128),r+=F.util.fillString(String.fromCharCode(0),64),n=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,6,11,0,5,10,15,4,9,14,3,8,13,2,7,12,5,8,11,14,1,4,7,10,13,0,3,6,9,12,15,2,0,7,14,5,12,3,10,1,8,15,6,13,4,11,2,9],i=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],a=new Array(64);for(var e=0;e<64;++e)a[e]=Math.floor(4294967296*Math.abs(Math.sin(e+1)));o=!0}();var e=null,t=F.util.createBuffer(),c=new Array(16),u={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){u.messageLength=0,u.fullMessageLength=u.messageLength64=[];for(var r=u.messageLengthSize/4,n=0;n<r;++n)u.fullMessageLength.push(0);return t=F.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878},u}};return u.start(),u.update=function(r,n){"utf8"===n&&(r=F.util.encodeUtf8(r));var i=r.length;u.messageLength+=i,i=[i/4294967296>>>0,i>>>0];for(var a=u.fullMessageLength.length-1;a>=0;--a)u.fullMessageLength[a]+=i[1],i[1]=i[0]+(u.fullMessageLength[a]/4294967296>>>0),u.fullMessageLength[a]=u.fullMessageLength[a]>>>0,i[0]=i[1]/4294967296>>>0;return t.putBytes(r),s(e,c,t),(t.read>2048||0===t.length())&&t.compact(),u},u.digest=function(){var n=F.util.createBuffer();n.putBytes(t.bytes());var i=u.fullMessageLength[u.fullMessageLength.length-1]+u.messageLengthSize&u.blockLength-1;n.putBytes(r.substr(0,u.blockLength-i));for(var a,o=0,l=u.fullMessageLength.length-1;l>=0;--l)o=(a=8*u.fullMessageLength[l]+o)/4294967296>>>0,n.putInt32Le(a>>>0);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3};s(d,c,n);var f=F.util.createBuffer();return f.putInt32Le(d.h0),f.putInt32Le(d.h1),f.putInt32Le(d.h2),f.putInt32Le(d.h3),f},u};var r=null,n=null,i=null,a=null,o=!1;function s(e,t,r){for(var o,s,c,u,l,d,f,p=r.length();p>=64;){for(s=e.h0,c=e.h1,u=e.h2,l=e.h3,f=0;f<16;++f)t[f]=r.getInt32Le(),o=s+(l^c&(u^l))+a[f]+t[f],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;for(;f<32;++f)o=s+(u^l&(c^u))+a[f]+t[n[f]],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;for(;f<48;++f)o=s+(c^u^l)+a[f]+t[n[f]],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;for(;f<64;++f)o=s+(u^(c|~l))+a[f]+t[n[f]],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;e.h0=e.h0+s|0,e.h1=e.h1+c|0,e.h2=e.h2+u|0,e.h3=e.h3+l|0,p-=64}}})),w((function(e){var t=e.exports=F.pem=F.pem||{};function r(e){for(var t=e.name+": ",r=[],n=function(e,t){return" "+t},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+"\r\n";var a=0,o=-1;for(i=0;i<t.length;++i,++a)if(a>65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),a=i-o-1,o=-1,++i}else" "!==t[i]&&"\t"!==t[i]&&","!==t[i]||(o=i);return t}function n(e){return e.replace(/^\s+/,"")}t.encode=function(e,t){t=t||{};var n,i="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(i+=r(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(i+=r(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),i+=r(n)),e.headers)for(var a=0;a<e.headers.length;++a)i+=r(e.headers[a]);return e.procType&&(i+="\r\n"),(i+=F.util.encode64(e.body,t.maxline||64)+"\r\n")+"-----END "+e.type+"-----\r\n"},t.decode=function(e){for(var t,r=[],i=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,a=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,o=/\r?\n/;t=i.exec(e);){var s={type:t[1],procType:null,contentDomain:null,dekInfo:null,headers:[],body:F.util.decode64(t[3])};if(r.push(s),t[2]){for(var c=t[2].split(o),u=0;t&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),d=u+1;d<c.length;++d){var f=c[d];if(!/\s/.test(f[0]))break;l+=f,u=d}if(t=l.match(a)){for(var p={name:t[1],values:[]},h=t[2].split(","),g=0;g<h.length;++g)p.values.push(n(h[g]));if(s.procType)if(s.contentDomain||"Content-Domain"!==p.name)if(s.dekInfo||"DEK-Info"!==p.name)s.headers.push(p);else{if(0===p.values.length)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');s.dekInfo={algorithm:h[0],parameters:h[1]||null}}else s.contentDomain=h[0]||"";else{if("Proc-Type"!==p.name)throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(2!==p.values.length)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');s.procType={version:h[0],type:h[1]}}}++u}if("ENCRYPTED"===s.procType&&!s.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(0===r.length)throw new Error("Invalid PEM formatted message.");return r}})),F.des=F.des||{},F.des.startEncrypting=function(e,t,r,n){var i=he({key:e,output:r,decrypt:!1,mode:n||(null===t?"ECB":"CBC")});return i.start(t),i},F.des.createEncryptionCipher=function(e,t){return he({key:e,output:null,decrypt:!1,mode:t})},F.des.startDecrypting=function(e,t,r,n){var i=he({key:e,output:r,decrypt:!0,mode:n||(null===t?"ECB":"CBC")});return i.start(t),i},F.des.createDecryptionCipher=function(e,t){return he({key:e,output:null,decrypt:!0,mode:t})},F.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(e,t){return pe(r._keys,e,t,!1)},decrypt:function(e,t){return pe(r._keys,e,t,!0)}}}),r._init=!1},F.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=F.util.createBuffer(e.key);if(0===this.name.indexOf("3DES")&&24!==t.length())throw new Error("Invalid Triple-DES key size: "+8*t.length());this._keys=function(e){for(var t,r=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],n=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],i=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],a=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],c=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],d=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],h=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],g=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=e.length()>8?3:1,y=[],v=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],b=0,C=0;C<m;C++){var w=e.getInt32(),E=e.getInt32();w^=(t=252645135&(w>>>4^E))<<4,w^=t=65535&((E^=t)>>>-16^w),w^=(t=858993459&(w>>>2^(E^=t<<-16)))<<2,w^=t=65535&((E^=t)>>>-16^w),w^=(t=1431655765&(w>>>1^(E^=t<<-16)))<<1,w^=t=16711935&((E^=t)>>>8^w),t=(w^=(t=1431655765&(w>>>1^(E^=t<<8)))<<1)<<8|(E^=t)>>>20&240,w=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=t;for(var k=0;k<v.length;++k){v[k]?(w=w<<2|w>>>26,E=E<<2|E>>>26):(w=w<<1|w>>>27,E=E<<1|E>>>27);var S=r[(w&=-15)>>>28]|n[w>>>24&15]|i[w>>>20&15]|a[w>>>16&15]|o[w>>>12&15]|s[w>>>8&15]|c[w>>>4&15],B=u[(E&=-15)>>>28]|l[E>>>24&15]|d[E>>>20&15]|f[E>>>16&15]|p[E>>>12&15]|h[E>>>8&15]|g[E>>>4&15];t=65535&(B>>>16^S),y[b++]=S^t,y[b++]=B^t<<16}}return y}(t),this._init=!0}},ie("DES-ECB",F.cipher.modes.ecb),ie("DES-CBC",F.cipher.modes.cbc),ie("DES-CFB",F.cipher.modes.cfb),ie("DES-OFB",F.cipher.modes.ofb),ie("DES-CTR",F.cipher.modes.ctr),ie("3DES-ECB",F.cipher.modes.ecb),ie("3DES-CBC",F.cipher.modes.cbc),ie("3DES-CFB",F.cipher.modes.cfb),ie("3DES-OFB",F.cipher.modes.ofb),ie("3DES-CTR",F.cipher.modes.ctr);var ae=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],oe=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],se=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],ce=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],ue=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],le=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],de=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],fe=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function pe(e,t,r,n){var i,a,o=32===e.length?3:9;i=3===o?n?[30,-2,-2]:[0,32,2]:n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s=t[0],c=t[1];s^=(a=252645135&(s>>>4^c))<<4,s^=(a=65535&(s>>>16^(c^=a)))<<16,s^=a=858993459&((c^=a)>>>2^s),s^=a=16711935&((c^=a<<2)>>>8^s),s=(s^=(a=1431655765&(s>>>1^(c^=a<<8)))<<1)<<1|s>>>31,c=(c^=a)<<1|c>>>31;for(var u=0;u<o;u+=3){for(var l=i[u+1],d=i[u+2],f=i[u];f!=l;f+=d){var p=c^e[f],h=(c>>>4|c<<28)^e[f+1];a=s,s=c,c=a^(oe[p>>>24&63]|ce[p>>>16&63]|le[p>>>8&63]|fe[63&p]|ae[h>>>24&63]|se[h>>>16&63]|ue[h>>>8&63]|de[63&h])}a=s,s=c,c=a}c=c>>>1|c<<31,c^=a=1431655765&((s=s>>>1|s<<31)>>>1^c),c^=(a=16711935&(c>>>8^(s^=a<<1)))<<8,c^=(a=858993459&(c>>>2^(s^=a)))<<2,c^=a=65535&((s^=a)>>>16^c),c^=a=252645135&((s^=a<<16)>>>4^c),s^=a<<4,r[0]=s,r[1]=c}function he(e){var t,r="DES-"+((e=e||{}).mode||"CBC").toUpperCase(),n=(t=e.decrypt?F.cipher.createDecipher(r,e.key):F.cipher.createCipher(r,e.key)).start;return t.start=function(e,r){var i=null;r instanceof F.util.ByteBuffer&&(i=r,r={}),(r=r||{}).output=i,r.iv=e,n.call(t,r)},t}var ge,me=F.pkcs5=F.pkcs5||{};F.util.isNodejs&&!F.options.usePureJavaScript&&(ge=t),F.pbkdf2=me.pbkdf2=function(e,t,r,n,i,a){if("function"==typeof i&&(a=i,i=null),F.util.isNodejs&&!F.options.usePureJavaScript&&ge.pbkdf2&&(null===i||"object"!=typeof i)&&(ge.pbkdf2Sync.length>4||!i||"sha1"===i))return"string"!=typeof i&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),a?4===ge.pbkdf2Sync.length?ge.pbkdf2(e,t,r,n,(function(e,t){if(e)return a(e);a(null,t.toString("binary"))})):ge.pbkdf2(e,t,r,n,i,(function(e,t){if(e)return a(e);a(null,t.toString("binary"))})):4===ge.pbkdf2Sync.length?ge.pbkdf2Sync(e,t,r,n).toString("binary"):ge.pbkdf2Sync(e,t,r,n,i).toString("binary");if(null==i&&(i="sha1"),"string"==typeof i){if(!(i in F.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=F.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var s=new Error("Derived key is too long.");if(a)return a(s);throw s}var c=Math.ceil(n/o),u=n-(c-1)*o,l=F.hmac.create();l.start(i,e);var d,f,p,h="";if(!a){for(var g=1;g<=c;++g){l.start(null,null),l.update(t),l.update(F.util.int32ToBytes(g)),d=p=l.digest().getBytes();for(var m=2;m<=r;++m)l.start(null,null),l.update(p),f=l.digest().getBytes(),d=F.util.xorBytes(d,f,o),p=f;h+=g<c?d:d.substr(0,u)}return h}function y(){if(g>c)return a(null,h);l.start(null,null),l.update(t),l.update(F.util.int32ToBytes(g)),d=p=l.digest().getBytes(),m=2,v()}function v(){if(m<=r)return l.start(null,null),l.update(p),f=l.digest().getBytes(),d=F.util.xorBytes(d,f,o),p=f,++m,F.util.setImmediate(v);h+=g<c?d:d.substr(0,u),++g,y()}g=1,y()},w((function(e){var t=e.exports=F.sha256=F.sha256||{};F.md.sha256=F.md.algorithms.sha256=t,t.create=function(){n||(r=String.fromCharCode(128),r+=F.util.fillString(String.fromCharCode(0),64),i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],n=!0);var e=null,t=F.util.createBuffer(),o=new Array(64),s={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,n=0;n<r;++n)s.fullMessageLength.push(0);return t=F.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},s}};return s.start(),s.update=function(r,n){"utf8"===n&&(r=F.util.encodeUtf8(r));var i=r.length;s.messageLength+=i,i=[i/4294967296>>>0,i>>>0];for(var c=s.fullMessageLength.length-1;c>=0;--c)s.fullMessageLength[c]+=i[1],i[1]=i[0]+(s.fullMessageLength[c]/4294967296>>>0),s.fullMessageLength[c]=s.fullMessageLength[c]>>>0,i[0]=i[1]/4294967296>>>0;return t.putBytes(r),a(e,o,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var n=F.util.createBuffer();n.putBytes(t.bytes());var i,c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize&s.blockLength-1;n.putBytes(r.substr(0,s.blockLength-c));for(var u=8*s.fullMessageLength[0],l=0;l<s.fullMessageLength.length-1;++l)u+=(i=8*s.fullMessageLength[l+1])/4294967296>>>0,n.putInt32(u>>>0),u=i>>>0;n.putInt32(u);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};a(d,o,n);var f=F.util.createBuffer();return f.putInt32(d.h0),f.putInt32(d.h1),f.putInt32(d.h2),f.putInt32(d.h3),f.putInt32(d.h4),f.putInt32(d.h5),f.putInt32(d.h6),f.putInt32(d.h7),f},s};var r=null,n=!1,i=null;function a(e,t,r){for(var n,a,o,s,c,u,l,d,f,p,h,g,m,y=r.length();y>=64;){for(c=0;c<16;++c)t[c]=r.getInt32();for(;c<64;++c)n=((n=t[c-2])>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,a=((a=t[c-15])>>>7|a<<25)^(a>>>18|a<<14)^a>>>3,t[c]=n+t[c-7]+a+t[c-16]|0;for(u=e.h0,l=e.h1,d=e.h2,f=e.h3,p=e.h4,h=e.h5,g=e.h6,m=e.h7,c=0;c<64;++c)o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),s=u&l|d&(u^l),n=m+((p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7))+(g^p&(h^g))+i[c]+t[c],m=g,g=h,h=p,p=f+n>>>0,f=d,d=l,l=u,u=n+(a=o+s)>>>0;e.h0=e.h0+u|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+f|0,e.h4=e.h4+p|0,e.h5=e.h5+h|0,e.h6=e.h6+g|0,e.h7=e.h7+m|0,y-=64}}})),w((function(e){var r=null;!F.util.isNodejs||F.options.usePureJavaScript||process.versions["node-webkit"]||(r=t),(e.exports=F.prng=F.prng||{}).create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},n=e.md,i=new Array(32),a=0;a<32;++a)i[a]=n.create();function o(){if(t.pools[0].messageLength>=32)return s();var e=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(e)),s()}function s(){t.reseeds=4294967295===t.reseeds?0:t.reseeds+1;var e=t.plugin.md.create();e.update(t.keyBytes);for(var r=1,n=0;n<32;++n)t.reseeds%r==0&&(e.update(t.pools[n].digest().getBytes()),t.pools[n].start()),r<<=1;t.keyBytes=e.digest().getBytes(),e.start(),e.update(t.keyBytes);var i=e.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(i),t.generated=0}function c(e){var t=null,r=F.util.globalScope,n=r.crypto||r.msCrypto;n&&n.getRandomValues&&(t=function(e){return n.getRandomValues(e)});var i=F.util.createBuffer();if(t)for(;i.length()<e;){var a=Math.max(1,Math.min(e-i.length(),65536)/4),o=new Uint32Array(Math.floor(a));try{t(o);for(var s=0;s<o.length;++s)i.putInt32(o[s])}catch(e){if(!("undefined"!=typeof QuotaExceededError&&e instanceof QuotaExceededError))throw e}}if(i.length()<e)for(var c,u,l,d=Math.floor(65536*Math.random());i.length()<e;)for(u=16807*(65535&d),u+=(32767&(c=16807*(d>>16)))<<16,d=4294967295&(u=(2147483647&(u+=c>>15))+(u>>31)),s=0;s<3;++s)l=d>>>(s<<3),l^=Math.floor(256*Math.random()),i.putByte(String.fromCharCode(255&l));return i.getBytes(e)}return t.pools=i,t.pool=0,t.generate=function(e,r){if(!r)return t.generateSync(e);var n=t.plugin.cipher,i=t.plugin.increment,a=t.plugin.formatKey,o=t.plugin.formatSeed,c=F.util.createBuffer();t.key=null,function u(l){if(l)return r(l);if(c.length()>=e)return r(null,c.getBytes(e));if(t.generated>1048575&&(t.key=null),null===t.key)return F.util.nextTick((function(){!function(e){if(t.pools[0].messageLength>=32)return s(),e();var r=32-t.pools[0].messageLength<<5;t.seedFile(r,(function(r,n){if(r)return e(r);t.collect(n),s(),e()}))}(u)}));var d=n(t.key,t.seed);t.generated+=d.length,c.putBytes(d),t.key=a(n(t.key,i(t.seed))),t.seed=o(n(t.key,t.seed)),F.util.setImmediate(u)}()},t.generateSync=function(e){var r=t.plugin.cipher,n=t.plugin.increment,i=t.plugin.formatKey,a=t.plugin.formatSeed;t.key=null;for(var s=F.util.createBuffer();s.length()<e;){t.generated>1048575&&(t.key=null),null===t.key&&o();var c=r(t.key,t.seed);t.generated+=c.length,s.putBytes(c),t.key=i(r(t.key,n(t.seed))),t.seed=a(r(t.key,t.seed))}return s.getBytes(e)},r?(t.seedFile=function(e,t){r.randomBytes(e,(function(e,r){if(e)return t(e);t(null,r.toString())}))},t.seedFileSync=function(e){return r.randomBytes(e).toString()}):(t.seedFile=function(e,t){try{t(null,c(e))}catch(e){t(e)}},t.seedFileSync=c),t.collect=function(e){for(var r=e.length,n=0;n<r;++n)t.pools[t.pool].update(e.substr(n,1)),t.pool=31===t.pool?0:t.pool+1},t.collectInt=function(e,r){for(var n="",i=0;i<r;i+=8)n+=String.fromCharCode(e>>i&255);t.collect(n)},t.registerWorker=function(e){e===self?t.seedFile=function(e,t){self.addEventListener("message",(function e(r){var n=r.data;n.forge&&n.forge.prng&&(self.removeEventListener("message",e),t(n.forge.prng.err,n.forge.prng.bytes))})),self.postMessage({forge:{prng:{needed:e}}})}:e.addEventListener("message",(function(r){var n=r.data;n.forge&&n.forge.prng&&t.seedFile(n.forge.prng.needed,(function(t,r){e.postMessage({forge:{prng:{err:t,bytes:r}}})}))}))},t}})),w((function(e){F.random&&F.random.getBytes?e.exports=F.random:function(t){var r={},n=new Array(4),i=F.util.createBuffer();function a(){var e=F.prng.create(r);return e.getBytes=function(t,r){return e.generate(t,r)},e.getBytesSync=function(t){return e.generate(t)},e}r.formatKey=function(e){var t=F.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),F.aes._expandKey(e,!1)},r.formatSeed=function(e){var t=F.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},r.cipher=function(e,t){return F.aes._updateBlock(e,t,n,!1),i.putInt32(n[0]),i.putInt32(n[1]),i.putInt32(n[2]),i.putInt32(n[3]),i.getBytes()},r.increment=function(e){return++e[3],e},r.md=F.md.sha256;var o=a(),s=null,c=F.util.globalScope,u=c.crypto||c.msCrypto;if(u&&u.getRandomValues&&(s=function(e){return u.getRandomValues(e)}),!F.util.isNodejs&&!s){if(o.collectInt(+new Date,32),"undefined"!=typeof navigator){var l="";for(var d in navigator)try{"string"==typeof navigator[d]&&(l+=navigator[d])}catch(e){}o.collect(l),l=null}t&&(t().mousemove((function(e){o.collectInt(e.clientX,16),o.collectInt(e.clientY,16)})),t().keypress((function(e){o.collectInt(e.charCode,8)})))}if(F.random)for(var d in o)F.random[d]=o[d];else F.random=o;F.random.createInstance=a,e.exports=F.random}("undefined"!=typeof jQuery?jQuery:null)}));var ye=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],ve=[1,2,3,5],be=function(e,t){return e<<t&65535|(65535&e)>>16-t},Ce=function(e,t){return(65535&e)>>t|e<<16-t&65535};F.rc2=F.rc2||{},F.rc2.expandKey=function(e,t){"string"==typeof e&&(e=F.util.createBuffer(e)),t=t||128;var r,n=e,i=e.length(),a=t,o=Math.ceil(a/8),s=255>>(7&a);for(r=i;r<128;r++)n.putByte(ye[n.at(r-1)+n.at(r-i)&255]);for(n.setAt(128-o,ye[n.at(128-o)&s]),r=127-o;r>=0;r--)n.setAt(r,ye[n.at(r+1)^n.at(r+o)]);return n};var we,Ee=function(e,t,r){var n,i,a,o,s=!1,c=null,u=null,l=null,d=[];for(e=F.rc2.expandKey(e,t),a=0;a<64;a++)d.push(e.getInt16Le());r?(n=function(e){for(a=0;a<4;a++)e[a]+=d[o]+(e[(a+3)%4]&e[(a+2)%4])+(~e[(a+3)%4]&e[(a+1)%4]),e[a]=be(e[a],ve[a]),o++},i=function(e){for(a=0;a<4;a++)e[a]+=d[63&e[(a+3)%4]]}):(n=function(e){for(a=3;a>=0;a--)e[a]=Ce(e[a],ve[a]),e[a]-=d[o]+(e[(a+3)%4]&e[(a+2)%4])+(~e[(a+3)%4]&e[(a+1)%4]),o--},i=function(e){for(a=3;a>=0;a--)e[a]-=d[63&e[(a+3)%4]]});var f=function(e){var t=[];for(a=0;a<4;a++){var n=c.getInt16Le();null!==l&&(r?n^=l.getInt16Le():l.putInt16Le(n)),t.push(65535&n)}o=r?0:63;for(var i=0;i<e.length;i++)for(var s=0;s<e[i][0];s++)e[i][1](t);for(a=0;a<4;a++)null!==l&&(r?l.putInt16Le(t[a]):t[a]^=l.getInt16Le()),u.putInt16Le(t[a])},p=null;return p={start:function(e,t){e&&"string"==typeof e&&(e=F.util.createBuffer(e)),s=!1,c=F.util.createBuffer(),u=t||new F.util.createBuffer,l=e,p.output=u},update:function(e){for(s||c.putBuffer(e);c.length()>=8;)f([[5,n],[1,i],[6,n],[1,i],[5,n]])},finish:function(e){var t=!0;if(r)if(e)t=e(8,c,!r);else{var n=8===c.length()?8:8-c.length();c.fillWithByte(n,n)}if(t&&(s=!0,p.update()),!r&&(t=0===c.length()))if(e)t=e(8,u,!r);else{var i=u.length(),a=u.at(i-1);a>i?t=!1:u.truncate(a)}return t}}};function ke(e,t,r){this.data=[],null!=e&&("number"==typeof e?this.fromNumber(e,t,r):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function Se(){return new ke(null)}function Be(e,t,r,n,i,a){for(var o=16383&t,s=t>>14;--a>=0;){var c=16383&this.data[e],u=this.data[e++]>>14,l=s*c+u*o;i=((c=o*c+((16383&l)<<14)+r.data[n]+i)>>28)+(l>>14)+s*u,r.data[n++]=268435455&c}return i}F.rc2.startEncrypting=function(e,t,r){var n=F.rc2.createEncryptionCipher(e,128);return n.start(t,r),n},F.rc2.createEncryptionCipher=function(e,t){return Ee(e,t,!0)},F.rc2.startDecrypting=function(e,t,r){var n=F.rc2.createDecryptionCipher(e,128);return n.start(t,r),n},F.rc2.createDecryptionCipher=function(e,t){return Ee(e,t,!1)},F.jsbn=F.jsbn||{},F.jsbn.BigInteger=ke,"undefined"==typeof navigator?(ke.prototype.am=Be,we=28):"Microsoft Internet Explorer"==navigator.appName?(ke.prototype.am=function(e,t,r,n,i,a){for(var o=32767&t,s=t>>15;--a>=0;){var c=32767&this.data[e],u=this.data[e++]>>15,l=s*c+u*o;i=((c=o*c+((32767&l)<<15)+r.data[n]+(1073741823&i))>>>30)+(l>>>15)+s*u+(i>>>30),r.data[n++]=1073741823&c}return i},we=30):"Netscape"!=navigator.appName?(ke.prototype.am=function(e,t,r,n,i,a){for(;--a>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=67108863&o}return i},we=26):(ke.prototype.am=Be,we=28),ke.prototype.DB=we,ke.prototype.DM=(1<<we)-1,ke.prototype.DV=1<<we,ke.prototype.FV=Math.pow(2,52),ke.prototype.F1=52-we,ke.prototype.F2=2*we-52;var Te,Ae,Ie="0123456789abcdefghijklmnopqrstuvwxyz",_e=new Array;for(Te="0".charCodeAt(0),Ae=0;Ae<=9;++Ae)_e[Te++]=Ae;for(Te="a".charCodeAt(0),Ae=10;Ae<36;++Ae)_e[Te++]=Ae;for(Te="A".charCodeAt(0),Ae=10;Ae<36;++Ae)_e[Te++]=Ae;function xe(e){return Ie.charAt(e)}function Pe(e,t){var r=_e[e.charCodeAt(t)];return null==r?-1:r}function Re(e){var t=Se();return t.fromInt(e),t}function Ne(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}function Oe(e){this.m=e}function Le(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function De(e,t){return e&t}function Ue(e,t){return e|t}function Me(e,t){return e^t}function Ve(e,t){return e&~t}function je(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function Fe(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function ze(){}function Ke(e){return e}function qe(e){this.r2=Se(),this.q3=Se(),ke.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}Oe.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},Oe.prototype.revert=function(e){return e},Oe.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},Oe.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},Oe.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},Le.prototype.convert=function(e){var t=Se();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(ke.ZERO)>0&&this.m.subTo(t,t),t},Le.prototype.revert=function(e){var t=Se();return e.copyTo(t),this.reduce(t),t},Le.prototype.reduce=function(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=32767&e.data[t],n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},Le.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},Le.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},ke.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s},ke.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0},ke.prototype.fromString=function(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var n=e.length,i=!1,a=0;--n>=0;){var o=8==r?255&e[n]:Pe(e,n);o<0?"-"==e.charAt(n)&&(i=!0):(i=!1,0==a?this.data[this.t++]=o:a+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-a)-1)<<a,this.data[this.t++]=o>>this.DB-a):this.data[this.t-1]|=o<<a,(a+=r)>=this.DB&&(a-=this.DB))}8==r&&0!=(128&e[0])&&(this.s=-1,a>0&&(this.data[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),i&&ke.ZERO.subTo(this,this)},ke.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t},ke.prototype.dlShiftTo=function(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s},ke.prototype.drShiftTo=function(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s},ke.prototype.lShiftTo=function(e,t){var r,n=e%this.DB,i=this.DB-n,a=(1<<i)-1,o=Math.floor(e/this.DB),s=this.s<<n&this.DM;for(r=this.t-1;r>=0;--r)t.data[r+o+1]=this.data[r]>>i|s,s=(this.data[r]&a)<<n;for(r=o-1;r>=0;--r)t.data[r]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()},ke.prototype.rShiftTo=function(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,a=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&a)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&a)<<i),t.t=this.t-r,t.clamp()}},ke.prototype.subTo=function(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()},ke.prototype.multiplyTo=function(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&ke.ZERO.subTo(t,t)},ke.prototype.squareTo=function(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()},ke.prototype.divRemTo=function(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t)return null!=t&&t.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=Se());var a=Se(),o=this.s,s=e.s,c=this.DB-Ne(n.data[n.t-1]);c>0?(n.lShiftTo(c,a),i.lShiftTo(c,r)):(n.copyTo(a),i.copyTo(r));var u=a.t,l=a.data[u-1];if(0!=l){var d=l*(1<<this.F1)+(u>1?a.data[u-2]>>this.F2:0),f=this.FV/d,p=(1<<this.F1)/d,h=1<<this.F2,g=r.t,m=g-u,y=null==t?Se():t;for(a.dlShiftTo(m,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),ke.ONE.dlShiftTo(u,y),y.subTo(a,a);a.t<u;)a.data[a.t++]=0;for(;--m>=0;){var v=r.data[--g]==l?this.DM:Math.floor(r.data[g]*f+(r.data[g-1]+h)*p);if((r.data[g]+=a.am(0,v,r,m,0,u))<v)for(a.dlShiftTo(m,y),r.subTo(y,r);r.data[g]<--v;)r.subTo(y,r)}null!=t&&(r.drShiftTo(u,t),o!=s&&ke.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&ke.ZERO.subTo(r,r)}}},ke.prototype.invDigit=function(){if(this.t<1)return 0;var e=this.data[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},ke.prototype.isEven=function(){return 0==(this.t>0?1&this.data[0]:this.s)},ke.prototype.exp=function(e,t){if(e>4294967295||e<1)return ke.ONE;var r=Se(),n=Se(),i=t.convert(this),a=Ne(e)-1;for(i.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<<a)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)},ke.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var r,n=(1<<t)-1,i=!1,a="",o=this.t,s=this.DB-o*this.DB%t;if(o-- >0)for(s<this.DB&&(r=this.data[o]>>s)>0&&(i=!0,a=xe(r));o>=0;)s<t?(r=(this.data[o]&(1<<s)-1)<<t-s,r|=this.data[--o]>>(s+=this.DB-t)):(r=this.data[o]>>(s-=t)&n,s<=0&&(s+=this.DB,--o)),r>0&&(i=!0),i&&(a+=xe(r));return i?a:"0"},ke.prototype.negate=function(){var e=Se();return ke.ZERO.subTo(this,e),e},ke.prototype.abs=function(){return this.s<0?this.negate():this},ke.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var r=this.t;if(0!=(t=r-e.t))return this.s<0?-t:t;for(;--r>=0;)if(0!=(t=this.data[r]-e.data[r]))return t;return 0},ke.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+Ne(this.data[this.t-1]^this.s&this.DM)},ke.prototype.mod=function(e){var t=Se();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(ke.ZERO)>0&&e.subTo(t,t),t},ke.prototype.modPowInt=function(e,t){var r;return r=e<256||t.isEven()?new Oe(t):new Le(t),this.exp(e,r)},ke.ZERO=Re(0),ke.ONE=Re(1),ze.prototype.convert=Ke,ze.prototype.revert=Ke,ze.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r)},ze.prototype.sqrTo=function(e,t){e.squareTo(t)},qe.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=Se();return e.copyTo(t),this.reduce(t),t},qe.prototype.revert=function(e){return e},qe.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},qe.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},qe.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var He=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Ge=(1<<26)/He[He.length-1];if(ke.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},ke.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Re(r),i=Se(),a=Se(),o="";for(this.divRemTo(n,i,a);i.signum()>0;)o=(r+a.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,a);return a.intValue().toString(e)+o},ke.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,a=0,o=0,s=0;s<e.length;++s){var c=Pe(e,s);c<0?"-"==e.charAt(s)&&0==this.signum()&&(i=!0):(o=t*o+c,++a>=r&&(this.dMultiply(n),this.dAddOffset(o,0),a=0,o=0))}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(o,0)),i&&ke.ZERO.subTo(this,this)},ke.prototype.fromNumber=function(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(ke.ONE.shiftLeft(e-1),Ue,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(ke.ONE.shiftLeft(e-1),this);else{var n=new Array,i=7&e;n.length=1+(e>>3),t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}},ke.prototype.bitwiseTo=function(e,t,r){var n,i,a=Math.min(e.t,this.t);for(n=0;n<a;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=a;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=a;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()},ke.prototype.changeBit=function(e,t){var r=ke.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r},ke.prototype.addTo=function(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()},ke.prototype.dMultiply=function(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},ke.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}},ke.prototype.multiplyLowerTo=function(e,t,r){var n,i=Math.min(this.t+e.t,t);for(r.s=0,r.t=i;i>0;)r.data[--i]=0;for(n=r.t-this.t;i<n;++i)r.data[i+this.t]=this.am(0,e.data[i],r,i,0,this.t);for(n=Math.min(e.t,t);i<n;++i)this.am(0,e.data[i],r,i,0,t-i);r.clamp()},ke.prototype.multiplyUpperTo=function(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)},ke.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(0==t)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r},ke.prototype.millerRabin=function(e){var t=this.subtract(ke.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n,i=t.shiftRight(r),a={nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(256*Math.random())}},o=0;o<e;++o){do{n=new ke(this.bitLength(),a)}while(n.compareTo(ke.ONE)<=0||n.compareTo(t)>=0);var s=n.modPow(i,this);if(0!=s.compareTo(ke.ONE)&&0!=s.compareTo(t)){for(var c=1;c++<r&&0!=s.compareTo(t);)if(0==(s=s.modPowInt(2,this)).compareTo(ke.ONE))return!1;if(0!=s.compareTo(t))return!1}}return!0},ke.prototype.clone=function(){var e=Se();return this.copyTo(e),e},ke.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this.data[0];if(0==this.t)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]},ke.prototype.byteValue=function(){return 0==this.t?this.s:this.data[0]<<24>>24},ke.prototype.shortValue=function(){return 0==this.t?this.s:this.data[0]<<16>>16},ke.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1},ke.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var r,n=this.DB-e*this.DB%8,i=0;if(e-- >0)for(n<this.DB&&(r=this.data[e]>>n)!=(this.s&this.DM)>>n&&(t[i++]=r|this.s<<this.DB-n);e>=0;)n<8?(r=(this.data[e]&(1<<n)-1)<<8-n,r|=this.data[--e]>>(n+=this.DB-8)):(r=this.data[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(t[i++]=r);return t},ke.prototype.equals=function(e){return 0==this.compareTo(e)},ke.prototype.min=function(e){return this.compareTo(e)<0?this:e},ke.prototype.max=function(e){return this.compareTo(e)>0?this:e},ke.prototype.and=function(e){var t=Se();return this.bitwiseTo(e,De,t),t},ke.prototype.or=function(e){var t=Se();return this.bitwiseTo(e,Ue,t),t},ke.prototype.xor=function(e){var t=Se();return this.bitwiseTo(e,Me,t),t},ke.prototype.andNot=function(e){var t=Se();return this.bitwiseTo(e,Ve,t),t},ke.prototype.not=function(){for(var e=Se(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e},ke.prototype.shiftLeft=function(e){var t=Se();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},ke.prototype.shiftRight=function(e){var t=Se();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},ke.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this.data[e])return e*this.DB+je(this.data[e]);return this.s<0?this.t*this.DB:-1},ke.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Fe(this.data[r]^t);return e},ke.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:0!=(this.data[t]&1<<e%this.DB)},ke.prototype.setBit=function(e){return this.changeBit(e,Ue)},ke.prototype.clearBit=function(e){return this.changeBit(e,Ve)},ke.prototype.flipBit=function(e){return this.changeBit(e,Me)},ke.prototype.add=function(e){var t=Se();return this.addTo(e,t),t},ke.prototype.subtract=function(e){var t=Se();return this.subTo(e,t),t},ke.prototype.multiply=function(e){var t=Se();return this.multiplyTo(e,t),t},ke.prototype.divide=function(e){var t=Se();return this.divRemTo(e,t,null),t},ke.prototype.remainder=function(e){var t=Se();return this.divRemTo(e,null,t),t},ke.prototype.divideAndRemainder=function(e){var t=Se(),r=Se();return this.divRemTo(e,t,r),new Array(t,r)},ke.prototype.modPow=function(e,t){var r,n,i=e.bitLength(),a=Re(1);if(i<=0)return a;r=i<18?1:i<48?3:i<144?4:i<768?5:6,n=i<8?new Oe(t):t.isEven()?new qe(t):new Le(t);var o=new Array,s=3,c=r-1,u=(1<<r)-1;if(o[1]=n.convert(this),r>1){var l=Se();for(n.sqrTo(o[1],l);s<=u;)o[s]=Se(),n.mulTo(l,o[s-2],o[s]),s+=2}var d,f,p=e.t-1,h=!0,g=Se();for(i=Ne(e.data[p])-1;p>=0;){for(i>=c?d=e.data[p]>>i-c&u:(d=(e.data[p]&(1<<i+1)-1)<<c-i,p>0&&(d|=e.data[p-1]>>this.DB+i-c)),s=r;0==(1&d);)d>>=1,--s;if((i-=s)<0&&(i+=this.DB,--p),h)o[d].copyTo(a),h=!1;else{for(;s>1;)n.sqrTo(a,g),n.sqrTo(g,a),s-=2;s>0?n.sqrTo(a,g):(f=a,a=g,g=f),n.mulTo(g,o[d],a)}for(;p>=0&&0==(e.data[p]&1<<i);)n.sqrTo(a,g),f=a,a=g,g=f,--i<0&&(i=this.DB-1,--p)}return n.revert(a)},ke.prototype.modInverse=function(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return ke.ZERO;for(var r=e.clone(),n=this.clone(),i=Re(1),a=Re(0),o=Re(0),s=Re(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),t?(i.isEven()&&a.isEven()||(i.addTo(this,i),a.subTo(e,a)),i.rShiftTo(1,i)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),t?(o.isEven()&&s.isEven()||(o.addTo(this,o),s.subTo(e,s)),o.rShiftTo(1,o)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),a.subTo(s,a)):(n.subTo(r,n),t&&o.subTo(i,o),s.subTo(a,s))}return 0!=n.compareTo(ke.ONE)?ke.ZERO:s.compareTo(e)>=0?s.subtract(e):s.signum()<0?(s.addTo(e,s),s.signum()<0?s.add(e):s):s},ke.prototype.pow=function(e){return this.exp(e,new ze)},ke.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),a=r.getLowestSetBit();if(a<0)return t;for(i<a&&(a=i),a>0&&(t.rShiftTo(a,t),r.rShiftTo(a,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r},ke.prototype.isProbablePrime=function(e){var t,r=this.abs();if(1==r.t&&r.data[0]<=He[He.length-1]){for(t=0;t<He.length;++t)if(r.data[0]==He[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<He.length;){for(var n=He[t],i=t+1;i<He.length&&n<Ge;)n*=He[i++];for(n=r.modInt(n);t<i;)if(n%He[t++]==0)return!1}return r.millerRabin(e)},w((function(e){var t=e.exports=F.sha1=F.sha1||{};F.md.sha1=F.md.algorithms.sha1=t,t.create=function(){n||(r=String.fromCharCode(128),r+=F.util.fillString(String.fromCharCode(0),64),n=!0);var e=null,t=F.util.createBuffer(),a=new Array(80),o={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){o.messageLength=0,o.fullMessageLength=o.messageLength64=[];for(var r=o.messageLengthSize/4,n=0;n<r;++n)o.fullMessageLength.push(0);return t=F.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},o}};return o.start(),o.update=function(r,n){"utf8"===n&&(r=F.util.encodeUtf8(r));var s=r.length;o.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var c=o.fullMessageLength.length-1;c>=0;--c)o.fullMessageLength[c]+=s[1],s[1]=s[0]+(o.fullMessageLength[c]/4294967296>>>0),o.fullMessageLength[c]=o.fullMessageLength[c]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(r),i(e,a,t),(t.read>2048||0===t.length())&&t.compact(),o},o.digest=function(){var n=F.util.createBuffer();n.putBytes(t.bytes());var s,c=o.fullMessageLength[o.fullMessageLength.length-1]+o.messageLengthSize&o.blockLength-1;n.putBytes(r.substr(0,o.blockLength-c));for(var u=8*o.fullMessageLength[0],l=0;l<o.fullMessageLength.length-1;++l)u+=(s=8*o.fullMessageLength[l+1])/4294967296>>>0,n.putInt32(u>>>0),u=s>>>0;n.putInt32(u);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};i(d,a,n);var f=F.util.createBuffer();return f.putInt32(d.h0),f.putInt32(d.h1),f.putInt32(d.h2),f.putInt32(d.h3),f.putInt32(d.h4),f},o};var r=null,n=!1;function i(e,t,r){for(var n,i,a,o,s,c,u,l=r.length();l>=64;){for(i=e.h0,a=e.h1,o=e.h2,s=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,n=(i<<5|i>>>27)+(s^a&(o^s))+c+1518500249+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<20;++u)n=(n=t[u-3]^t[u-8]^t[u-14]^t[u-16])<<1|n>>>31,t[u]=n,n=(i<<5|i>>>27)+(s^a&(o^s))+c+1518500249+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<32;++u)n=(n=t[u-3]^t[u-8]^t[u-14]^t[u-16])<<1|n>>>31,t[u]=n,n=(i<<5|i>>>27)+(a^o^s)+c+1859775393+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<40;++u)n=(n=t[u-6]^t[u-16]^t[u-28]^t[u-32])<<2|n>>>30,t[u]=n,n=(i<<5|i>>>27)+(a^o^s)+c+1859775393+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<60;++u)n=(n=t[u-6]^t[u-16]^t[u-28]^t[u-32])<<2|n>>>30,t[u]=n,n=(i<<5|i>>>27)+(a&o|s&(a^o))+c+2400959708+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<80;++u)n=(n=t[u-6]^t[u-16]^t[u-28]^t[u-32])<<2|n>>>30,t[u]=n,n=(i<<5|i>>>27)+(a^o^s)+c+3395469782+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+a|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+c|0,l-=64}}})),w((function(e){var t=e.exports=F.pkcs1=F.pkcs1||{};function r(e,t,r){r||(r=F.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),a=0;a<i;++a){var o=String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a);r.start(),r.update(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}t.encode_rsa_oaep=function(e,t,n){var i,a,o,s;"string"==typeof n?(i=n,a=arguments[3]||void 0,o=arguments[4]||void 0):n&&(i=n.label||void 0,a=n.seed||void 0,o=n.md||void 0,n.mgf1&&n.mgf1.md&&(s=n.mgf1.md)),o?o.start():o=F.md.sha1.create(),s||(s=o);var c=Math.ceil(e.n.bitLength()/8),u=c-2*o.digestLength-2;if(t.length>u)throw(h=new Error("RSAES-OAEP input message length is too long.")).length=t.length,h.maxLength=u,h;i||(i=""),o.update(i,"raw");for(var l=o.digest(),d="",f=u-t.length,p=0;p<f;p++)d+="\0";var h,g=l.getBytes()+d+""+t;if(a){if(a.length!==o.digestLength)throw(h=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.")).seedLength=a.length,h.digestLength=o.digestLength,h}else a=F.random.getBytes(o.digestLength);var m=r(a,c-o.digestLength-1,s),y=F.util.xorBytes(g,m,g.length),v=r(y,o.digestLength,s);return"\0"+F.util.xorBytes(a,v,a.length)+y},t.decode_rsa_oaep=function(e,t,n){var i,a,o;"string"==typeof n?(i=n,a=arguments[3]||void 0):n&&(i=n.label||void 0,a=n.md||void 0,n.mgf1&&n.mgf1.md&&(o=n.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s)throw(m=new Error("RSAES-OAEP encoded message length is invalid.")).length=t.length,m.expectedLength=s,m;if(void 0===a?a=F.md.sha1.create():a.start(),o||(o=a),s<2*a.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");i||(i=""),a.update(i,"raw");for(var c=a.digest().getBytes(),u=t.charAt(0),l=t.substring(1,a.digestLength+1),d=t.substring(1+a.digestLength),f=r(d,a.digestLength,o),p=r(F.util.xorBytes(l,f,l.length),s-a.digestLength-1,o),h=F.util.xorBytes(d,p,d.length),g=h.substring(0,a.digestLength),m="\0"!==u,y=0;y<a.digestLength;++y)m|=c.charAt(y)!==g.charAt(y);for(var v=1,b=a.digestLength,C=a.digestLength;C<h.length;C++){var w=h.charCodeAt(C);m|=w&(v?65534:0),b+=v&=1&w^1}if(m||1!==h.charCodeAt(b))throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)}})),w((function(e){!function(){if(F.prime)e.exports=F.prime;else{var t=e.exports=F.prime=F.prime||{},r=F.jsbn.BigInteger,n=[6,4,2,4,2,4,6,2],i=new r(null);i.fromInt(30);var a=function(e,t){return e|t};t.generateProbablePrime=function(e,t,n){"function"==typeof t&&(n=t,t={});var i=(t=t||{}).algorithm||"PRIMEINC";"string"==typeof i&&(i={name:i}),i.options=i.options||{};var a=t.prng||F.random,c={nextBytes:function(e){for(var t=a.getBytesSync(e.length),r=0;r<e.length;++r)e[r]=t.charCodeAt(r)}};if("PRIMEINC"===i.name)return function(e,t,n,i){return"workers"in n?function(e,t,n,i){if("undefined"==typeof Worker)return o(e,t,n,i);var a=s(e,t),c=n.workers,u=n.workLoad||100,l=30*u/8,d=n.workerScript||"forge/prime.worker.js";if(-1===c)return F.util.estimateCores((function(e,t){e&&(t=2),c=t-1,f()}));function f(){c=Math.max(1,c);for(var n=[],o=0;o<c;++o)n[o]=new Worker(d);for(o=0;o<c;++o)n[o].addEventListener("message",p);var f=!1;function p(o){if(!f){var c=o.data;if(c.found){for(var d=0;d<n.length;++d)n[d].terminate();return f=!0,i(null,new r(c.prime,16))}a.bitLength()>e&&(a=s(e,t));var p=a.toString(16);o.target.postMessage({hex:p,workLoad:u}),a.dAddOffset(l,0)}}}f()}(e,t,n,i):o(e,t,n,i)}(e,c,i.options,n);throw new Error("Invalid prime generation algorithm: "+i.name)}}function o(e,t,r,i){var a=s(e,t),o=function(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}(a.bitLength());"millerRabinTests"in r&&(o=r.millerRabinTests);var c=10;"maxBlockTime"in r&&(c=r.maxBlockTime),function e(t,r,i,a,o,c,u){var l=+new Date;do{if(t.bitLength()>r&&(t=s(r,i)),t.isProbablePrime(o))return u(null,t);t.dAddOffset(n[a++%8],0)}while(c<0||+new Date-l<c);F.util.setImmediate((function(){e(t,r,i,a,o,c,u)}))}(a,e,t,0,o,c,i)}function s(e,t){var n=new r(e,t),o=e-1;return n.testBit(o)||n.bitwiseTo(r.ONE.shiftLeft(o),a,n),n.dAddOffset(31-n.mod(i).byteValue(),0),n}}()})),void 0===Qe)var Qe=F.jsbn.BigInteger;var We=F.util.isNodejs?t:null,Xe=F.asn1,Ye=F.util;F.pki=F.pki||{},F.pki.rsa=F.rsa=F.rsa||{};var $e=F.pki,Ze=[6,4,2,4,2,4,6,2],Je={name:"PrivateKeyInfo",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},et={name:"RSAPrivateKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},tt={name:"RSAPublicKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},rt=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},nt=function(e){var t;if(!(e.algorithm in $e.oids)){var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}t=$e.oids[e.algorithm];var n=Xe.oidToDer(t).getBytes(),i=Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[]),a=Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[]);a.value.push(Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OID,!1,n)),a.value.push(Xe.create(Xe.Class.UNIVERSAL,Xe.Type.NULL,!1,""));var o=Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(a),i.value.push(o),Xe.toDer(i).getBytes()},it=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);var n;t.dP||(t.dP=t.d.mod(t.p.subtract(Qe.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(Qe.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));do{n=new Qe(F.util.bytesToHex(F.random.getBytes(t.n.bitLength()/8)),16)}while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(Qe.ONE));for(var i=(e=e.multiply(n.modPow(t.e,t.n)).mod(t.n)).mod(t.p).modPow(t.dP,t.p),a=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(a)<0;)i=i.add(t.p);var o=i.subtract(a).multiply(t.qInv).mod(t.p).multiply(t.q).add(a);return o.multiply(n.modInverse(t.n)).mod(t.n)};function at(e,t,r){var n=F.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var a=new Error("Message is too long for PKCS#1 v1.5 padding.");throw a.length=e.length,a.max=i-11,a}n.putByte(0),n.putByte(r);var o,s=i-3-e.length;if(0===r||1===r){o=0===r?0:255;for(var c=0;c<s;++c)n.putByte(o)}else for(;s>0;){var u=0,l=F.random.getBytes(s);for(c=0;c<s;++c)0===(o=l.charCodeAt(c))?++u:n.putByte(o);s=u}return n.putByte(0),n.putBytes(e),n}function ot(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),a=F.util.createBuffer(e),o=a.getByte(),s=a.getByte();if(0!==o||r&&0!==s&&1!==s||!r&&2!=s||r&&0===s&&void 0===n)throw new Error("Encryption block is invalid.");var c=0;if(0===s){c=i-3-n;for(var u=0;u<c;++u)if(0!==a.getByte())throw new Error("Encryption block is invalid.")}else if(1===s)for(c=0;a.length()>1;){if(255!==a.getByte()){--a.read;break}++c}else if(2===s)for(c=0;a.length()>1;){if(0===a.getByte()){--a.read;break}++c}if(0!==a.getByte()||c!==i-3-a.length())throw new Error("Encryption block is invalid.");return a.getBytes()}function st(e,t,r){"function"==typeof t&&(r=t,t={});var n={algorithm:{name:(t=t||{}).algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};function i(){a(e.pBits,(function(t,n){return t?r(t):(e.p=n,null!==e.q?o(t,e.q):void a(e.qBits,o))}))}function a(e,t){F.prime.generateProbablePrime(e,n,t)}function o(t,n){if(t)return r(t);if(e.q=n,e.p.compareTo(e.q)<0){var s=e.p;e.p=e.q,e.q=s}if(0!==e.p.subtract(Qe.ONE).gcd(e.e).compareTo(Qe.ONE))return e.p=null,void i();if(0!==e.q.subtract(Qe.ONE).gcd(e.e).compareTo(Qe.ONE))return e.q=null,void a(e.qBits,o);if(e.p1=e.p.subtract(Qe.ONE),e.q1=e.q.subtract(Qe.ONE),e.phi=e.p1.multiply(e.q1),0!==e.phi.gcd(e.e).compareTo(Qe.ONE))return e.p=e.q=null,void i();if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits)return e.q=null,void a(e.qBits,o);var c=e.e.modInverse(e.phi);e.keys={privateKey:$e.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:$e.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}"prng"in t&&(n.prng=t.prng),i()}function ct(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=F.util.hexToBytes(t);return r.length>1&&(0===r.charCodeAt(0)&&0==(128&r.charCodeAt(1))||255===r.charCodeAt(0)&&128==(128&r.charCodeAt(1)))?r.substr(1):r}function ut(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function lt(e){return F.util.isNodejs&&"function"==typeof We[e]}function dt(e){return void 0!==Ye.globalScope&&"object"==typeof Ye.globalScope.crypto&&"object"==typeof Ye.globalScope.crypto.subtle&&"function"==typeof Ye.globalScope.crypto.subtle[e]}function ft(e){return void 0!==Ye.globalScope&&"object"==typeof Ye.globalScope.msCrypto&&"object"==typeof Ye.globalScope.msCrypto.subtle&&"function"==typeof Ye.globalScope.msCrypto.subtle[e]}function pt(e){for(var t=F.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}if($e.rsa.encrypt=function(e,t,r){var n,i=r,a=Math.ceil(t.n.bitLength()/8);!1!==r&&!0!==r?(i=2===r,n=at(e,t,r)):(n=F.util.createBuffer()).putBytes(e);for(var o=new Qe(n.toHex(),16),s=it(o,t,i).toString(16),c=F.util.createBuffer(),u=a-Math.ceil(s.length/2);u>0;)c.putByte(0),--u;return c.putBytes(F.util.hexToBytes(s)),c.getBytes()},$e.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var a=new Error("Encrypted message length is invalid.");throw a.length=e.length,a.expected=i,a}var o=new Qe(F.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var s=it(o,t,r).toString(16),c=F.util.createBuffer(),u=i-Math.ceil(s.length/2);u>0;)c.putByte(0),--u;return c.putBytes(F.util.hexToBytes(s)),!1!==n?ot(c.getBytes(),t,r):c.getBytes()},$e.rsa.createKeyPairGenerationState=function(e,t,r){"string"==typeof e&&(e=parseInt(e,10)),e=e||2048;var n,i=(r=r||{}).prng||F.random,a={nextBytes:function(e){for(var t=i.getBytesSync(e.length),r=0;r<e.length;++r)e[r]=t.charCodeAt(r)}},o=r.algorithm||"PRIMEINC";if("PRIMEINC"!==o)throw new Error("Invalid key generation algorithm: "+o);return(n={algorithm:o,state:0,bits:e,rng:a,eInt:t||65537,e:new Qe(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null}).e.fromInt(n.eInt),n},$e.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new Qe(null);r.fromInt(30);for(var n,i=0,a=function(e,t){return e|t},o=+new Date,s=0;null===e.keys&&(t<=0||s<t);){if(0===e.state){var c=null===e.p?e.pBits:e.qBits,u=c-1;0===e.pqState?(e.num=new Qe(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(Qe.ONE.shiftLeft(u),a,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),i=0,++e.pqState):1===e.pqState?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(ut(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Ze[i++%8],0):2===e.pqState?e.pqState=0===e.num.subtract(Qe.ONE).gcd(e.e).compareTo(Qe.ONE)?3:0:3===e.pqState&&(e.pqState=0,null===e.p?e.p=e.num:e.q=e.num,null!==e.p&&null!==e.q&&++e.state,e.num=null)}else if(1===e.state)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(2===e.state)e.p1=e.p.subtract(Qe.ONE),e.q1=e.q.subtract(Qe.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(3===e.state)0===e.phi.gcd(e.e).compareTo(Qe.ONE)?++e.state:(e.p=null,e.q=null,e.state=0);else if(4===e.state)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(5===e.state){var l=e.e.modInverse(e.phi);e.keys={privateKey:$e.rsa.setPrivateKey(e.n,e.e,l,e.p,e.q,l.mod(e.p1),l.mod(e.q1),e.q.modInverse(e.p)),publicKey:$e.rsa.setPublicKey(e.n,e.e)}}s+=(n=+new Date)-o,o=n}return null!==e.keys},$e.rsa.generateKeyPair=function(e,t,r,n){if(1===arguments.length?"object"==typeof e?(r=e,e=void 0):"function"==typeof e&&(n=e,e=void 0):2===arguments.length?"number"==typeof e?"function"==typeof t?(n=t,t=void 0):"number"!=typeof t&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):3===arguments.length&&("number"==typeof t?"function"==typeof r&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},void 0===e&&(e=r.bits||2048),void 0===t&&(t=r.e||65537),!r.prng&&e>=256&&e<=16384&&(65537===t||3===t))if(n){if(lt("generateKeyPair"))return We.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},(function(e,t,r){if(e)return n(e);n(null,{privateKey:$e.privateKeyFromPem(r),publicKey:$e.publicKeyFromPem(t)})}));if(dt("generateKey")&&dt("exportKey"))return Ye.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:pt(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then((function(e){return Ye.globalScope.crypto.subtle.exportKey("pkcs8",e.privateKey)})).then(void 0,(function(e){n(e)})).then((function(e){if(e){var t=$e.privateKeyFromAsn1(Xe.fromDer(F.util.createBuffer(e)));n(null,{privateKey:t,publicKey:$e.setRsaPublicKey(t.n,t.e)})}}));if(ft("generateKey")&&ft("exportKey")){var i=Ye.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:pt(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);return i.oncomplete=function(e){var t=e.target.result,r=Ye.globalScope.msCrypto.subtle.exportKey("pkcs8",t.privateKey);r.oncomplete=function(e){var t=e.target.result,r=$e.privateKeyFromAsn1(Xe.fromDer(F.util.createBuffer(t)));n(null,{privateKey:r,publicKey:$e.setRsaPublicKey(r.n,r.e)})},r.onerror=function(e){n(e)}},void(i.onerror=function(e){n(e)})}}else if(lt("generateKeyPairSync")){var a=We.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:$e.privateKeyFromPem(a.privateKey),publicKey:$e.publicKeyFromPem(a.publicKey)}}var o=$e.rsa.createKeyPairGenerationState(e,t,r);if(!n)return $e.rsa.stepKeyPairGenerationState(o,0),o.keys;st(o,r,n)},$e.setRsaPublicKey=$e.rsa.setPublicKey=function(e,t){var r={n:e,e:t,encrypt:function(e,t,n){if("string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5"),"RSAES-PKCS1-V1_5"===t)t={encode:function(e,t,r){return at(e,t,2).getBytes()}};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={encode:function(e,t){return F.pkcs1.encode_rsa_oaep(t,e,n)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(t))t={encode:function(e){return e}};else if("string"==typeof t)throw new Error('Unsupported encryption scheme: "'+t+'".');var i=t.encode(e,r,!0);return $e.rsa.encrypt(i,r,!0)},verify:function(e,t,n){"string"==typeof n?n=n.toUpperCase():void 0===n&&(n="RSASSA-PKCS1-V1_5"),"RSASSA-PKCS1-V1_5"===n?n={verify:function(e,t){return t=ot(t,r,!0),e===Xe.fromDer(t).value[1].value}}:"NONE"!==n&&"NULL"!==n&&null!==n||(n={verify:function(e,t){return e===ot(t,r,!0)}});var i=$e.rsa.decrypt(t,r,!0,!1);return n.verify(e,i,r.n.bitLength())}};return r},$e.setRsaPrivateKey=$e.rsa.setPrivateKey=function(e,t,r,n,i,a,o,s){var c={n:e,e:t,d:r,p:n,q:i,dP:a,dQ:o,qInv:s,decrypt:function(e,t,r){"string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5");var n=$e.rsa.decrypt(e,c,!1,!1);if("RSAES-PKCS1-V1_5"===t)t={decode:ot};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={decode:function(e,t){return F.pkcs1.decode_rsa_oaep(t,e,r)}};else{if(-1===["RAW","NONE","NULL",null].indexOf(t))throw new Error('Unsupported encryption scheme: "'+t+'".');t={decode:function(e){return e}}}return t.decode(n,c,!1)},sign:function(e,t){var r=!1;"string"==typeof t&&(t=t.toUpperCase()),void 0===t||"RSASSA-PKCS1-V1_5"===t?(t={encode:nt},r=1):"NONE"!==t&&"NULL"!==t&&null!==t||(t={encode:function(){return e}},r=1);var n=t.encode(e,c.n.bitLength());return $e.rsa.encrypt(n,c,r)}};return c},$e.wrapRsaPrivateKey=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,Xe.integerToDer(0).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OID,!1,Xe.oidToDer($e.oids.rsaEncryption).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.NULL,!1,"")]),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OCTETSTRING,!1,Xe.toDer(e).getBytes())])},$e.privateKeyFromAsn1=function(e){var t,r,n,i,a,o,s,c,u={},l=[];if(Xe.validate(e,Je,u,l)&&(e=Xe.fromDer(F.util.createBuffer(u.privateKey))),u={},l=[],!Xe.validate(e,et,u,l)){var d=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw d.errors=l,d}return t=F.util.createBuffer(u.privateKeyModulus).toHex(),r=F.util.createBuffer(u.privateKeyPublicExponent).toHex(),n=F.util.createBuffer(u.privateKeyPrivateExponent).toHex(),i=F.util.createBuffer(u.privateKeyPrime1).toHex(),a=F.util.createBuffer(u.privateKeyPrime2).toHex(),o=F.util.createBuffer(u.privateKeyExponent1).toHex(),s=F.util.createBuffer(u.privateKeyExponent2).toHex(),c=F.util.createBuffer(u.privateKeyCoefficient).toHex(),$e.setRsaPrivateKey(new Qe(t,16),new Qe(r,16),new Qe(n,16),new Qe(i,16),new Qe(a,16),new Qe(o,16),new Qe(s,16),new Qe(c,16))},$e.privateKeyToAsn1=$e.privateKeyToRSAPrivateKey=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,Xe.integerToDer(0).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.n)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.e)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.d)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.p)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.q)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.dP)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.dQ)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.qInv))])},$e.publicKeyFromAsn1=function(e){var t={},r=[];if(Xe.validate(e,rt,t,r)){var n,i=Xe.derToOid(t.publicKeyOid);if(i!==$e.oids.rsaEncryption)throw(n=new Error("Cannot read public key. Unknown OID.")).oid=i,n;e=t.rsaPublicKey}if(r=[],!Xe.validate(e,tt,t,r))throw(n=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.")).errors=r,n;var a=F.util.createBuffer(t.publicKeyModulus).toHex(),o=F.util.createBuffer(t.publicKeyExponent).toHex();return $e.setRsaPublicKey(new Qe(a,16),new Qe(o,16))},$e.publicKeyToAsn1=$e.publicKeyToSubjectPublicKeyInfo=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OID,!1,Xe.oidToDer($e.oids.rsaEncryption).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.NULL,!1,"")]),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.BITSTRING,!1,[$e.publicKeyToRSAPublicKey(e)])])},$e.publicKeyToRSAPublicKey=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.n)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.e))])},void 0===ht)var ht=F.jsbn.BigInteger;var gt=F.asn1,mt=F.pki=F.pki||{},yt=(mt.pbe=F.pbe=F.pbe||{},mt.oids),vt={name:"EncryptedPrivateKeyInfo",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},bt={name:"PBES2Algorithms",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:gt.Class.UNIVERSAL,type:gt.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:gt.Class.UNIVERSAL,type:gt.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Ct={name:"pkcs-12PbeParams",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:gt.Class.UNIVERSAL,type:gt.Type.INTEGER,constructed:!1,capture:"iterations"}]};function wt(e,t){return e.start().update(t).digest().getBytes()}function Et(e){var t;if(e){if(!(t=mt.oids[gt.derToOid(e)])){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}}else t="hmacWithSHA1";return kt(t)}function kt(e){var t=F.md;switch(e){case"hmacWithSHA224":t=F.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}mt.encryptPrivateKeyInfo=function(e,t,r){(r=r||{}).saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n,i,a,o=F.random.getBytesSync(r.saltSize),s=r.count,c=gt.integerToDer(s);if(0===r.algorithm.indexOf("aes")||"des"===r.algorithm){var u,l,d;switch(r.algorithm){case"aes128":n=16,u=16,l=yt["aes128-CBC"],d=F.aes.createEncryptionCipher;break;case"aes192":n=24,u=16,l=yt["aes192-CBC"],d=F.aes.createEncryptionCipher;break;case"aes256":n=32,u=16,l=yt["aes256-CBC"],d=F.aes.createEncryptionCipher;break;case"des":n=8,u=8,l=yt.desCBC,d=F.des.createEncryptionCipher;break;default:throw(y=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=r.algorithm,y}var f="hmacWith"+r.prfAlgorithm.toUpperCase(),p=kt(f),h=F.pkcs5.pbkdf2(t,o,s,n,p),g=F.random.getBytesSync(u);(v=d(h)).start(g),v.update(gt.toDer(e)),v.finish(),a=v.output.getBytes();var m=function(e,t,r,n){var i=gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,e),gt.create(gt.Class.UNIVERSAL,gt.Type.INTEGER,!1,t.getBytes())]);return"hmacWithSHA1"!==n&&i.value.push(gt.create(gt.Class.UNIVERSAL,gt.Type.INTEGER,!1,F.util.hexToBytes(r.toString(16))),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(mt.oids[n]).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.NULL,!1,"")])),i}(o,c,n,f);i=gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(yt.pkcs5PBES2).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(yt.pkcs5PBKDF2).getBytes()),m]),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(l).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,g)])])])}else{var y;if("3des"!==r.algorithm)throw(y=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=r.algorithm,y;n=24;var v,b=new F.util.ByteBuffer(o);h=mt.pbe.generatePkcs12Key(t,b,1,s,n),g=mt.pbe.generatePkcs12Key(t,b,2,s,n),(v=F.des.createEncryptionCipher(h)).start(g),v.update(gt.toDer(e)),v.finish(),a=v.output.getBytes(),i=gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(yt["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,o),gt.create(gt.Class.UNIVERSAL,gt.Type.INTEGER,!1,c.getBytes())])])}return gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[i,gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,a)])},mt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!gt.validate(e,vt,n,i)){var a=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw a.errors=i,a}var o=gt.derToOid(n.encryptionOid),s=mt.pbe.getCipher(o,n.encryptionParams,t),c=F.util.createBuffer(n.encryptedData);return s.update(c),s.finish()&&(r=gt.fromDer(s.output)),r},mt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:gt.toDer(e).getBytes()};return F.pem.encode(r,{maxline:t})},mt.encryptedPrivateKeyFromPem=function(e){var t=F.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==t.type){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return gt.fromDer(t.body)},mt.encryptRsaPrivateKey=function(e,t,r){if(!(r=r||{}).legacy){var n=mt.wrapRsaPrivateKey(mt.privateKeyToAsn1(e));return n=mt.encryptPrivateKeyInfo(n,t,r),mt.encryptedPrivateKeyToPem(n)}var i,a,o,s;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,a=F.random.getBytesSync(16),s=F.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,a=F.random.getBytesSync(16),s=F.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,a=F.random.getBytesSync(16),s=F.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,a=F.random.getBytesSync(8),s=F.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,a=F.random.getBytesSync(8),s=F.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=s(F.pbe.opensslDeriveBytes(t,a.substr(0,8),o));u.start(a),u.update(gt.toDer(mt.privateKeyToAsn1(e))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:F.util.bytesToHex(a).toUpperCase()},body:u.output.getBytes()};return F.pem.encode(l)},mt.decryptRsaPrivateKey=function(e,t){var r=null,n=F.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==n.type&&"PRIVATE KEY"!==n.type&&"RSA PRIVATE KEY"!==n.type)throw(o=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".')).headerType=o,o;if(n.procType&&"ENCRYPTED"===n.procType.type){var i,a;switch(n.dekInfo.algorithm){case"DES-CBC":i=8,a=F.des.createDecryptionCipher;break;case"DES-EDE3-CBC":i=24,a=F.des.createDecryptionCipher;break;case"AES-128-CBC":i=16,a=F.aes.createDecryptionCipher;break;case"AES-192-CBC":i=24,a=F.aes.createDecryptionCipher;break;case"AES-256-CBC":i=32,a=F.aes.createDecryptionCipher;break;case"RC2-40-CBC":i=5,a=function(e){return F.rc2.createDecryptionCipher(e,40)};break;case"RC2-64-CBC":i=8,a=function(e){return F.rc2.createDecryptionCipher(e,64)};break;case"RC2-128-CBC":i=16,a=function(e){return F.rc2.createDecryptionCipher(e,128)};break;default:var o;throw(o=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".')).algorithm=n.dekInfo.algorithm,o}var s=F.util.hexToBytes(n.dekInfo.parameters),c=a(F.pbe.opensslDeriveBytes(t,s.substr(0,8),i));if(c.start(s),c.update(F.util.createBuffer(n.body)),!c.finish())return r;r=c.output.getBytes()}else r=n.body;return null!==(r="ENCRYPTED PRIVATE KEY"===n.type?mt.decryptPrivateKeyInfo(gt.fromDer(r),t):gt.fromDer(r))&&(r=mt.privateKeyFromAsn1(r)),r},mt.pbe.generatePkcs12Key=function(e,t,r,n,i,a){var o,s;if(null==a){if(!("sha1"in F.md))throw new Error('"sha1" hash algorithm unavailable.');a=F.md.sha1.create()}var c=a.digestLength,u=a.blockLength,l=new F.util.ByteBuffer,d=new F.util.ByteBuffer;if(null!=e){for(s=0;s<e.length;s++)d.putInt16(e.charCodeAt(s));d.putInt16(0)}var f=d.length(),p=t.length(),h=new F.util.ByteBuffer;h.fillWithByte(r,u);var g=u*Math.ceil(p/u),m=new F.util.ByteBuffer;for(s=0;s<g;s++)m.putByte(t.at(s%p));var y=u*Math.ceil(f/u),v=new F.util.ByteBuffer;for(s=0;s<y;s++)v.putByte(d.at(s%f));var b=m;b.putBuffer(v);for(var C=Math.ceil(i/c),w=1;w<=C;w++){var E=new F.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(b.bytes());for(var k=0;k<n;k++)a.start(),a.update(E.getBytes()),E=a.digest();var S=new F.util.ByteBuffer;for(s=0;s<u;s++)S.putByte(E.at(s%c));var B=Math.ceil(p/u)+Math.ceil(f/u),T=new F.util.ByteBuffer;for(o=0;o<B;o++){var A=new F.util.ByteBuffer(b.getBytes(u)),I=511;for(s=S.length()-1;s>=0;s--)I>>=8,I+=S.at(s)+A.at(s),A.setAt(s,255&I);T.putBuffer(A)}b=T,l.putBuffer(E)}return l.truncate(l.length()-i),l},mt.pbe.getCipher=function(e,t,r){switch(e){case mt.oids.pkcs5PBES2:return mt.pbe.getCipherForPBES2(e,t,r);case mt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case mt.oids["pbewithSHAAnd40BitRC2-CBC"]:return mt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}},mt.pbe.getCipherForPBES2=function(e,t,r){var n,i={},a=[];if(!gt.validate(t,bt,i,a))throw(n=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=a,n;if((e=gt.derToOid(i.kdfOid))!==mt.oids.pkcs5PBKDF2)throw(n=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.")).oid=e,n.supportedOids=["pkcs5PBKDF2"],n;if((e=gt.derToOid(i.encOid))!==mt.oids["aes128-CBC"]&&e!==mt.oids["aes192-CBC"]&&e!==mt.oids["aes256-CBC"]&&e!==mt.oids["des-EDE3-CBC"]&&e!==mt.oids.desCBC)throw(n=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.")).oid=e,n.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],n;var o,s,c=i.kdfSalt,u=F.util.createBuffer(i.kdfIterationCount);switch(u=u.getInt(u.length()<<3),mt.oids[e]){case"aes128-CBC":o=16,s=F.aes.createDecryptionCipher;break;case"aes192-CBC":o=24,s=F.aes.createDecryptionCipher;break;case"aes256-CBC":o=32,s=F.aes.createDecryptionCipher;break;case"des-EDE3-CBC":o=24,s=F.des.createDecryptionCipher;break;case"desCBC":o=8,s=F.des.createDecryptionCipher}var l=Et(i.prfOid),d=F.pkcs5.pbkdf2(r,c,u,o,l),f=i.encIv,p=s(d);return p.start(f),p},mt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!gt.validate(t,Ct,n,i))throw(l=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=i,l;var a,o,s,c=F.util.createBuffer(n.salt),u=F.util.createBuffer(n.iterations);switch(u=u.getInt(u.length()<<3),e){case mt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:a=24,o=8,s=F.des.startDecrypting;break;case mt.oids["pbewithSHAAnd40BitRC2-CBC"]:a=5,o=8,s=function(e,t){var r=F.rc2.createDecryptionCipher(e,40);return r.start(t,null),r};break;default:var l;throw(l=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.")).oid=e,l}var d=Et(n.prfOid),f=mt.pbe.generatePkcs12Key(r,c,1,u,a,d);return d.start(),s(f,mt.pbe.generatePkcs12Key(r,c,2,u,o,d))},mt.pbe.opensslDeriveBytes=function(e,t,r,n){if(null==n){if(!("md5"in F.md))throw new Error('"md5" hash algorithm unavailable.');n=F.md.md5.create()}null===t&&(t="");for(var i=[wt(n,e+t)],a=16,o=1;a<r;++o,a+=16)i.push(wt(n,i[o-1]+e+t));return i.join("").substr(0,r)},w((function(e){var t=F.asn1,r=e.exports=F.pkcs7asn1=F.pkcs7asn1||{};F.pkcs7=F.pkcs7||{},F.pkcs7.asn1=r;var n={name:"ContentInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};r.contentInfoValidator=n;var i={name:"EncryptedContentInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:t.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};r.envelopedDataValidator={name:"EnvelopedData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(i)},r.encryptedDataValidator={name:"EncryptedData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"}].concat(i)};var a={name:"SignerInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:t.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};r.signedDataValidator={name:"SignedData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},n,{name:"SignedData.Certificates",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,capture:"signerInfos",optional:!0,value:[a]}]},r.recipientInfoValidator={name:"RecipientInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:t.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter"}]},{name:"RecipientInfo.encryptedKey",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}})),w((function(e){F.mgf=F.mgf||{},(e.exports=F.mgf.mgf1=F.mgf1=F.mgf1||{}).create=function(e){return{generate:function(t,r){for(var n=new F.util.ByteBuffer,i=Math.ceil(r/e.digestLength),a=0;a<i;a++){var o=new F.util.ByteBuffer;o.putInt32(a),e.start(),e.update(t+o.getBytes()),n.putBuffer(e.digest())}return n.truncate(n.length()-r),n.getBytes()}}}})),F.mgf=F.mgf||{},F.mgf.mgf1=F.mgf1,w((function(e){(e.exports=F.pss=F.pss||{}).create=function(e){3===arguments.length&&(e={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var t,r=e.md,n=e.mgf,i=r.digestLength,a=e.salt||null;if("string"==typeof a&&(a=F.util.createBuffer(a)),"saltLength"in e)t=e.saltLength;else{if(null===a)throw new Error("Salt length not specified or specific salt not given.");t=a.length()}if(null!==a&&a.length()!==t)throw new Error("Given salt length does not match length of given salt.");var o=e.prng||F.random;return{encode:function(e,s){var c,u,l=s-1,d=Math.ceil(l/8),f=e.digest().getBytes();if(d<i+t+2)throw new Error("Message is too long to encrypt.");u=null===a?o.getBytesSync(t):a.bytes();var p=new F.util.ByteBuffer;p.fillWithByte(0,8),p.putBytes(f),p.putBytes(u),r.start(),r.update(p.getBytes());var h=r.digest().getBytes(),g=new F.util.ByteBuffer;g.fillWithByte(0,d-t-i-2),g.putByte(1),g.putBytes(u);var m=g.getBytes(),y=d-i-1,v=n.generate(h,y),b="";for(c=0;c<y;c++)b+=String.fromCharCode(m.charCodeAt(c)^v.charCodeAt(c));var C=65280>>8*d-l&255;return(b=String.fromCharCode(b.charCodeAt(0)&~C)+b.substr(1))+h+String.fromCharCode(188)},verify:function(e,a,o){var s,c=o-1,u=Math.ceil(c/8);if(a=a.substr(-u),u<i+t+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(188!==a.charCodeAt(u-1))throw new Error("Encoded message does not end in 0xBC.");var l=u-i-1,d=a.substr(0,l),f=a.substr(l,i),p=65280>>8*u-c&255;if(0!=(d.charCodeAt(0)&p))throw new Error("Bits beyond keysize not zero as expected.");var h=n.generate(f,l),g="";for(s=0;s<l;s++)g+=String.fromCharCode(d.charCodeAt(s)^h.charCodeAt(s));g=String.fromCharCode(g.charCodeAt(0)&~p)+g.substr(1);var m=u-i-t-2;for(s=0;s<m;s++)if(0!==g.charCodeAt(s))throw new Error("Leftmost octets not zero as expected");if(1!==g.charCodeAt(m))throw new Error("Inconsistent PSS signature, 0x01 marker not found");var y=g.substr(-t),v=new F.util.ByteBuffer;return v.fillWithByte(0,8),v.putBytes(e),v.putBytes(y),r.start(),r.update(v.getBytes()),f===r.digest().getBytes()}}}})),w((function(e){var t=F.asn1,r=e.exports=F.pki=F.pki||{},n=r.oids,i={};i.CN=n.commonName,i.commonName="CN",i.C=n.countryName,i.countryName="C",i.L=n.localityName,i.localityName="L",i.ST=n.stateOrProvinceName,i.stateOrProvinceName="ST",i.O=n.organizationName,i.organizationName="O",i.OU=n.organizationalUnitName,i.organizationalUnitName="OU",i.E=n.emailAddress,i.emailAddress="E";var a=F.pki.rsa.publicKeyValidator,o={name:"Certificate",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:t.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:t.Class.UNIVERSAL,type:t.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:t.Class.UNIVERSAL,type:t.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:t.Class.UNIVERSAL,type:t.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:t.Class.UNIVERSAL,type:t.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},a,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:t.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:t.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:t.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},s={name:"rsapss",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:t.Class.UNIVERSAL,type:t.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:t.Class.UNIVERSAL,type:t.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:t.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:t.Class.UNIVERSAL,type:t.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:t.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:t.Class.UNIVERSAL,type:t.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},c={name:"CertificationRequestInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},a,{name:"CertificationRequestInfo.attributes",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0}]}]}]},u={name:"CertificationRequest",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[c,{name:"CertificationRequest.signatureAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:t.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};function l(e,t){"string"==typeof t&&(t={shortName:t});for(var r,n=null,i=0;null===n&&i<e.attributes.length;++i)r=e.attributes[i],(t.type&&t.type===r.type||t.name&&t.name===r.name||t.shortName&&t.shortName===r.shortName)&&(n=r);return n}r.RDNAttributesAsArray=function(e,r){for(var a,o,s,c=[],u=0;u<e.value.length;++u){a=e.value[u];for(var l=0;l<a.value.length;++l)s={},o=a.value[l],s.type=t.derToOid(o.value[0].value),s.value=o.value[1].value,s.valueTagClass=o.value[1].type,s.type in n&&(s.name=n[s.type],s.name in i&&(s.shortName=i[s.name])),r&&(r.update(s.type),r.update(s.value)),c.push(s)}return c},r.CRIAttributesAsArray=function(e){for(var a=[],o=0;o<e.length;++o)for(var s=e[o],c=t.derToOid(s.value[0].value),u=s.value[1].value,l=0;l<u.length;++l){var d={};if(d.type=c,d.value=u[l].value,d.valueTagClass=u[l].type,d.type in n&&(d.name=n[d.type],d.name in i&&(d.shortName=i[d.name])),d.type===n.extensionRequest){d.extensions=[];for(var f=0;f<d.value.length;++f)d.extensions.push(r.certificateExtensionFromAsn1(d.value[f]))}a.push(d)}return a};var d=function(e,r,i){var a={};if(e!==n["RSASSA-PSS"])return a;i&&(a={hash:{algorithmOid:n.sha1},mgf:{algorithmOid:n.mgf1,hash:{algorithmOid:n.sha1}},saltLength:20});var o={},c=[];if(!t.validate(r,s,o,c)){var u=new Error("Cannot read RSASSA-PSS parameter block.");throw u.errors=c,u}return void 0!==o.hashOid&&(a.hash=a.hash||{},a.hash.algorithmOid=t.derToOid(o.hashOid)),void 0!==o.maskGenOid&&(a.mgf=a.mgf||{},a.mgf.algorithmOid=t.derToOid(o.maskGenOid),a.mgf.hash=a.mgf.hash||{},a.mgf.hash.algorithmOid=t.derToOid(o.maskGenHashOid)),void 0!==o.saltLength&&(a.saltLength=o.saltLength.charCodeAt(0)),a};function f(e){for(var r,n,i=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),a=e.attributes,o=0;o<a.length;++o){var s=(r=a[o]).value,c=t.Type.PRINTABLESTRING;"valueTagClass"in r&&(c=r.valueTagClass)===t.Type.UTF8&&(s=F.util.encodeUtf8(s)),n=t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.type).getBytes()),t.create(t.Class.UNIVERSAL,c,!1,s)])]),i.value.push(n)}return i}function p(e){for(var a,o=0;o<e.length;++o){if(void 0===(a=e[o]).name&&(a.type&&a.type in r.oids?a.name=r.oids[a.type]:a.shortName&&a.shortName in i&&(a.name=r.oids[i[a.shortName]])),void 0===a.type){if(!a.name||!(a.name in r.oids))throw(c=new Error("Attribute type not specified.")).attribute=a,c;a.type=r.oids[a.name]}if(void 0===a.shortName&&a.name&&a.name in i&&(a.shortName=i[a.name]),a.type===n.extensionRequest&&(a.valueConstructed=!0,a.valueTagClass=t.Type.SEQUENCE,!a.value&&a.extensions)){a.value=[];for(var s=0;s<a.extensions.length;++s)a.value.push(r.certificateExtensionToAsn1(h(a.extensions[s])))}var c;if(void 0===a.value)throw(c=new Error("Attribute value not specified.")).attribute=a,c}}function h(e,i){if(i=i||{},void 0===e.name&&e.id&&e.id in r.oids&&(e.name=r.oids[e.id]),void 0===e.id){if(!e.name||!(e.name in r.oids))throw(C=new Error("Extension ID not specified.")).extension=e,C;e.id=r.oids[e.name]}if(void 0!==e.value)return e;if("keyUsage"===e.name){var a=0,o=0,s=0;e.digitalSignature&&(o|=128,a=7),e.nonRepudiation&&(o|=64,a=6),e.keyEncipherment&&(o|=32,a=5),e.dataEncipherment&&(o|=16,a=4),e.keyAgreement&&(o|=8,a=3),e.keyCertSign&&(o|=4,a=2),e.cRLSign&&(o|=2,a=1),e.encipherOnly&&(o|=1,a=0),e.decipherOnly&&(s|=128,a=7);var c=String.fromCharCode(a);0!==s?c+=String.fromCharCode(o)+String.fromCharCode(s):0!==o&&(c+=String.fromCharCode(o)),e.value=t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,c)}else if("basicConstraints"===e.name)e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),e.cA&&e.value.value.push(t.create(t.Class.UNIVERSAL,t.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in e&&e.value.value.push(t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.pathLenConstraint).getBytes()));else if("extKeyUsage"===e.name){e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);var u=e.value.value;for(var l in e)!0===e[l]&&(l in n?u.push(t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(n[l]).getBytes())):-1!==l.indexOf(".")&&u.push(t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(l).getBytes())))}else if("nsCertType"===e.name)a=0,o=0,e.client&&(o|=128,a=7),e.server&&(o|=64,a=6),e.email&&(o|=32,a=5),e.objsign&&(o|=16,a=4),e.reserved&&(o|=8,a=3),e.sslCA&&(o|=4,a=2),e.emailCA&&(o|=2,a=1),e.objCA&&(o|=1,a=0),c=String.fromCharCode(a),0!==o&&(c+=String.fromCharCode(o)),e.value=t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,c);else if("subjectAltName"===e.name||"issuerAltName"===e.name){e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);for(var d=0;d<e.altNames.length;++d){if(c=(y=e.altNames[d]).value,7===y.type&&y.ip){if(null===(c=F.util.bytesFromIP(y.ip)))throw(C=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,C}else 8===y.type&&(c=y.oid?t.oidToDer(t.oidToDer(y.oid)):t.oidToDer(c));e.value.value.push(t.create(t.Class.CONTEXT_SPECIFIC,y.type,!1,c))}}else if("nsComment"===e.name&&i.cert){if(!/^[\x00-\x7F]*$/.test(e.comment)||e.comment.length<1||e.comment.length>128)throw new Error('Invalid "nsComment" content.');e.value=t.create(t.Class.UNIVERSAL,t.Type.IA5STRING,!1,e.comment)}else if("subjectKeyIdentifier"===e.name&&i.cert){var p=i.cert.generateSubjectKeyIdentifier();e.subjectKeyIdentifier=p.toHex(),e.value=t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,p.getBytes())}else if("authorityKeyIdentifier"===e.name&&i.cert){if(e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),u=e.value.value,e.keyIdentifier){var h=!0===e.keyIdentifier?i.cert.generateSubjectKeyIdentifier().getBytes():e.keyIdentifier;u.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!1,h))}if(e.authorityCertIssuer){var g=[t.create(t.Class.CONTEXT_SPECIFIC,4,!0,[f(!0===e.authorityCertIssuer?i.cert.issuer:e.authorityCertIssuer)])];u.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,g))}if(e.serialNumber){var m=F.util.hexToBytes(!0===e.serialNumber?i.cert.serialNumber:e.serialNumber);u.push(t.create(t.Class.CONTEXT_SPECIFIC,2,!1,m))}}else if("cRLDistributionPoints"===e.name){e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),u=e.value.value;var y,v=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),b=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[]);for(d=0;d<e.altNames.length;++d){if(c=(y=e.altNames[d]).value,7===y.type&&y.ip){if(null===(c=F.util.bytesFromIP(y.ip)))throw(C=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,C}else 8===y.type&&(c=y.oid?t.oidToDer(t.oidToDer(y.oid)):t.oidToDer(c));b.value.push(t.create(t.Class.CONTEXT_SPECIFIC,y.type,!1,c))}v.value.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[b])),u.push(v)}var C;if(void 0===e.value)throw(C=new Error("Extension value not specified.")).extension=e,C;return e}function g(e,r){switch(e){case n["RSASSA-PSS"]:var i=[];return void 0!==r.hash.algorithmOid&&i.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.hash.algorithmOid).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])])),void 0!==r.mgf.algorithmOid&&i.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.mgf.algorithmOid).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.mgf.hash.algorithmOid).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])])])),void 0!==r.saltLength&&i.push(t.create(t.Class.CONTEXT_SPECIFIC,2,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(r.saltLength).getBytes())])),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,i);default:return t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")}}function m(e){var r=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[]);if(0===e.attributes.length)return r;for(var n=e.attributes,i=0;i<n.length;++i){var a=n[i],o=a.value,s=t.Type.UTF8;"valueTagClass"in a&&(s=a.valueTagClass),s===t.Type.UTF8&&(o=F.util.encodeUtf8(o));var c=!1;"valueConstructed"in a&&(c=a.valueConstructed);var u=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(a.type).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,s,c,o)])]);r.value.push(u)}return r}r.certificateFromPem=function(e,n,i){var a=F.pem.decode(e)[0];if("CERTIFICATE"!==a.type&&"X509 CERTIFICATE"!==a.type&&"TRUSTED CERTIFICATE"!==a.type){var o=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw o.headerType=a.type,o}if(a.procType&&"ENCRYPTED"===a.procType.type)throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var s=t.fromDer(a.body,i);return r.certificateFromAsn1(s,n)},r.certificateToPem=function(e,n){var i={type:"CERTIFICATE",body:t.toDer(r.certificateToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.publicKeyFromPem=function(e){var n=F.pem.decode(e)[0];if("PUBLIC KEY"!==n.type&&"RSA PUBLIC KEY"!==n.type){var i=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw i.headerType=n.type,i}if(n.procType&&"ENCRYPTED"===n.procType.type)throw new Error("Could not convert public key from PEM; PEM is encrypted.");var a=t.fromDer(n.body);return r.publicKeyFromAsn1(a)},r.publicKeyToPem=function(e,n){var i={type:"PUBLIC KEY",body:t.toDer(r.publicKeyToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.publicKeyToRSAPublicKeyPem=function(e,n){var i={type:"RSA PUBLIC KEY",body:t.toDer(r.publicKeyToRSAPublicKey(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.getPublicKeyFingerprint=function(e,n){var i,a=(n=n||{}).md||F.md.sha1.create();switch(n.type||"RSAPublicKey"){case"RSAPublicKey":i=t.toDer(r.publicKeyToRSAPublicKey(e)).getBytes();break;case"SubjectPublicKeyInfo":i=t.toDer(r.publicKeyToAsn1(e)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+n.type+'".')}a.start(),a.update(i);var o=a.digest();if("hex"===n.encoding){var s=o.toHex();return n.delimiter?s.match(/.{2}/g).join(n.delimiter):s}if("binary"===n.encoding)return o.getBytes();if(n.encoding)throw new Error('Unknown encoding "'+n.encoding+'".');return o},r.certificationRequestFromPem=function(e,n,i){var a=F.pem.decode(e)[0];if("CERTIFICATE REQUEST"!==a.type){var o=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw o.headerType=a.type,o}if(a.procType&&"ENCRYPTED"===a.procType.type)throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var s=t.fromDer(a.body,i);return r.certificationRequestFromAsn1(s,n)},r.certificationRequestToPem=function(e,n){var i={type:"CERTIFICATE REQUEST",body:t.toDer(r.certificationRequestToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.createCertificate=function(){var e={version:2,serialNumber:"00",signatureOid:null,signature:null,siginfo:{}};return e.siginfo.algorithmOid=null,e.validity={},e.validity.notBefore=new Date,e.validity.notAfter=new Date,e.issuer={},e.issuer.getField=function(t){return l(e.issuer,t)},e.issuer.addField=function(t){p([t]),e.issuer.attributes.push(t)},e.issuer.attributes=[],e.issuer.hash=null,e.subject={},e.subject.getField=function(t){return l(e.subject,t)},e.subject.addField=function(t){p([t]),e.subject.attributes.push(t)},e.subject.attributes=[],e.subject.hash=null,e.extensions=[],e.publicKey=null,e.md=null,e.setSubject=function(t,r){p(t),e.subject.attributes=t,delete e.subject.uniqueId,r&&(e.subject.uniqueId=r),e.subject.hash=null},e.setIssuer=function(t,r){p(t),e.issuer.attributes=t,delete e.issuer.uniqueId,r&&(e.issuer.uniqueId=r),e.issuer.hash=null},e.setExtensions=function(t){for(var r=0;r<t.length;++r)h(t[r],{cert:e});e.extensions=t},e.getExtension=function(t){"string"==typeof t&&(t={name:t});for(var r,n=null,i=0;null===n&&i<e.extensions.length;++i)r=e.extensions[i],(t.id&&r.id===t.id||t.name&&r.name===t.name)&&(n=r);return n},e.sign=function(i,a){e.md=a||F.md.sha1.create();var o=n[e.md.algorithm+"WithRSAEncryption"];if(!o){var s=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw s.algorithm=e.md.algorithm,s}e.signatureOid=e.siginfo.algorithmOid=o,e.tbsCertificate=r.getTBSCertificate(e);var c=t.toDer(e.tbsCertificate);e.md.update(c.getBytes()),e.signature=i.sign(e.md)},e.verify=function(i){var a=!1;if(!e.issued(i)){var o=i.issuer,s=e.subject;throw(h=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.")).expectedIssuer=o.attributes,h.actualIssuer=s.attributes,h}var c=i.md;if(null===c){if(i.signatureOid in n)switch(n[i.signatureOid]){case"sha1WithRSAEncryption":c=F.md.sha1.create();break;case"md5WithRSAEncryption":c=F.md.md5.create();break;case"sha256WithRSAEncryption":c=F.md.sha256.create();break;case"sha384WithRSAEncryption":c=F.md.sha384.create();break;case"sha512WithRSAEncryption":c=F.md.sha512.create();break;case"RSASSA-PSS":c=F.md.sha256.create()}if(null===c)throw(h=new Error("Could not compute certificate digest. Unknown signature OID.")).signatureOid=i.signatureOid,h;var u=i.tbsCertificate||r.getTBSCertificate(i),l=t.toDer(u);c.update(l.getBytes())}if(null!==c){var d;switch(i.signatureOid){case n.sha1WithRSAEncryption:d=void 0;break;case n["RSASSA-PSS"]:var f,p,h;if(void 0===(f=n[i.signatureParameters.mgf.hash.algorithmOid])||void 0===F.md[f])throw(h=new Error("Unsupported MGF hash function.")).oid=i.signatureParameters.mgf.hash.algorithmOid,h.name=f,h;if(void 0===(p=n[i.signatureParameters.mgf.algorithmOid])||void 0===F.mgf[p])throw(h=new Error("Unsupported MGF function.")).oid=i.signatureParameters.mgf.algorithmOid,h.name=p,h;if(p=F.mgf[p].create(F.md[f].create()),void 0===(f=n[i.signatureParameters.hash.algorithmOid])||void 0===F.md[f])throw{message:"Unsupported RSASSA-PSS hash function.",oid:i.signatureParameters.hash.algorithmOid,name:f};d=F.pss.create(F.md[f].create(),p,i.signatureParameters.saltLength)}a=e.publicKey.verify(c.digest().getBytes(),i.signature,d)}return a},e.isIssuer=function(t){var r=!1,n=e.issuer,i=t.subject;if(n.hash&&i.hash)r=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){var a,o;r=!0;for(var s=0;r&&s<n.attributes.length;++s)a=n.attributes[s],o=i.attributes[s],a.type===o.type&&a.value===o.value||(r=!1)}return r},e.issued=function(t){return t.isIssuer(e)},e.generateSubjectKeyIdentifier=function(){return r.getPublicKeyFingerprint(e.publicKey,{type:"RSAPublicKey"})},e.verifySubjectKeyIdentifier=function(){for(var t=n.subjectKeyIdentifier,r=0;r<e.extensions.length;++r){var i=e.extensions[r];if(i.id===t){var a=e.generateSubjectKeyIdentifier().getBytes();return F.util.hexToBytes(i.subjectKeyIdentifier)===a}}return!1},e},r.certificateFromAsn1=function(e,i){var a={},s=[];if(!t.validate(e,o,a,s))throw(h=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.")).errors=s,h;if(t.derToOid(a.publicKeyOid)!==r.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var c=r.createCertificate();c.version=a.certVersion?a.certVersion.charCodeAt(0):0;var u=F.util.createBuffer(a.certSerialNumber);c.serialNumber=u.toHex(),c.signatureOid=F.asn1.derToOid(a.certSignatureOid),c.signatureParameters=d(c.signatureOid,a.certSignatureParams,!0),c.siginfo.algorithmOid=F.asn1.derToOid(a.certinfoSignatureOid),c.siginfo.parameters=d(c.siginfo.algorithmOid,a.certinfoSignatureParams,!1),c.signature=a.certSignature;var f=[];if(void 0!==a.certValidity1UTCTime&&f.push(t.utcTimeToDate(a.certValidity1UTCTime)),void 0!==a.certValidity2GeneralizedTime&&f.push(t.generalizedTimeToDate(a.certValidity2GeneralizedTime)),void 0!==a.certValidity3UTCTime&&f.push(t.utcTimeToDate(a.certValidity3UTCTime)),void 0!==a.certValidity4GeneralizedTime&&f.push(t.generalizedTimeToDate(a.certValidity4GeneralizedTime)),f.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(f.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(c.validity.notBefore=f[0],c.validity.notAfter=f[1],c.tbsCertificate=a.tbsCertificate,i){var h;if(c.md=null,c.signatureOid in n)switch(n[c.signatureOid]){case"sha1WithRSAEncryption":c.md=F.md.sha1.create();break;case"md5WithRSAEncryption":c.md=F.md.md5.create();break;case"sha256WithRSAEncryption":c.md=F.md.sha256.create();break;case"sha384WithRSAEncryption":c.md=F.md.sha384.create();break;case"sha512WithRSAEncryption":c.md=F.md.sha512.create();break;case"RSASSA-PSS":c.md=F.md.sha256.create()}if(null===c.md)throw(h=new Error("Could not compute certificate digest. Unknown signature OID.")).signatureOid=c.signatureOid,h;var g=t.toDer(c.tbsCertificate);c.md.update(g.getBytes())}var m=F.md.sha1.create();c.issuer.getField=function(e){return l(c.issuer,e)},c.issuer.addField=function(e){p([e]),c.issuer.attributes.push(e)},c.issuer.attributes=r.RDNAttributesAsArray(a.certIssuer,m),a.certIssuerUniqueId&&(c.issuer.uniqueId=a.certIssuerUniqueId),c.issuer.hash=m.digest().toHex();var y=F.md.sha1.create();return c.subject.getField=function(e){return l(c.subject,e)},c.subject.addField=function(e){p([e]),c.subject.attributes.push(e)},c.subject.attributes=r.RDNAttributesAsArray(a.certSubject,y),a.certSubjectUniqueId&&(c.subject.uniqueId=a.certSubjectUniqueId),c.subject.hash=y.digest().toHex(),a.certExtensions?c.extensions=r.certificateExtensionsFromAsn1(a.certExtensions):c.extensions=[],c.publicKey=r.publicKeyFromAsn1(a.subjectPublicKeyInfo),c},r.certificateExtensionsFromAsn1=function(e){for(var t=[],n=0;n<e.value.length;++n)for(var i=e.value[n],a=0;a<i.value.length;++a)t.push(r.certificateExtensionFromAsn1(i.value[a]));return t},r.certificateExtensionFromAsn1=function(e){var r={};if(r.id=t.derToOid(e.value[0].value),r.critical=!1,e.value[1].type===t.Type.BOOLEAN?(r.critical=0!==e.value[1].value.charCodeAt(0),r.value=e.value[2].value):r.value=e.value[1].value,r.id in n)if(r.name=n[r.id],"keyUsage"===r.name){var i=0,a=0;(s=t.fromDer(r.value)).value.length>1&&(i=s.value.charCodeAt(1),a=s.value.length>2?s.value.charCodeAt(2):0),r.digitalSignature=128==(128&i),r.nonRepudiation=64==(64&i),r.keyEncipherment=32==(32&i),r.dataEncipherment=16==(16&i),r.keyAgreement=8==(8&i),r.keyCertSign=4==(4&i),r.cRLSign=2==(2&i),r.encipherOnly=1==(1&i),r.decipherOnly=128==(128&a)}else if("basicConstraints"===r.name){(s=t.fromDer(r.value)).value.length>0&&s.value[0].type===t.Type.BOOLEAN?r.cA=0!==s.value[0].value.charCodeAt(0):r.cA=!1;var o=null;s.value.length>0&&s.value[0].type===t.Type.INTEGER?o=s.value[0].value:s.value.length>1&&(o=s.value[1].value),null!==o&&(r.pathLenConstraint=t.derToInteger(o))}else if("extKeyUsage"===r.name)for(var s=t.fromDer(r.value),c=0;c<s.value.length;++c){var u=t.derToOid(s.value[c].value);u in n?r[n[u]]=!0:r[u]=!0}else if("nsCertType"===r.name)i=0,(s=t.fromDer(r.value)).value.length>1&&(i=s.value.charCodeAt(1)),r.client=128==(128&i),r.server=64==(64&i),r.email=32==(32&i),r.objsign=16==(16&i),r.reserved=8==(8&i),r.sslCA=4==(4&i),r.emailCA=2==(2&i),r.objCA=1==(1&i);else if("subjectAltName"===r.name||"issuerAltName"===r.name){var l;r.altNames=[],s=t.fromDer(r.value);for(var d=0;d<s.value.length;++d){var f={type:(l=s.value[d]).type,value:l.value};switch(r.altNames.push(f),l.type){case 1:case 2:case 6:break;case 7:f.ip=F.util.bytesToIP(l.value);break;case 8:f.oid=t.derToOid(l.value)}}}else"subjectKeyIdentifier"===r.name&&(s=t.fromDer(r.value),r.subjectKeyIdentifier=F.util.bytesToHex(s.value));return r},r.certificationRequestFromAsn1=function(e,i){var a={},o=[];if(!t.validate(e,u,a,o))throw(c=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.")).errors=o,c;if(t.derToOid(a.publicKeyOid)!==r.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var s=r.createCertificationRequest();if(s.version=a.csrVersion?a.csrVersion.charCodeAt(0):0,s.signatureOid=F.asn1.derToOid(a.csrSignatureOid),s.signatureParameters=d(s.signatureOid,a.csrSignatureParams,!0),s.siginfo.algorithmOid=F.asn1.derToOid(a.csrSignatureOid),s.siginfo.parameters=d(s.siginfo.algorithmOid,a.csrSignatureParams,!1),s.signature=a.csrSignature,s.certificationRequestInfo=a.certificationRequestInfo,i){var c;if(s.md=null,s.signatureOid in n)switch(n[s.signatureOid]){case"sha1WithRSAEncryption":s.md=F.md.sha1.create();break;case"md5WithRSAEncryption":s.md=F.md.md5.create();break;case"sha256WithRSAEncryption":s.md=F.md.sha256.create();break;case"sha384WithRSAEncryption":s.md=F.md.sha384.create();break;case"sha512WithRSAEncryption":s.md=F.md.sha512.create();break;case"RSASSA-PSS":s.md=F.md.sha256.create()}if(null===s.md)throw(c=new Error("Could not compute certification request digest. Unknown signature OID.")).signatureOid=s.signatureOid,c;var f=t.toDer(s.certificationRequestInfo);s.md.update(f.getBytes())}var h=F.md.sha1.create();return s.subject.getField=function(e){return l(s.subject,e)},s.subject.addField=function(e){p([e]),s.subject.attributes.push(e)},s.subject.attributes=r.RDNAttributesAsArray(a.certificationRequestInfoSubject,h),s.subject.hash=h.digest().toHex(),s.publicKey=r.publicKeyFromAsn1(a.subjectPublicKeyInfo),s.getAttribute=function(e){return l(s,e)},s.addAttribute=function(e){p([e]),s.attributes.push(e)},s.attributes=r.CRIAttributesAsArray(a.certificationRequestInfoAttributes||[]),s},r.createCertificationRequest=function(){var e={version:0,signatureOid:null,signature:null,siginfo:{}};return e.siginfo.algorithmOid=null,e.subject={},e.subject.getField=function(t){return l(e.subject,t)},e.subject.addField=function(t){p([t]),e.subject.attributes.push(t)},e.subject.attributes=[],e.subject.hash=null,e.publicKey=null,e.attributes=[],e.getAttribute=function(t){return l(e,t)},e.addAttribute=function(t){p([t]),e.attributes.push(t)},e.md=null,e.setSubject=function(t){p(t),e.subject.attributes=t,e.subject.hash=null},e.setAttributes=function(t){p(t),e.attributes=t},e.sign=function(i,a){e.md=a||F.md.sha1.create();var o=n[e.md.algorithm+"WithRSAEncryption"];if(!o){var s=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw s.algorithm=e.md.algorithm,s}e.signatureOid=e.siginfo.algorithmOid=o,e.certificationRequestInfo=r.getCertificationRequestInfo(e);var c=t.toDer(e.certificationRequestInfo);e.md.update(c.getBytes()),e.signature=i.sign(e.md)},e.verify=function(){var i=!1,a=e.md;if(null===a){if(e.signatureOid in n)switch(n[e.signatureOid]){case"sha1WithRSAEncryption":a=F.md.sha1.create();break;case"md5WithRSAEncryption":a=F.md.md5.create();break;case"sha256WithRSAEncryption":a=F.md.sha256.create();break;case"sha384WithRSAEncryption":a=F.md.sha384.create();break;case"sha512WithRSAEncryption":a=F.md.sha512.create();break;case"RSASSA-PSS":a=F.md.sha256.create()}if(null===a)throw(d=new Error("Could not compute certification request digest. Unknown signature OID.")).signatureOid=e.signatureOid,d;var o=e.certificationRequestInfo||r.getCertificationRequestInfo(e),s=t.toDer(o);a.update(s.getBytes())}if(null!==a){var c;switch(e.signatureOid){case n.sha1WithRSAEncryption:break;case n["RSASSA-PSS"]:var u,l,d;if(void 0===(u=n[e.signatureParameters.mgf.hash.algorithmOid])||void 0===F.md[u])throw(d=new Error("Unsupported MGF hash function.")).oid=e.signatureParameters.mgf.hash.algorithmOid,d.name=u,d;if(void 0===(l=n[e.signatureParameters.mgf.algorithmOid])||void 0===F.mgf[l])throw(d=new Error("Unsupported MGF function.")).oid=e.signatureParameters.mgf.algorithmOid,d.name=l,d;if(l=F.mgf[l].create(F.md[u].create()),void 0===(u=n[e.signatureParameters.hash.algorithmOid])||void 0===F.md[u])throw(d=new Error("Unsupported RSASSA-PSS hash function.")).oid=e.signatureParameters.hash.algorithmOid,d.name=u,d;c=F.pss.create(F.md[u].create(),l,e.signatureParameters.saltLength)}i=e.publicKey.verify(a.digest().getBytes(),e.signature,c)}return i},e};var y=new Date("1950-01-01T00:00:00Z"),v=new Date("2050-01-01T00:00:00Z");function b(e){return e>=y&&e<v?t.create(t.Class.UNIVERSAL,t.Type.UTCTIME,!1,t.dateToUtcTime(e)):t.create(t.Class.UNIVERSAL,t.Type.GENERALIZEDTIME,!1,t.dateToGeneralizedTime(e))}r.getTBSCertificate=function(e){var n=b(e.validity.notBefore),i=b(e.validity.notAfter),a=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes())]),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,F.util.hexToBytes(e.serialNumber)),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.siginfo.algorithmOid).getBytes()),g(e.siginfo.algorithmOid,e.siginfo.parameters)]),f(e.issuer),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[n,i]),f(e.subject),r.publicKeyToAsn1(e.publicKey)]);return e.issuer.uniqueId&&a.value.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,[t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.issuer.uniqueId)])),e.subject.uniqueId&&a.value.push(t.create(t.Class.CONTEXT_SPECIFIC,2,!0,[t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.subject.uniqueId)])),e.extensions.length>0&&a.value.push(r.certificateExtensionsToAsn1(e.extensions)),a},r.getCertificationRequestInfo=function(e){return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),f(e.subject),r.publicKeyToAsn1(e.publicKey),m(e)])},r.distinguishedNameToAsn1=function(e){return f(e)},r.certificateToAsn1=function(e){var n=e.tbsCertificate||r.getTBSCertificate(e);return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[n,t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.signatureOid).getBytes()),g(e.signatureOid,e.signatureParameters)]),t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},r.certificateExtensionsToAsn1=function(e){var n=t.create(t.Class.CONTEXT_SPECIFIC,3,!0,[]),i=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);n.value.push(i);for(var a=0;a<e.length;++a)i.value.push(r.certificateExtensionToAsn1(e[a]));return n},r.certificateExtensionToAsn1=function(e){var r=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);r.value.push(t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.id).getBytes())),e.critical&&r.value.push(t.create(t.Class.UNIVERSAL,t.Type.BOOLEAN,!1,String.fromCharCode(255)));var n=e.value;return"string"!=typeof e.value&&(n=t.toDer(n).getBytes()),r.value.push(t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,n)),r},r.certificationRequestToAsn1=function(e){var n=e.certificationRequestInfo||r.getCertificationRequestInfo(e);return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[n,t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.signatureOid).getBytes()),g(e.signatureOid,e.signatureParameters)]),t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},r.createCaStore=function(e){var n={certs:{}};function i(e){return a(e),n.certs[e.hash]||null}function a(e){if(!e.hash){var t=F.md.sha1.create();e.attributes=r.RDNAttributesAsArray(f(e),t),e.hash=t.digest().toHex()}}if(n.getIssuer=function(e){return i(e.issuer)},n.addCertificate=function(e){if("string"==typeof e&&(e=F.pki.certificateFromPem(e)),a(e.subject),!n.hasCertificate(e))if(e.subject.hash in n.certs){var t=n.certs[e.subject.hash];F.util.isArray(t)||(t=[t]),t.push(e),n.certs[e.subject.hash]=t}else n.certs[e.subject.hash]=e},n.hasCertificate=function(e){"string"==typeof e&&(e=F.pki.certificateFromPem(e));var n=i(e.subject);if(!n)return!1;F.util.isArray(n)||(n=[n]);for(var a=t.toDer(r.certificateToAsn1(e)).getBytes(),o=0;o<n.length;++o)if(a===t.toDer(r.certificateToAsn1(n[o])).getBytes())return!0;return!1},n.listAllCertificates=function(){var e=[];for(var t in n.certs)if(n.certs.hasOwnProperty(t)){var r=n.certs[t];if(F.util.isArray(r))for(var i=0;i<r.length;++i)e.push(r[i]);else e.push(r)}return e},n.removeCertificate=function(e){var o;if("string"==typeof e&&(e=F.pki.certificateFromPem(e)),a(e.subject),!n.hasCertificate(e))return null;var s=i(e.subject);if(!F.util.isArray(s))return o=n.certs[e.subject.hash],delete n.certs[e.subject.hash],o;for(var c=t.toDer(r.certificateToAsn1(e)).getBytes(),u=0;u<s.length;++u)c===t.toDer(r.certificateToAsn1(s[u])).getBytes()&&(o=s[u],s.splice(u,1));return 0===s.length&&delete n.certs[e.subject.hash],o},e)for(var o=0;o<e.length;++o){var s=e[o];n.addCertificate(s)}return n},r.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"},r.verifyCertificateChain=function(e,t,n){"function"==typeof n&&(n={verify:n}),n=n||{};var i=(t=t.slice(0)).slice(0),a=n.validityCheckDate;void 0===a&&(a=new Date);var o=!0,s=null,c=0;do{var u=t.shift(),l=null,d=!1;if(a&&(a<u.validity.notBefore||a>u.validity.notAfter)&&(s={message:"Certificate is not valid yet or has expired.",error:r.certificateError.certificate_expired,notBefore:u.validity.notBefore,notAfter:u.validity.notAfter,now:a}),null===s){if(null===(l=t[0]||e.getIssuer(u))&&u.isIssuer(u)&&(d=!0,l=u),l){var f=l;F.util.isArray(f)||(f=[f]);for(var p=!1;!p&&f.length>0;){l=f.shift();try{p=l.verify(u)}catch(e){}}p||(s={message:"Certificate signature is invalid.",error:r.certificateError.bad_certificate})}null!==s||l&&!d||e.hasCertificate(u)||(s={message:"Certificate is not trusted.",error:r.certificateError.unknown_ca})}if(null===s&&l&&!u.isIssuer(l)&&(s={message:"Certificate issuer is invalid.",error:r.certificateError.bad_certificate}),null===s)for(var h={keyUsage:!0,basicConstraints:!0},g=0;null===s&&g<u.extensions.length;++g){var m=u.extensions[g];!m.critical||m.name in h||(s={message:"Certificate has an unsupported critical extension.",error:r.certificateError.unsupported_certificate})}if(null===s&&(!o||0===t.length&&(!l||d))){var y=u.getExtension("basicConstraints"),v=u.getExtension("keyUsage");null!==v&&(v.keyCertSign&&null!==y||(s={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:r.certificateError.bad_certificate})),null!==s||null===y||y.cA||(s={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:r.certificateError.bad_certificate}),null===s&&null!==v&&"pathLenConstraint"in y&&c-1>y.pathLenConstraint&&(s={message:"Certificate basicConstraints pathLenConstraint violated.",error:r.certificateError.bad_certificate})}var b=null===s||s.error,C=n.verify?n.verify(b,c,i):b;if(!0!==C)throw!0===b&&(s={message:"The application rejected the certificate.",error:r.certificateError.bad_certificate}),(C||0===C)&&("object"!=typeof C||F.util.isArray(C)?"string"==typeof C&&(s.error=C):(C.message&&(s.message=C.message),C.error&&(s.error=C.error))),s;s=null,o=!1,++c}while(t.length>0);return!0}})),w((function(e){var t=F.asn1,r=F.pki,n=e.exports=F.pkcs12=F.pkcs12||{},i={name:"ContentInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.contentType",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:t.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"content"}]},a={name:"PFX",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},i,{name:"PFX.macData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"mac",value:[{name:"PFX.macData.mac",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"macAlgorithm"},{name:"PFX.macData.mac.digestAlgorithm.parameters",tagClass:t.Class.UNIVERSAL,captureAsn1:"macAlgorithmParameters"}]},{name:"PFX.macData.mac.digest",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"macDigest"}]},{name:"PFX.macData.macSalt",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"macSalt"},{name:"PFX.macData.iterations",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,optional:!0,capture:"macIterations"}]}]},o={name:"SafeBag",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SafeBag.bagId",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"bagId"},{name:"SafeBag.bagValue",tagClass:t.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"bagValue"},{name:"SafeBag.bagAttributes",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,optional:!0,capture:"bagAttributes"}]},s={name:"Attribute",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Attribute.attrId",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"oid"},{name:"Attribute.attrValues",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,capture:"values"}]},c={name:"CertBag",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"CertBag.certId",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"certId"},{name:"CertBag.certValue",tagClass:t.Class.CONTEXT_SPECIFIC,constructed:!0,value:[{name:"CertBag.certValue[0]",tagClass:t.Class.UNIVERSAL,type:t.Class.OCTETSTRING,constructed:!1,capture:"cert"}]}]};function u(e,t,r,n){for(var i=[],a=0;a<e.length;a++)for(var o=0;o<e[a].safeBags.length;o++){var s=e[a].safeBags[o];void 0!==n&&s.type!==n||(null!==t?void 0!==s.attributes[t]&&s.attributes[t].indexOf(r)>=0&&i.push(s):i.push(s))}return i}function l(e){if(e.composed||e.constructed){for(var t=F.util.createBuffer(),r=0;r<e.value.length;++r)t.putBytes(e.value[r].value);e.composed=e.constructed=!1,e.value=t.getBytes()}return e}function d(e,n){var i={},a=[];if(!t.validate(e,F.pkcs7.asn1.encryptedDataValidator,i,a))throw(o=new Error("Cannot read EncryptedContentInfo.")).errors=a,o;var o,s=t.derToOid(i.contentType);if(s!==r.oids.data)throw(o=new Error("PKCS#12 EncryptedContentInfo ContentType is not Data.")).oid=s,o;s=t.derToOid(i.encAlgorithm);var c=r.pbe.getCipher(s,i.encParameter,n),u=l(i.encryptedContentAsn1),d=F.util.createBuffer(u.value);if(c.update(d),!c.finish())throw new Error("Failed to decrypt PKCS#12 SafeContents.");return c.output.getBytes()}function f(e,n,i){if(!n&&0===e.length)return[];if((e=t.fromDer(e,n)).tagClass!==t.Class.UNIVERSAL||e.type!==t.Type.SEQUENCE||!0!==e.constructed)throw new Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var a=[],s=0;s<e.value.length;s++){var u=e.value[s],l={},d=[];if(!t.validate(u,o,l,d))throw(y=new Error("Cannot read SafeBag.")).errors=d,y;var f,h,g={type:t.derToOid(l.bagId),attributes:p(l.bagAttributes)};a.push(g);var m=l.bagValue.value[0];switch(g.type){case r.oids.pkcs8ShroudedKeyBag:if(null===(m=r.decryptPrivateKeyInfo(m,i)))throw new Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");case r.oids.keyBag:try{g.key=r.privateKeyFromAsn1(m)}catch(e){g.key=null,g.asn1=m}continue;case r.oids.certBag:f=c,h=function(){if(t.derToOid(l.certId)!==r.oids.x509Certificate){var e=new Error("Unsupported certificate type, only X.509 supported.");throw e.oid=t.derToOid(l.certId),e}var i=t.fromDer(l.cert,n);try{g.cert=r.certificateFromAsn1(i,!0)}catch(e){g.cert=null,g.asn1=i}};break;default:var y;throw(y=new Error("Unsupported PKCS#12 SafeBag type.")).oid=g.type,y}if(void 0!==f&&!t.validate(m,f,l,d))throw(y=new Error("Cannot read PKCS#12 "+f.name)).errors=d,y;h()}return a}function p(e){var n={};if(void 0!==e)for(var i=0;i<e.length;++i){var a={},o=[];if(!t.validate(e[i],s,a,o)){var c=new Error("Cannot read PKCS#12 BagAttribute.");throw c.errors=o,c}var u=t.derToOid(a.oid);if(void 0!==r.oids[u]){n[r.oids[u]]=[];for(var l=0;l<a.values.length;++l)n[r.oids[u]].push(a.values[l].value)}}return n}n.pkcs12FromAsn1=function(e,o,s){"string"==typeof o?(s=o,o=!0):void 0===o&&(o=!0);var c={};if(!t.validate(e,a,c,[]))throw(p=new Error("Cannot read PKCS#12 PFX. ASN.1 object is not an PKCS#12 PFX.")).errors=p,p;var p,h={version:c.version.charCodeAt(0),safeContents:[],getBags:function(e){var t,r={};return"localKeyId"in e?t=e.localKeyId:"localKeyIdHex"in e&&(t=F.util.hexToBytes(e.localKeyIdHex)),void 0===t&&!("friendlyName"in e)&&"bagType"in e&&(r[e.bagType]=u(h.safeContents,null,null,e.bagType)),void 0!==t&&(r.localKeyId=u(h.safeContents,"localKeyId",t,e.bagType)),"friendlyName"in e&&(r.friendlyName=u(h.safeContents,"friendlyName",e.friendlyName,e.bagType)),r},getBagsByFriendlyName:function(e,t){return u(h.safeContents,"friendlyName",e,t)},getBagsByLocalKeyId:function(e,t){return u(h.safeContents,"localKeyId",e,t)}};if(3!==c.version.charCodeAt(0))throw(p=new Error("PKCS#12 PFX of version other than 3 not supported.")).version=c.version.charCodeAt(0),p;if(t.derToOid(c.contentType)!==r.oids.data)throw(p=new Error("Only PKCS#12 PFX in password integrity mode supported.")).oid=t.derToOid(c.contentType),p;var g=c.content.value[0];if(g.tagClass!==t.Class.UNIVERSAL||g.type!==t.Type.OCTETSTRING)throw new Error("PKCS#12 authSafe content data is not an OCTET STRING.");if(g=l(g),c.mac){var m=null,y=0,v=t.derToOid(c.macAlgorithm);switch(v){case r.oids.sha1:m=F.md.sha1.create(),y=20;break;case r.oids.sha256:m=F.md.sha256.create(),y=32;break;case r.oids.sha384:m=F.md.sha384.create(),y=48;break;case r.oids.sha512:m=F.md.sha512.create(),y=64;break;case r.oids.md5:m=F.md.md5.create(),y=16}if(null===m)throw new Error("PKCS#12 uses unsupported MAC algorithm: "+v);var b=new F.util.ByteBuffer(c.macSalt),C="macIterations"in c?parseInt(F.util.bytesToHex(c.macIterations),16):1,w=n.generateKey(s,b,3,C,y,m),E=F.hmac.create();if(E.start(m,w),E.update(g.value),E.getMac().getBytes()!==c.macDigest)throw new Error("PKCS#12 MAC could not be verified. Invalid password?")}return function(e,n,a,o){if((n=t.fromDer(n,a)).tagClass!==t.Class.UNIVERSAL||n.type!==t.Type.SEQUENCE||!0!==n.constructed)throw new Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");for(var s=0;s<n.value.length;s++){var c=n.value[s],u={},p=[];if(!t.validate(c,i,u,p))throw(y=new Error("Cannot read ContentInfo.")).errors=p,y;var h={encrypted:!1},g=null,m=u.content.value[0];switch(t.derToOid(u.contentType)){case r.oids.data:if(m.tagClass!==t.Class.UNIVERSAL||m.type!==t.Type.OCTETSTRING)throw new Error("PKCS#12 SafeContents Data is not an OCTET STRING.");g=l(m).value;break;case r.oids.encryptedData:g=d(m,o),h.encrypted=!0;break;default:var y;throw(y=new Error("Unsupported PKCS#12 contentType.")).contentType=t.derToOid(u.contentType),y}h.safeBags=f(g,a,o),e.safeContents.push(h)}}(h,g.value,o,s),h},n.toPkcs12Asn1=function(e,i,a,o){(o=o||{}).saltSize=o.saltSize||8,o.count=o.count||2048,o.algorithm=o.algorithm||o.encAlgorithm||"aes128","useMac"in o||(o.useMac=!0),"localKeyId"in o||(o.localKeyId=null),"generateLocalKeyId"in o||(o.generateLocalKeyId=!0);var s,c=o.localKeyId;if(null!==c)c=F.util.hexToBytes(c);else if(o.generateLocalKeyId)if(i){var u=F.util.isArray(i)?i[0]:i;"string"==typeof u&&(u=r.certificateFromPem(u)),(T=F.md.sha1.create()).update(t.toDer(r.certificateToAsn1(u)).getBytes()),c=T.digest().getBytes()}else c=F.random.getBytes(20);var l=[];null!==c&&l.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.localKeyId).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,c)])])),"friendlyName"in o&&l.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.friendlyName).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,t.Type.BMPSTRING,!1,o.friendlyName)])])),l.length>0&&(s=t.create(t.Class.UNIVERSAL,t.Type.SET,!0,l));var d=[],f=[];null!==i&&(f=F.util.isArray(i)?i:[i]);for(var p=[],h=0;h<f.length;++h){"string"==typeof(i=f[h])&&(i=r.certificateFromPem(i));var g=0===h?s:void 0,m=r.certificateToAsn1(i),y=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.certBag).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.x509Certificate).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(m).getBytes())])])]),g]);p.push(y)}if(p.length>0){var v=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,p),b=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.data).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(v).getBytes())])]);d.push(b)}var C=null;if(null!==e){var w=r.wrapRsaPrivateKey(r.privateKeyToAsn1(e));C=null===a?t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.keyBag).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[w]),s]):t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.pkcs8ShroudedKeyBag).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[r.encryptPrivateKeyInfo(w,a,o)]),s]);var E=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[C]),k=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.data).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(E).getBytes())])]);d.push(k)}var S,B=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,d);if(o.useMac){var T=F.md.sha1.create(),A=new F.util.ByteBuffer(F.random.getBytes(o.saltSize)),I=o.count,_=(e=n.generateKey(a,A,3,I,20),F.hmac.create());_.start(T,e),_.update(t.toDer(B).getBytes());var x=_.getMac();S=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.sha1).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")]),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,x.getBytes())]),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,A.getBytes()),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(I).getBytes())])}return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(3).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.data).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(B).getBytes())])]),S])},n.generateKey=F.pbe.generatePkcs12Key})),w((function(e){var t=F.asn1,r=e.exports=F.pki=F.pki||{};r.pemToDer=function(e){var t=F.pem.decode(e)[0];if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert PEM to DER; PEM is encrypted.");return F.util.createBuffer(t.body)},r.privateKeyFromPem=function(e){var n=F.pem.decode(e)[0];if("PRIVATE KEY"!==n.type&&"RSA PRIVATE KEY"!==n.type){var i=new Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');throw i.headerType=n.type,i}if(n.procType&&"ENCRYPTED"===n.procType.type)throw new Error("Could not convert private key from PEM; PEM is encrypted.");var a=t.fromDer(n.body);return r.privateKeyFromAsn1(a)},r.privateKeyToPem=function(e,n){var i={type:"RSA PRIVATE KEY",body:t.toDer(r.privateKeyToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.privateKeyInfoToPem=function(e,r){var n={type:"PRIVATE KEY",body:t.toDer(e).getBytes()};return F.pem.encode(n,{maxline:r})}}));var St=function(e,t,r,n){var i=F.util.createBuffer(),a=e.length>>1,o=a+(1&e.length),s=e.substr(0,o),c=e.substr(a,o),u=F.util.createBuffer(),l=F.hmac.create();r=t+r;var d=Math.ceil(n/16),f=Math.ceil(n/20);l.start("MD5",s);var p=F.util.createBuffer();u.putBytes(r);for(var h=0;h<d;++h)l.start(null,null),l.update(u.getBytes()),u.putBuffer(l.digest()),l.start(null,null),l.update(u.bytes()+r),p.putBuffer(l.digest());l.start("SHA1",c);var g=F.util.createBuffer();for(u.clear(),u.putBytes(r),h=0;h<f;++h)l.start(null,null),l.update(u.getBytes()),u.putBuffer(l.digest()),l.start(null,null),l.update(u.bytes()+r),g.putBuffer(l.digest());return i.putBytes(F.util.xorBytes(p.getBytes(),g.getBytes(),n)),i},Bt=function(e,t,r){var n=!1;try{var i=e.deflate(t.fragment.getBytes());t.fragment=F.util.createBuffer(i),t.length=i.length,n=!0}catch(e){}return n},Tt=function(e,t,r){var n=!1;try{var i=e.inflate(t.fragment.getBytes());t.fragment=F.util.createBuffer(i),t.length=i.length,n=!0}catch(e){}return n},At=function(e,t){var r=0;switch(t){case 1:r=e.getByte();break;case 2:r=e.getInt16();break;case 3:r=e.getInt24();break;case 4:r=e.getInt32()}return F.util.createBuffer(e.getBytes(r))},It=function(e,t,r){e.putInt(r.length(),t<<3),e.putBuffer(r)},_t={Versions:{TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}}};_t.SupportedVersions=[_t.Versions.TLS_1_1,_t.Versions.TLS_1_0],_t.Version=_t.SupportedVersions[0],_t.MaxFragment=15360,_t.ConnectionEnd={server:0,client:1},_t.PRFAlgorithm={tls_prf_sha256:0},_t.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2},_t.CipherType={stream:0,block:1,aead:2},_t.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4},_t.CompressionMethod={none:0,deflate:1},_t.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24},_t.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20},_t.Alert={},_t.Alert.Level={warning:1,fatal:2},_t.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100},_t.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2},_t.CipherSuites={},_t.getCipherSuite=function(e){var t=null;for(var r in _t.CipherSuites){var n=_t.CipherSuites[r];if(n.id[0]===e.charCodeAt(0)&&n.id[1]===e.charCodeAt(1)){t=n;break}}return t},_t.handleUnexpected=function(e,t){!e.open&&e.entity===_t.ConnectionEnd.client||e.error(e,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unexpected_message}})},_t.handleHelloRequest=function(e,t,r){!e.handshaking&&e.handshakes>0&&(_t.queue(e,_t.createAlert(e,{level:_t.Alert.Level.warning,description:_t.Alert.Description.no_renegotiation})),_t.flush(e)),e.process()},_t.parseHelloMessage=function(e,t,r){var n=null,i=e.entity===_t.ConnectionEnd.client;if(r<38)e.error(e,{message:i?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});else{var a=t.fragment,o=a.length();if(n={version:{major:a.getByte(),minor:a.getByte()},random:F.util.createBuffer(a.getBytes(32)),session_id:At(a,1),extensions:[]},i?(n.cipher_suite=a.getBytes(2),n.compression_method=a.getByte()):(n.cipher_suites=At(a,2),n.compression_methods=At(a,1)),(o=r-(o-a.length()))>0){for(var s=At(a,2);s.length()>0;)n.extensions.push({type:[s.getByte(),s.getByte()],data:At(s,2)});if(!i)for(var c=0;c<n.extensions.length;++c){var u=n.extensions[c];if(0===u.type[0]&&0===u.type[1])for(var l=At(u.data,2);l.length()>0&&0===l.getByte();)e.session.extensions.server_name.serverNameList.push(At(l,2).getBytes())}}if(e.session.version&&(n.version.major!==e.session.version.major||n.version.minor!==e.session.version.minor))return e.error(e,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.protocol_version}});if(i)e.session.cipherSuite=_t.getCipherSuite(n.cipher_suite);else for(var d=F.util.createBuffer(n.cipher_suites.bytes());d.length()>0&&(e.session.cipherSuite=_t.getCipherSuite(d.getBytes(2)),null===e.session.cipherSuite););if(null===e.session.cipherSuite)return e.error(e,{message:"No cipher suites in common.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.handshake_failure},cipherSuite:F.util.bytesToHex(n.cipher_suite)});e.session.compressionMethod=i?n.compression_method:_t.CompressionMethod.none}return n},_t.createSecurityParameters=function(e,t){var r=e.entity===_t.ConnectionEnd.client,n=t.random.bytes(),i=r?e.session.sp.client_random:n,a=r?n:_t.createRandom().getBytes();e.session.sp={entity:e.entity,prf_algorithm:_t.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:e.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:i,server_random:a}},_t.handleServerHello=function(e,t,r){var n=_t.parseHelloMessage(e,t,r);if(!e.fail){if(!(n.version.minor<=e.version.minor))return e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.protocol_version}});e.version.minor=n.version.minor,e.session.version=e.version;var i=n.session_id.bytes();i.length>0&&i===e.session.id?(e.expect=Ot,e.session.resuming=!0,e.session.sp.server_random=n.random.bytes()):(e.expect=xt,e.session.resuming=!1,_t.createSecurityParameters(e,n)),e.session.id=i,e.process()}},_t.handleClientHello=function(e,t,r){var n=_t.parseHelloMessage(e,t,r);if(!e.fail){var i=n.session_id.bytes(),a=null;if(e.sessionCache&&(null===(a=e.sessionCache.getSession(i))?i="":(a.version.major!==n.version.major||a.version.minor>n.version.minor)&&(a=null,i="")),0===i.length&&(i=F.random.getBytes(32)),e.session.id=i,e.session.clientHelloVersion=n.version,e.session.sp={},a)e.version=e.session.version=a.version,e.session.sp=a.sp;else{for(var o,s=1;s<_t.SupportedVersions.length&&!((o=_t.SupportedVersions[s]).minor<=n.version.minor);++s);e.version={major:o.major,minor:o.minor},e.session.version=e.version}null!==a?(e.expect=Ft,e.session.resuming=!0,e.session.sp.client_random=n.random.bytes()):(e.expect=!1!==e.verifyClient?Mt:Vt,e.session.resuming=!1,_t.createSecurityParameters(e,n)),e.open=!0,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createServerHello(e)})),e.session.resuming?(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.change_cipher_spec,data:_t.createChangeCipherSpec()})),e.state.pending=_t.createConnectionState(e),e.state.current.write=e.state.pending.write,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createFinished(e)}))):(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificate(e)})),e.fail||(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createServerKeyExchange(e)})),!1!==e.verifyClient&&_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificateRequest(e)})),_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createServerHelloDone(e)})))),_t.flush(e),e.process()}},_t.handleCertificate=function(e,t,r){if(r<3)return e.error(e,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var n,i,a=t.fragment,o={certificate_list:At(a,3)},s=[];try{for(;o.certificate_list.length()>0;)n=At(o.certificate_list,3),i=F.asn1.fromDer(n),n=F.pki.certificateFromAsn1(i,!0),s.push(n)}catch(t){return e.error(e,{message:"Could not parse certificate list.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_certificate}})}var c=e.entity===_t.ConnectionEnd.client;!c&&!0!==e.verifyClient||0!==s.length?0===s.length?e.expect=c?Pt:Vt:(c?e.session.serverCertificate=s[0]:e.session.clientCertificate=s[0],_t.verifyCertificateChain(e,s)&&(e.expect=c?Pt:Vt)):e.error(e,{message:c?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}}),e.process()},_t.handleServerKeyExchange=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unsupported_certificate}});e.expect=Rt,e.process()},_t.handleClientKeyExchange=function(e,t,r){if(r<48)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unsupported_certificate}});var n=t.fragment,i={enc_pre_master_secret:At(n,2).getBytes()},a=null;if(e.getPrivateKey)try{a=e.getPrivateKey(e,e.session.serverCertificate),a=F.pki.privateKeyFromPem(a)}catch(t){e.error(e,{message:"Could not get private key.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}})}if(null===a)return e.error(e,{message:"No private key set.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}});try{var o=e.session.sp;o.pre_master_secret=a.decrypt(i.enc_pre_master_secret);var s=e.session.clientHelloVersion;if(s.major!==o.pre_master_secret.charCodeAt(0)||s.minor!==o.pre_master_secret.charCodeAt(1))throw new Error("TLS version rollback attack detected.")}catch(e){o.pre_master_secret=F.random.getBytes(48)}e.expect=Ft,null!==e.session.clientCertificate&&(e.expect=jt),e.process()},_t.handleCertificateRequest=function(e,t,r){if(r<3)return e.error(e,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var n=t.fragment,i={certificate_types:At(n,1),certificate_authorities:At(n,2)};e.session.certificateRequest=i,e.expect=Nt,e.process()},_t.handleCertificateVerify=function(e,t,r){if(r<2)return e.error(e,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var n=t.fragment;n.read-=4;var i=n.bytes();n.read+=4;var a={signature:At(n,2).getBytes()},o=F.util.createBuffer();o.putBuffer(e.session.md5.digest()),o.putBuffer(e.session.sha1.digest()),o=o.getBytes();try{if(!e.session.clientCertificate.publicKey.verify(o,a.signature,"NONE"))throw new Error("CertificateVerify signature does not match.");e.session.md5.update(i),e.session.sha1.update(i)}catch(t){return e.error(e,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.handshake_failure}})}e.expect=Ft,e.process()},_t.handleServerHelloDone=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.record_overflow}});if(null===e.serverCertificate){var n={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.insufficient_security}},i=e.verify(e,n.alert.description,0,[]);if(!0!==i)return(i||0===i)&&("object"!=typeof i||F.util.isArray(i)?"number"==typeof i&&(n.alert.description=i):(i.message&&(n.message=i.message),i.alert&&(n.alert.description=i.alert))),e.error(e,n)}null!==e.session.certificateRequest&&(t=_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificate(e)}),_t.queue(e,t)),t=_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createClientKeyExchange(e)}),_t.queue(e,t),e.expect=Ut;var a=function(e,t){null!==e.session.certificateRequest&&null!==e.session.clientCertificate&&_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificateVerify(e,t)})),_t.queue(e,_t.createRecord(e,{type:_t.ContentType.change_cipher_spec,data:_t.createChangeCipherSpec()})),e.state.pending=_t.createConnectionState(e),e.state.current.write=e.state.pending.write,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createFinished(e)})),e.expect=Ot,_t.flush(e),e.process()};if(null===e.session.certificateRequest||null===e.session.clientCertificate)return a(e,null);_t.getClientSignature(e,a)},_t.handleChangeCipherSpec=function(e,t){if(1!==t.fragment.getByte())return e.error(e,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var r=e.entity===_t.ConnectionEnd.client;(e.session.resuming&&r||!e.session.resuming&&!r)&&(e.state.pending=_t.createConnectionState(e)),e.state.current.read=e.state.pending.read,(!e.session.resuming&&r||e.session.resuming&&!r)&&(e.state.pending=null),e.expect=r?Lt:zt,e.process()},_t.handleFinished=function(e,t,r){var n=t.fragment;n.read-=4;var i=n.bytes();n.read+=4;var a=t.fragment.getBytes();(n=F.util.createBuffer()).putBuffer(e.session.md5.digest()),n.putBuffer(e.session.sha1.digest());var o=e.entity===_t.ConnectionEnd.client,s=o?"server finished":"client finished",c=e.session.sp;if((n=St(c.master_secret,s,n.getBytes(),12)).getBytes()!==a)return e.error(e,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.decrypt_error}});e.session.md5.update(i),e.session.sha1.update(i),(e.session.resuming&&o||!e.session.resuming&&!o)&&(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.change_cipher_spec,data:_t.createChangeCipherSpec()})),e.state.current.write=e.state.pending.write,e.state.pending=null,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createFinished(e)}))),e.expect=o?Dt:Kt,e.handshaking=!1,++e.handshakes,e.peerCertificate=o?e.session.serverCertificate:e.session.clientCertificate,_t.flush(e),e.isConnected=!0,e.connected(e),e.process()},_t.handleAlert=function(e,t){var r,n=t.fragment,i={level:n.getByte(),description:n.getByte()};switch(i.description){case _t.Alert.Description.close_notify:r="Connection closed.";break;case _t.Alert.Description.unexpected_message:r="Unexpected message.";break;case _t.Alert.Description.bad_record_mac:r="Bad record MAC.";break;case _t.Alert.Description.decryption_failed:r="Decryption failed.";break;case _t.Alert.Description.record_overflow:r="Record overflow.";break;case _t.Alert.Description.decompression_failure:r="Decompression failed.";break;case _t.Alert.Description.handshake_failure:r="Handshake failure.";break;case _t.Alert.Description.bad_certificate:r="Bad certificate.";break;case _t.Alert.Description.unsupported_certificate:r="Unsupported certificate.";break;case _t.Alert.Description.certificate_revoked:r="Certificate revoked.";break;case _t.Alert.Description.certificate_expired:r="Certificate expired.";break;case _t.Alert.Description.certificate_unknown:r="Certificate unknown.";break;case _t.Alert.Description.illegal_parameter:r="Illegal parameter.";break;case _t.Alert.Description.unknown_ca:r="Unknown certificate authority.";break;case _t.Alert.Description.access_denied:r="Access denied.";break;case _t.Alert.Description.decode_error:r="Decode error.";break;case _t.Alert.Description.decrypt_error:r="Decrypt error.";break;case _t.Alert.Description.export_restriction:r="Export restriction.";break;case _t.Alert.Description.protocol_version:r="Unsupported protocol version.";break;case _t.Alert.Description.insufficient_security:r="Insufficient security.";break;case _t.Alert.Description.internal_error:r="Internal error.";break;case _t.Alert.Description.user_canceled:r="User canceled.";break;case _t.Alert.Description.no_renegotiation:r="Renegotiation not supported.";break;default:r="Unknown error."}if(i.description===_t.Alert.Description.close_notify)return e.close();e.error(e,{message:r,send:!1,origin:e.entity===_t.ConnectionEnd.client?"server":"client",alert:i}),e.process()},_t.handleHandshake=function(e,t){var r=t.fragment,n=r.getByte(),i=r.getInt24();if(i>r.length())return e.fragmented=t,t.fragment=F.util.createBuffer(),r.read-=4,e.process();e.fragmented=null,r.read-=4;var a=r.bytes(i+4);r.read+=4,n in ir[e.entity][e.expect]?(e.entity!==_t.ConnectionEnd.server||e.open||e.fail||(e.handshaking=!0,e.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:F.md.md5.create(),sha1:F.md.sha1.create()}),n!==_t.HandshakeType.hello_request&&n!==_t.HandshakeType.certificate_verify&&n!==_t.HandshakeType.finished&&(e.session.md5.update(a),e.session.sha1.update(a)),ir[e.entity][e.expect][n](e,t,i)):_t.handleUnexpected(e,t)},_t.handleApplicationData=function(e,t){e.data.putBuffer(t.fragment),e.dataReady(e),e.process()},_t.handleHeartbeat=function(e,t){var r=t.fragment,n=r.getByte(),i=r.getInt16(),a=r.getBytes(i);if(n===_t.HeartbeatMessageType.heartbeat_request){if(e.handshaking||i>a.length)return e.process();_t.queue(e,_t.createRecord(e,{type:_t.ContentType.heartbeat,data:_t.createHeartbeat(_t.HeartbeatMessageType.heartbeat_response,a)})),_t.flush(e)}else if(n===_t.HeartbeatMessageType.heartbeat_response){if(a!==e.expectedHeartbeatPayload)return e.process();e.heartbeatReceived&&e.heartbeatReceived(e,F.util.createBuffer(a))}e.process()};var xt=1,Pt=2,Rt=3,Nt=4,Ot=5,Lt=6,Dt=7,Ut=8,Mt=1,Vt=2,jt=3,Ft=4,zt=5,Kt=6,qt=_t.handleUnexpected,Ht=_t.handleChangeCipherSpec,Gt=_t.handleAlert,Qt=_t.handleHandshake,Wt=_t.handleApplicationData,Xt=_t.handleHeartbeat,Yt=[];Yt[_t.ConnectionEnd.client]=[[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[Ht,Gt,qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,Wt,Xt],[qt,Gt,Qt,qt,Xt]],Yt[_t.ConnectionEnd.server]=[[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[Ht,Gt,qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,Wt,Xt],[qt,Gt,Qt,qt,Xt]];var $t=_t.handleHelloRequest,Zt=_t.handleServerHello,Jt=_t.handleCertificate,er=_t.handleServerKeyExchange,tr=_t.handleCertificateRequest,rr=_t.handleServerHelloDone,nr=_t.handleFinished,ir=[];ir[_t.ConnectionEnd.client]=[[qt,qt,Zt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,Jt,er,tr,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,er,tr,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,tr,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,nr],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt]];var ar=_t.handleClientHello,or=_t.handleClientKeyExchange,sr=_t.handleCertificateVerify;ir[_t.ConnectionEnd.server]=[[qt,ar,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,Jt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,or,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,sr,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,nr],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt]],_t.generateKeys=function(e,t){var r=St,n=t.client_random+t.server_random;e.session.resuming||(t.master_secret=r(t.pre_master_secret,"master secret",n,48).bytes(),t.pre_master_secret=null),n=t.server_random+t.client_random;var i=2*t.mac_key_length+2*t.enc_key_length,a=e.version.major===_t.Versions.TLS_1_0.major&&e.version.minor===_t.Versions.TLS_1_0.minor;a&&(i+=2*t.fixed_iv_length);var o=r(t.master_secret,"key expansion",n,i),s={client_write_MAC_key:o.getBytes(t.mac_key_length),server_write_MAC_key:o.getBytes(t.mac_key_length),client_write_key:o.getBytes(t.enc_key_length),server_write_key:o.getBytes(t.enc_key_length)};return a&&(s.client_write_IV=o.getBytes(t.fixed_iv_length),s.server_write_IV=o.getBytes(t.fixed_iv_length)),s},_t.createConnectionState=function(e){var t=e.entity===_t.ConnectionEnd.client,r=function(){var e={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(e){return!0},compressionState:null,compressFunction:function(e){return!0},updateSequenceNumber:function(){4294967295===e.sequenceNumber[1]?(e.sequenceNumber[1]=0,++e.sequenceNumber[0]):++e.sequenceNumber[1]}};return e},n={read:r(),write:r()};if(n.read.update=function(e,t){return n.read.cipherFunction(t,n.read)?n.read.compressFunction(e,t,n.read)||e.error(e,{message:"Could not decompress record.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.decompression_failure}}):e.error(e,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_record_mac}}),!e.fail},n.write.update=function(e,t){return n.write.compressFunction(e,t,n.write)?n.write.cipherFunction(t,n.write)||e.error(e,{message:"Could not encrypt record.",send:!1,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}}):e.error(e,{message:"Could not compress record.",send:!1,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}}),!e.fail},e.session){var i=e.session.sp;switch(e.session.cipherSuite.initSecurityParameters(i),i.keys=_t.generateKeys(e,i),n.read.macKey=t?i.keys.server_write_MAC_key:i.keys.client_write_MAC_key,n.write.macKey=t?i.keys.client_write_MAC_key:i.keys.server_write_MAC_key,e.session.cipherSuite.initConnectionState(n,e,i),i.compression_algorithm){case _t.CompressionMethod.none:break;case _t.CompressionMethod.deflate:n.read.compressFunction=Tt,n.write.compressFunction=Bt;break;default:throw new Error("Unsupported compression algorithm.")}}return n},_t.createRandom=function(){var e=new Date,t=+e+6e4*e.getTimezoneOffset(),r=F.util.createBuffer();return r.putInt32(t),r.putBytes(F.random.getBytes(28)),r},_t.createRecord=function(e,t){return t.data?{type:t.type,version:{major:e.version.major,minor:e.version.minor},length:t.data.length(),fragment:t.data}:null},_t.createAlert=function(e,t){var r=F.util.createBuffer();return r.putByte(t.level),r.putByte(t.description),_t.createRecord(e,{type:_t.ContentType.alert,data:r})},_t.createClientHello=function(e){e.session.clientHelloVersion={major:e.version.major,minor:e.version.minor};for(var t=F.util.createBuffer(),r=0;r<e.cipherSuites.length;++r){var n=e.cipherSuites[r];t.putByte(n.id[0]),t.putByte(n.id[1])}var i=t.length(),a=F.util.createBuffer();a.putByte(_t.CompressionMethod.none);var o=a.length(),s=F.util.createBuffer();if(e.virtualHost){var c=F.util.createBuffer();c.putByte(0),c.putByte(0);var u=F.util.createBuffer();u.putByte(0),It(u,2,F.util.createBuffer(e.virtualHost));var l=F.util.createBuffer();It(l,2,u),It(c,2,l),s.putBuffer(c)}var d=s.length();d>0&&(d+=2);var f=e.session.id,p=f.length+1+2+4+28+2+i+1+o+d,h=F.util.createBuffer();return h.putByte(_t.HandshakeType.client_hello),h.putInt24(p),h.putByte(e.version.major),h.putByte(e.version.minor),h.putBytes(e.session.sp.client_random),It(h,1,F.util.createBuffer(f)),It(h,2,t),It(h,1,a),d>0&&It(h,2,s),h},_t.createServerHello=function(e){var t=e.session.id,r=t.length+1+2+4+28+2+1,n=F.util.createBuffer();return n.putByte(_t.HandshakeType.server_hello),n.putInt24(r),n.putByte(e.version.major),n.putByte(e.version.minor),n.putBytes(e.session.sp.server_random),It(n,1,F.util.createBuffer(t)),n.putByte(e.session.cipherSuite.id[0]),n.putByte(e.session.cipherSuite.id[1]),n.putByte(e.session.compressionMethod),n},_t.createCertificate=function(e){var t,r=e.entity===_t.ConnectionEnd.client,n=null;e.getCertificate&&(t=r?e.session.certificateRequest:e.session.extensions.server_name.serverNameList,n=e.getCertificate(e,t));var i=F.util.createBuffer();if(null!==n)try{F.util.isArray(n)||(n=[n]);for(var a=null,o=0;o<n.length;++o){var s=F.pem.decode(n[o])[0];if("CERTIFICATE"!==s.type&&"X509 CERTIFICATE"!==s.type&&"TRUSTED CERTIFICATE"!==s.type){var c=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw c.headerType=s.type,c}if(s.procType&&"ENCRYPTED"===s.procType.type)throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var u=F.util.createBuffer(s.body);null===a&&(a=F.asn1.fromDer(u.bytes(),!1));var l=F.util.createBuffer();It(l,3,u),i.putBuffer(l)}n=F.pki.certificateFromAsn1(a),r?e.session.clientCertificate=n:e.session.serverCertificate=n}catch(t){return e.error(e,{message:"Could not send certificate list.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_certificate}})}var d=3+i.length(),f=F.util.createBuffer();return f.putByte(_t.HandshakeType.certificate),f.putInt24(d),It(f,3,i),f},_t.createClientKeyExchange=function(e){var t=F.util.createBuffer();t.putByte(e.session.clientHelloVersion.major),t.putByte(e.session.clientHelloVersion.minor),t.putBytes(F.random.getBytes(46));var r=e.session.sp;r.pre_master_secret=t.getBytes();var n=(t=e.session.serverCertificate.publicKey.encrypt(r.pre_master_secret)).length+2,i=F.util.createBuffer();return i.putByte(_t.HandshakeType.client_key_exchange),i.putInt24(n),i.putInt16(t.length),i.putBytes(t),i},_t.createServerKeyExchange=function(e){return F.util.createBuffer()},_t.getClientSignature=function(e,t){var r=F.util.createBuffer();r.putBuffer(e.session.md5.digest()),r.putBuffer(e.session.sha1.digest()),r=r.getBytes(),e.getSignature=e.getSignature||function(e,t,r){var n=null;if(e.getPrivateKey)try{n=e.getPrivateKey(e,e.session.clientCertificate),n=F.pki.privateKeyFromPem(n)}catch(t){e.error(e,{message:"Could not get private key.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}})}null===n?e.error(e,{message:"No private key set.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}}):t=n.sign(t,null),r(e,t)},e.getSignature(e,r,t)},_t.createCertificateVerify=function(e,t){var r=t.length+2,n=F.util.createBuffer();return n.putByte(_t.HandshakeType.certificate_verify),n.putInt24(r),n.putInt16(t.length),n.putBytes(t),n},_t.createCertificateRequest=function(e){var t=F.util.createBuffer();t.putByte(1);var r=F.util.createBuffer();for(var n in e.caStore.certs){var i=e.caStore.certs[n],a=F.pki.distinguishedNameToAsn1(i.subject),o=F.asn1.toDer(a);r.putInt16(o.length()),r.putBuffer(o)}var s=1+t.length()+2+r.length(),c=F.util.createBuffer();return c.putByte(_t.HandshakeType.certificate_request),c.putInt24(s),It(c,1,t),It(c,2,r),c},_t.createServerHelloDone=function(e){var t=F.util.createBuffer();return t.putByte(_t.HandshakeType.server_hello_done),t.putInt24(0),t},_t.createChangeCipherSpec=function(){var e=F.util.createBuffer();return e.putByte(1),e},_t.createFinished=function(e){var t=F.util.createBuffer();t.putBuffer(e.session.md5.digest()),t.putBuffer(e.session.sha1.digest());var r=e.entity===_t.ConnectionEnd.client,n=e.session.sp,i=r?"client finished":"server finished";t=St(n.master_secret,i,t.getBytes(),12);var a=F.util.createBuffer();return a.putByte(_t.HandshakeType.finished),a.putInt24(t.length()),a.putBuffer(t),a},_t.createHeartbeat=function(e,t,r){void 0===r&&(r=t.length);var n=F.util.createBuffer();n.putByte(e),n.putInt16(r),n.putBytes(t);var i=n.length(),a=Math.max(16,i-r-3);return n.putBytes(F.random.getBytes(a)),n},_t.queue=function(e,t){if(t&&(0!==t.fragment.length()||t.type!==_t.ContentType.handshake&&t.type!==_t.ContentType.alert&&t.type!==_t.ContentType.change_cipher_spec)){if(t.type===_t.ContentType.handshake){var r=t.fragment.bytes();e.session.md5.update(r),e.session.sha1.update(r),r=null}var n;if(t.fragment.length()<=_t.MaxFragment)n=[t];else{n=[];for(var i=t.fragment.bytes();i.length>_t.MaxFragment;)n.push(_t.createRecord(e,{type:t.type,data:F.util.createBuffer(i.slice(0,_t.MaxFragment))})),i=i.slice(_t.MaxFragment);i.length>0&&n.push(_t.createRecord(e,{type:t.type,data:F.util.createBuffer(i)}))}for(var a=0;a<n.length&&!e.fail;++a){var o=n[a];e.state.current.write.update(e,o)&&e.records.push(o)}}},_t.flush=function(e){for(var t=0;t<e.records.length;++t){var r=e.records[t];e.tlsData.putByte(r.type),e.tlsData.putByte(r.version.major),e.tlsData.putByte(r.version.minor),e.tlsData.putInt16(r.fragment.length()),e.tlsData.putBuffer(e.records[t].fragment)}return e.records=[],e.tlsDataReady(e)};var cr=function(e){switch(e){case!0:return!0;case F.pki.certificateError.bad_certificate:return _t.Alert.Description.bad_certificate;case F.pki.certificateError.unsupported_certificate:return _t.Alert.Description.unsupported_certificate;case F.pki.certificateError.certificate_revoked:return _t.Alert.Description.certificate_revoked;case F.pki.certificateError.certificate_expired:return _t.Alert.Description.certificate_expired;case F.pki.certificateError.certificate_unknown:return _t.Alert.Description.certificate_unknown;case F.pki.certificateError.unknown_ca:return _t.Alert.Description.unknown_ca;default:return _t.Alert.Description.bad_certificate}};for(var ur in _t.verifyCertificateChain=function(e,t){try{var r={};for(var n in e.verifyOptions)r[n]=e.verifyOptions[n];r.verify=function(t,r,n){cr(t);var i=e.verify(e,t,r,n);if(!0!==i){if("object"==typeof i&&!F.util.isArray(i)){var a=new Error("The application rejected the certificate.");throw a.send=!0,a.alert={level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_certificate},i.message&&(a.message=i.message),i.alert&&(a.alert.description=i.alert),a}i!==t&&(i=function(e){switch(e){case!0:return!0;case _t.Alert.Description.bad_certificate:return F.pki.certificateError.bad_certificate;case _t.Alert.Description.unsupported_certificate:return F.pki.certificateError.unsupported_certificate;case _t.Alert.Description.certificate_revoked:return F.pki.certificateError.certificate_revoked;case _t.Alert.Description.certificate_expired:return F.pki.certificateError.certificate_expired;case _t.Alert.Description.certificate_unknown:return F.pki.certificateError.certificate_unknown;case _t.Alert.Description.unknown_ca:return F.pki.certificateError.unknown_ca;default:return F.pki.certificateError.bad_certificate}}(i))}return i},F.pki.verifyCertificateChain(e.caStore,t,r)}catch(t){var i=t;("object"!=typeof i||F.util.isArray(i))&&(i={send:!0,alert:{level:_t.Alert.Level.fatal,description:cr(t)}}),"send"in i||(i.send=!0),"alert"in i||(i.alert={level:_t.Alert.Level.fatal,description:cr(i.error)}),e.error(e,i)}return!e.fail},_t.createSessionCache=function(e,t){var r=null;if(e&&e.getSession&&e.setSession&&e.order)r=e;else{for(var n in(r={}).cache=e||{},r.capacity=Math.max(t||100,1),r.order=[],e)r.order.length<=t?r.order.push(n):delete e[n];r.getSession=function(e){var t=null,n=null;if(e?n=F.util.bytesToHex(e):r.order.length>0&&(n=r.order[0]),null!==n&&n in r.cache)for(var i in t=r.cache[n],delete r.cache[n],r.order)if(r.order[i]===n){r.order.splice(i,1);break}return t},r.setSession=function(e,t){if(r.order.length===r.capacity){var n=r.order.shift();delete r.cache[n]}n=F.util.bytesToHex(e),r.order.push(n),r.cache[n]=t}}return r},_t.createConnection=function(e){var t=null;t=e.caStore?F.util.isArray(e.caStore)?F.pki.createCaStore(e.caStore):e.caStore:F.pki.createCaStore();var r=e.cipherSuites||null;if(null===r)for(var n in r=[],_t.CipherSuites)r.push(_t.CipherSuites[n]);var i=e.server?_t.ConnectionEnd.server:_t.ConnectionEnd.client,a=e.sessionCache?_t.createSessionCache(e.sessionCache):null,o={version:{major:_t.Version.major,minor:_t.Version.minor},entity:i,sessionId:e.sessionId,caStore:t,sessionCache:a,cipherSuites:r,connected:e.connected,virtualHost:e.virtualHost||null,verifyClient:e.verifyClient||!1,verify:e.verify||function(e,t,r,n){return t},verifyOptions:e.verifyOptions||{},getCertificate:e.getCertificate||null,getPrivateKey:e.getPrivateKey||null,getSignature:e.getSignature||null,input:F.util.createBuffer(),tlsData:F.util.createBuffer(),data:F.util.createBuffer(),tlsDataReady:e.tlsDataReady,dataReady:e.dataReady,heartbeatReceived:e.heartbeatReceived,closed:e.closed,error:function(t,r){r.origin=r.origin||(t.entity===_t.ConnectionEnd.client?"client":"server"),r.send&&(_t.queue(t,_t.createAlert(t,r.alert)),_t.flush(t));var n=!1!==r.fatal;n&&(t.fail=!0),e.error(t,r),n&&t.close(!1)},deflate:e.deflate||null,inflate:e.inflate||null,reset:function(e){o.version={major:_t.Version.major,minor:_t.Version.minor},o.record=null,o.session=null,o.peerCertificate=null,o.state={pending:null,current:null},o.expect=(_t.ConnectionEnd.client,0),o.fragmented=null,o.records=[],o.open=!1,o.handshakes=0,o.handshaking=!1,o.isConnected=!1,o.fail=!(e||void 0===e),o.input.clear(),o.tlsData.clear(),o.data.clear(),o.state.current=_t.createConnectionState(o)}};return o.reset(),o.handshake=function(e){if(o.entity!==_t.ConnectionEnd.client)o.error(o,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(o.handshaking)o.error(o,{message:"Handshake already in progress.",fatal:!1});else{o.fail&&!o.open&&0===o.handshakes&&(o.fail=!1),o.handshaking=!0;var t=null;(e=e||"").length>0&&(o.sessionCache&&(t=o.sessionCache.getSession(e)),null===t&&(e="")),0===e.length&&o.sessionCache&&null!==(t=o.sessionCache.getSession())&&(e=t.id),o.session={id:e,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:F.md.md5.create(),sha1:F.md.sha1.create()},t&&(o.version=t.version,o.session.sp=t.sp),o.session.sp.client_random=_t.createRandom().getBytes(),o.open=!0,_t.queue(o,_t.createRecord(o,{type:_t.ContentType.handshake,data:_t.createClientHello(o)})),_t.flush(o)}},o.process=function(e){var t=0;return e&&o.input.putBytes(e),o.fail||(null!==o.record&&o.record.ready&&o.record.fragment.isEmpty()&&(o.record=null),null===o.record&&(t=function(e){var t=0,r=e.input,n=r.length();if(n<5)t=5-n;else{e.record={type:r.getByte(),version:{major:r.getByte(),minor:r.getByte()},length:r.getInt16(),fragment:F.util.createBuffer(),ready:!1};var i=e.record.version.major===e.version.major;i&&e.session&&e.session.version&&(i=e.record.version.minor===e.version.minor),i||e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.protocol_version}})}return t}(o)),o.fail||null===o.record||o.record.ready||(t=function(e){var t=0,r=e.input,n=r.length();return n<e.record.length?t=e.record.length-n:(e.record.fragment.putBytes(r.getBytes(e.record.length)),r.compact(),e.state.current.read.update(e,e.record)&&(null!==e.fragmented&&(e.fragmented.type===e.record.type?(e.fragmented.fragment.putBuffer(e.record.fragment),e.record=e.fragmented):e.error(e,{message:"Invalid fragmented record.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unexpected_message}})),e.record.ready=!0)),t}(o)),!o.fail&&null!==o.record&&o.record.ready&&function(e,t){var r=t.type-_t.ContentType.change_cipher_spec,n=Yt[e.entity][e.expect];r in n?n[r](e,t):_t.handleUnexpected(e,t)}(o,o.record)),t},o.prepare=function(e){return _t.queue(o,_t.createRecord(o,{type:_t.ContentType.application_data,data:F.util.createBuffer(e)})),_t.flush(o)},o.prepareHeartbeatRequest=function(e,t){return e instanceof F.util.ByteBuffer&&(e=e.bytes()),void 0===t&&(t=e.length),o.expectedHeartbeatPayload=e,_t.queue(o,_t.createRecord(o,{type:_t.ContentType.heartbeat,data:_t.createHeartbeat(_t.HeartbeatMessageType.heartbeat_request,e,t)})),_t.flush(o)},o.close=function(e){if(!o.fail&&o.sessionCache&&o.session){var t={id:o.session.id,version:o.session.version,sp:o.session.sp};t.sp.keys=null,o.sessionCache.setSession(t.id,t)}o.open&&(o.open=!1,o.input.clear(),(o.isConnected||o.handshaking)&&(o.isConnected=o.handshaking=!1,_t.queue(o,_t.createAlert(o,{level:_t.Alert.Level.warning,description:_t.Alert.Description.close_notify})),_t.flush(o)),o.closed(o)),o.reset(e)},o},F.tls=F.tls||{},_t)"function"!=typeof _t[ur]&&(F.tls[ur]=_t[ur]);F.tls.prf_tls1=St,F.tls.hmac_sha1=function(e,t,r){var n=F.hmac.create();n.start("SHA1",e);var i=F.util.createBuffer();return i.putInt32(t[0]),i.putInt32(t[1]),i.putByte(r.type),i.putByte(r.version.major),i.putByte(r.version.minor),i.putInt16(r.length),i.putBytes(r.fragment.bytes()),n.update(i.getBytes()),n.digest().getBytes()},F.tls.createSessionCache=_t.createSessionCache,F.tls.createConnection=_t.createConnection,w((function(e){var t=e.exports=F.tls;function r(e,r,i){var a=r.entity===F.tls.ConnectionEnd.client;e.read.cipherState={init:!1,cipher:F.cipher.createDecipher("AES-CBC",a?i.keys.server_write_key:i.keys.client_write_key),iv:a?i.keys.server_write_IV:i.keys.client_write_IV},e.write.cipherState={init:!1,cipher:F.cipher.createCipher("AES-CBC",a?i.keys.client_write_key:i.keys.server_write_key),iv:a?i.keys.client_write_IV:i.keys.server_write_IV},e.read.cipherFunction=o,e.write.cipherFunction=n,e.read.macLength=e.write.macLength=i.mac_length,e.read.macFunction=e.write.macFunction=t.hmac_sha1}function n(e,r){var n,a=!1,o=r.macFunction(r.macKey,r.sequenceNumber,e);e.fragment.putBytes(o),r.updateSequenceNumber(),n=e.version.minor===t.Versions.TLS_1_0.minor?r.cipherState.init?null:r.cipherState.iv:F.random.getBytesSync(16),r.cipherState.init=!0;var s=r.cipherState.cipher;return s.start({iv:n}),e.version.minor>=t.Versions.TLS_1_1.minor&&s.output.putBytes(n),s.update(e.fragment),s.finish(i)&&(e.fragment=s.output,e.length=e.fragment.length(),a=!0),a}function i(e,t,r){if(!r){var n=e-t.length()%e;t.fillWithByte(n-1,n)}return!0}function a(e,t,r){var n=!0;if(r){for(var i=t.length(),a=t.last(),o=i-1-a;o<i-1;++o)n=n&&t.at(o)==a;n&&t.truncate(a+1)}return n}function o(e,r){var n,i=!1;n=e.version.minor===t.Versions.TLS_1_0.minor?r.cipherState.init?null:r.cipherState.iv:e.fragment.getBytes(16),r.cipherState.init=!0;var o=r.cipherState.cipher;o.start({iv:n}),o.update(e.fragment),i=o.finish(a);var s=r.macLength,c=F.random.getBytesSync(s),u=o.output.length();u>=s?(e.fragment=o.output.getBytes(u-s),c=o.output.getBytes(s)):e.fragment=o.output.getBytes(),e.fragment=F.util.createBuffer(e.fragment),e.length=e.fragment.length();var l=r.macFunction(r.macKey,r.sequenceNumber,e);return r.updateSequenceNumber(),function(e,t,r){var n=F.hmac.create();return n.start("SHA1",e),n.update(t),t=n.digest().getBytes(),n.start(null,null),n.update(r),t===(r=n.digest().getBytes())}(r.macKey,c,l)&&i}t.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=t.BulkCipherAlgorithm.aes,e.cipher_type=t.CipherType.block,e.enc_key_length=16,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=t.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:r},t.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=t.BulkCipherAlgorithm.aes,e.cipher_type=t.CipherType.block,e.enc_key_length=32,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=t.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:r}})),F.debug=F.debug||{},F.debug.storage={},F.debug.get=function(e,t){var r;return void 0===e?r=F.debug.storage:e in F.debug.storage&&(r=void 0===t?F.debug.storage[e]:F.debug.storage[e][t]),r},F.debug.set=function(e,t,r){e in F.debug.storage||(F.debug.storage[e]={}),F.debug.storage[e][t]=r},F.debug.clear=function(e,t){void 0===e?F.debug.storage={}:e in F.debug.storage&&(void 0===t?delete F.debug.storage[e]:delete F.debug.storage[e][t])},w((function(e){var t=e.exports=F.sha512=F.sha512||{};F.md.sha512=F.md.algorithms.sha512=t;var r=F.sha384=F.sha512.sha384=F.sha512.sha384||{};r.create=function(){return t.create("SHA-384")},F.md.sha384=F.md.algorithms.sha384=r,F.sha512.sha256=F.sha512.sha256||{create:function(){return t.create("SHA-512/256")}},F.md["sha512/256"]=F.md.algorithms["sha512/256"]=F.sha512.sha256,F.sha512.sha224=F.sha512.sha224||{create:function(){return t.create("SHA-512/224")}},F.md["sha512/224"]=F.md.algorithms["sha512/224"]=F.sha512.sha224,t.create=function(e){if(i||(n=String.fromCharCode(128),n+=F.util.fillString(String.fromCharCode(0),128),a=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],(o={})["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],o["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],o["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],o["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],i=!0),void 0===e&&(e="SHA-512"),!(e in o))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=o[e],r=null,c=F.util.createBuffer(),u=new Array(80),l=0;l<80;++l)u[l]=new Array(2);var d=64;switch(e){case"SHA-384":d=48;break;case"SHA-512/256":d=32;break;case"SHA-512/224":d=28}var f={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:d,messageLength:0,fullMessageLength:null,messageLengthSize:16,start:function(){f.messageLength=0,f.fullMessageLength=f.messageLength128=[];for(var e=f.messageLengthSize/4,n=0;n<e;++n)f.fullMessageLength.push(0);for(c=F.util.createBuffer(),r=new Array(t.length),n=0;n<t.length;++n)r[n]=t[n].slice(0);return f}};return f.start(),f.update=function(e,t){"utf8"===t&&(e=F.util.encodeUtf8(e));var n=e.length;f.messageLength+=n,n=[n/4294967296>>>0,n>>>0];for(var i=f.fullMessageLength.length-1;i>=0;--i)f.fullMessageLength[i]+=n[1],n[1]=n[0]+(f.fullMessageLength[i]/4294967296>>>0),f.fullMessageLength[i]=f.fullMessageLength[i]>>>0,n[0]=n[1]/4294967296>>>0;return c.putBytes(e),s(r,u,c),(c.read>2048||0===c.length())&&c.compact(),f},f.digest=function(){var t=F.util.createBuffer();t.putBytes(c.bytes());var i,a=f.fullMessageLength[f.fullMessageLength.length-1]+f.messageLengthSize&f.blockLength-1;t.putBytes(n.substr(0,f.blockLength-a));for(var o=8*f.fullMessageLength[0],l=0;l<f.fullMessageLength.length-1;++l)o+=(i=8*f.fullMessageLength[l+1])/4294967296>>>0,t.putInt32(o>>>0),o=i>>>0;t.putInt32(o);var d=new Array(r.length);for(l=0;l<r.length;++l)d[l]=r[l].slice(0);s(d,u,t);var p,h=F.util.createBuffer();for(p="SHA-512"===e?d.length:"SHA-384"===e?d.length-2:d.length-4,l=0;l<p;++l)h.putInt32(d[l][0]),l===p-1&&"SHA-512/224"===e||h.putInt32(d[l][1]);return h},f};var n=null,i=!1,a=null,o=null;function s(e,t,r){for(var n,i,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B,T,A,I,_,x,P,R,N,O,L,D,U=r.length();U>=128;){for(x=0;x<16;++x)t[x][0]=r.getInt32()>>>0,t[x][1]=r.getInt32()>>>0;for(;x<80;++x)n=(((P=(N=t[x-2])[0])>>>19|(R=N[1])<<13)^(R>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|R>>>19)^(R<<3|P>>>29)^(P<<26|R>>>6))>>>0,o=(((P=(L=t[x-15])[0])>>>1|(R=L[1])<<31)^(P>>>8|R<<24)^P>>>7)>>>0,s=((P<<31|R>>>1)^(P<<24|R>>>8)^(P<<25|R>>>7))>>>0,O=t[x-7],D=t[x-16],R=i+O[1]+s+D[1],t[x][0]=n+O[0]+o+D[0]+(R/4294967296>>>0)>>>0,t[x][1]=R>>>0;for(h=e[0][0],g=e[0][1],m=e[1][0],y=e[1][1],v=e[2][0],b=e[2][1],C=e[3][0],w=e[3][1],E=e[4][0],k=e[4][1],S=e[5][0],B=e[5][1],T=e[6][0],A=e[6][1],I=e[7][0],_=e[7][1],x=0;x<80;++x)l=((E>>>14|k<<18)^(E>>>18|k<<14)^(k>>>9|E<<23))>>>0,d=(T^E&(S^T))>>>0,c=((h>>>28|g<<4)^(g>>>2|h<<30)^(g>>>7|h<<25))>>>0,u=((h<<4|g>>>28)^(g<<30|h>>>2)^(g<<25|h>>>7))>>>0,f=(h&m|v&(h^m))>>>0,p=(g&y|b&(g^y))>>>0,R=_+(((E<<18|k>>>14)^(E<<14|k>>>18)^(k<<23|E>>>9))>>>0)+((A^k&(B^A))>>>0)+a[x][1]+t[x][1],n=I+l+d+a[x][0]+t[x][0]+(R/4294967296>>>0)>>>0,i=R>>>0,o=c+f+((R=u+p)/4294967296>>>0)>>>0,s=R>>>0,I=T,_=A,T=S,A=B,S=E,B=k,E=C+n+((R=w+i)/4294967296>>>0)>>>0,k=R>>>0,C=v,w=b,v=m,b=y,m=h,y=g,h=n+o+((R=i+s)/4294967296>>>0)>>>0,g=R>>>0;R=e[0][1]+g,e[0][0]=e[0][0]+h+(R/4294967296>>>0)>>>0,e[0][1]=R>>>0,R=e[1][1]+y,e[1][0]=e[1][0]+m+(R/4294967296>>>0)>>>0,e[1][1]=R>>>0,R=e[2][1]+b,e[2][0]=e[2][0]+v+(R/4294967296>>>0)>>>0,e[2][1]=R>>>0,R=e[3][1]+w,e[3][0]=e[3][0]+C+(R/4294967296>>>0)>>>0,e[3][1]=R>>>0,R=e[4][1]+k,e[4][0]=e[4][0]+E+(R/4294967296>>>0)>>>0,e[4][1]=R>>>0,R=e[5][1]+B,e[5][0]=e[5][0]+S+(R/4294967296>>>0)>>>0,e[5][1]=R>>>0,R=e[6][1]+A,e[6][0]=e[6][0]+T+(R/4294967296>>>0)>>>0,e[6][1]=R>>>0,R=e[7][1]+_,e[7][0]=e[7][0]+I+(R/4294967296>>>0)>>>0,e[7][1]=R>>>0,U-=128}}}));var lr=F.asn1,dr={privateKeyValidator:{name:"PrivateKeyInfo",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:lr.Class.UNIVERSAL,type:lr.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:lr.Class.UNIVERSAL,type:lr.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:lr.Class.UNIVERSAL,type:lr.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},publicKeyValidator:{name:"SubjectPublicKeyInfo",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:lr.Class.UNIVERSAL,type:lr.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{tagClass:lr.Class.UNIVERSAL,type:lr.Type.BITSTRING,constructed:!1,composed:!0,captureBitStringValue:"ed25519PublicKey"}]}},fr=dr.publicKeyValidator,pr=dr.privateKeyValidator;if(void 0===hr)var hr=F.jsbn.BigInteger;var gr=F.util.ByteBuffer,mr="undefined"==typeof Buffer?Uint8Array:Buffer;F.pki=F.pki||{},F.pki.ed25519=F.ed25519=F.ed25519||{};var yr=F.ed25519;function vr(e){var t=e.message;if(t instanceof Uint8Array||t instanceof mr)return t;var r=e.encoding;if(void 0===t){if(!e.md)throw new TypeError('"options.message" or "options.md" not specified.');t=e.md.digest().getBytes(),r="binary"}if("string"==typeof t&&!r)throw new TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof t){if("undefined"!=typeof Buffer)return Buffer.from(t,r);t=new gr(t,r)}else if(!(t instanceof gr))throw new TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var n=new mr(t.length()),i=0;i<n.length;++i)n[i]=t.at(i);return n}yr.constants={},yr.constants.PUBLIC_KEY_BYTE_LENGTH=32,yr.constants.PRIVATE_KEY_BYTE_LENGTH=64,yr.constants.SEED_BYTE_LENGTH=32,yr.constants.SIGN_BYTE_LENGTH=64,yr.constants.HASH_BYTE_LENGTH=64,yr.generateKeyPair=function(e){var t=(e=e||{}).seed;if(void 0===t)t=F.random.getBytesSync(yr.constants.SEED_BYTE_LENGTH);else if("string"==typeof t){if(t.length!==yr.constants.SEED_BYTE_LENGTH)throw new TypeError('"seed" must be '+yr.constants.SEED_BYTE_LENGTH+" bytes in length.")}else if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, Uint8Array, or a binary string.');t=vr({message:t,encoding:"binary"});for(var r=new mr(yr.constants.PUBLIC_KEY_BYTE_LENGTH),n=new mr(yr.constants.PRIVATE_KEY_BYTE_LENGTH),i=0;i<32;++i)n[i]=t[i];return function(e,t){var r,n=[zr(),zr(),zr(),zr()],i=Ar(t,32);for(i[0]&=248,i[31]&=127,i[31]|=64,Mr(n,i),Rr(e,n),r=0;r<32;++r)t[r+32]=e[r]}(r,n),{publicKey:r,privateKey:n}},yr.privateKeyFromAsn1=function(e){var t={},r=[];if(!F.asn1.validate(e,pr,t,r)){var n=new Error("Invalid Key.");throw n.errors=r,n}var i=F.asn1.derToOid(t.privateKeyOid),a=F.oids.EdDSA25519;if(i!==a)throw new Error('Invalid OID "'+i+'"; OID must be "'+a+'".');var o=t.privateKey;return{privateKeyBytes:vr({message:F.asn1.fromDer(o).value,encoding:"binary"})}},yr.publicKeyFromAsn1=function(e){var t={},r=[];if(!F.asn1.validate(e,fr,t,r)){var n=new Error("Invalid Key.");throw n.errors=r,n}var i=F.asn1.derToOid(t.publicKeyOid),a=F.oids.EdDSA25519;if(i!==a)throw new Error('Invalid OID "'+i+'"; OID must be "'+a+'".');var o=t.ed25519PublicKey;if(o.length!==yr.constants.PUBLIC_KEY_BYTE_LENGTH)throw new Error("Key length is invalid.");return vr({message:o,encoding:"binary"})},yr.publicKeyFromPrivateKey=function(e){var t=vr({message:(e=e||{}).privateKey,encoding:"binary"});if(t.length!==yr.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+yr.constants.PRIVATE_KEY_BYTE_LENGTH);for(var r=new mr(yr.constants.PUBLIC_KEY_BYTE_LENGTH),n=0;n<r.length;++n)r[n]=t[32+n];return r},yr.sign=function(e){var t=vr(e=e||{}),r=vr({message:e.privateKey,encoding:"binary"});if(r.length===yr.constants.SEED_BYTE_LENGTH)r=yr.generateKeyPair({seed:r}).privateKey;else if(r.length!==yr.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+yr.constants.SEED_BYTE_LENGTH+" or "+yr.constants.PRIVATE_KEY_BYTE_LENGTH);var n=new mr(yr.constants.SIGN_BYTE_LENGTH+t.length);!function(e,t,r,n){var i,a,o=new Float64Array(64),s=[zr(),zr(),zr(),zr()],c=Ar(n,32);for(c[0]&=248,c[31]&=127,c[31]|=64,i=0;i<r;++i)e[64+i]=t[i];for(i=0;i<32;++i)e[32+i]=c[32+i];var u=Ar(e.subarray(32),r+32);for(_r(u),Mr(s,u),Rr(e,s),i=32;i<64;++i)e[i]=n[i];var l=Ar(e,r+64);for(_r(l),i=32;i<64;++i)o[i]=0;for(i=0;i<32;++i)o[i]=u[i];for(i=0;i<32;++i)for(a=0;a<32;a++)o[i+a]+=l[i]*c[a];Ir(e.subarray(32),o)}(n,t,t.length,r);for(var i=new mr(yr.constants.SIGN_BYTE_LENGTH),a=0;a<i.length;++a)i[a]=n[a];return i},yr.verify=function(e){var t=vr(e=e||{});if(void 0===e.signature)throw new TypeError('"options.signature" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a binary string.');var r=vr({message:e.signature,encoding:"binary"});if(r.length!==yr.constants.SIGN_BYTE_LENGTH)throw new TypeError('"options.signature" must have a byte length of '+yr.constants.SIGN_BYTE_LENGTH);var n=vr({message:e.publicKey,encoding:"binary"});if(n.length!==yr.constants.PUBLIC_KEY_BYTE_LENGTH)throw new TypeError('"options.publicKey" must have a byte length of '+yr.constants.PUBLIC_KEY_BYTE_LENGTH);var i,a=new mr(yr.constants.SIGN_BYTE_LENGTH+t.length),o=new mr(yr.constants.SIGN_BYTE_LENGTH+t.length);for(i=0;i<yr.constants.SIGN_BYTE_LENGTH;++i)a[i]=r[i];for(i=0;i<t.length;++i)a[i+yr.constants.SIGN_BYTE_LENGTH]=t[i];return function(e,t,r,n){var i,a=new mr(32),o=[zr(),zr(),zr(),zr()],s=[zr(),zr(),zr(),zr()];if(r<64)return-1;if(function(e,t){var r=zr(),n=zr(),i=zr(),a=zr(),o=zr(),s=zr(),c=zr();return Vr(e[2],Cr),function(e,t){var r;for(r=0;r<16;++r)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}(e[1],t),Hr(i,e[1]),Gr(a,i,wr),qr(i,i,e[2]),Kr(a,e[2],a),Hr(o,a),Hr(s,o),Gr(c,s,o),Gr(r,c,i),Gr(r,r,a),function(e,t){var r,n=zr();for(r=0;r<16;++r)n[r]=t[r];for(r=250;r>=0;--r)Hr(n,n),1!==r&&Gr(n,n,t);for(r=0;r<16;++r)e[r]=n[r]}(r,r),Gr(r,r,i),Gr(r,r,a),Gr(r,r,a),Gr(e[0],r,a),Hr(n,e[0]),Gr(n,n,a),Or(n,i)&&Gr(e[0],e[0],Tr),Hr(n,e[0]),Gr(n,n,a),Or(n,i)?-1:(Dr(e[0])===t[31]>>7&&qr(e[0],br,e[0]),Gr(e[3],e[0],e[1]),0)}(s,n))return-1;for(i=0;i<r;++i)e[i]=t[i];for(i=0;i<32;++i)e[i+32]=n[i];var c=Ar(e,r);if(_r(c),Ur(o,s,c),Mr(s,t.subarray(32)),xr(o,s),Rr(a,o),r-=64,Lr(t,0,a,0)){for(i=0;i<r;++i)e[i]=0;return-1}for(i=0;i<r;++i)e[i]=t[i+64];return r}(o,a,a.length,n)>=0};var br=zr(),Cr=zr([1]),wr=zr([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),Er=zr([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),kr=zr([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Sr=zr([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),Br=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),Tr=zr([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function Ar(e,t){var r=F.md.sha512.create(),n=new gr(e);r.update(n.getBytes(t),"binary");var i=r.digest().getBytes();if("undefined"!=typeof Buffer)return Buffer.from(i,"binary");for(var a=new mr(yr.constants.HASH_BYTE_LENGTH),o=0;o<64;++o)a[o]=i.charCodeAt(o);return a}function Ir(e,t){var r,n,i,a;for(n=63;n>=32;--n){for(r=0,i=n-32,a=n-12;i<a;++i)t[i]+=r-16*t[n]*Br[i-(n-32)],r=t[i]+128>>8,t[i]-=256*r;t[i]+=r,t[n]=0}for(r=0,i=0;i<32;++i)t[i]+=r-(t[31]>>4)*Br[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;++i)t[i]-=r*Br[i];for(n=0;n<32;++n)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function _r(e){for(var t=new Float64Array(64),r=0;r<64;++r)t[r]=e[r],e[r]=0;Ir(e,t)}function xr(e,t){var r=zr(),n=zr(),i=zr(),a=zr(),o=zr(),s=zr(),c=zr(),u=zr(),l=zr();qr(r,e[1],e[0]),qr(l,t[1],t[0]),Gr(r,r,l),Kr(n,e[0],e[1]),Kr(l,t[0],t[1]),Gr(n,n,l),Gr(i,e[3],t[3]),Gr(i,i,Er),Gr(a,e[2],t[2]),Kr(a,a,a),qr(o,n,r),qr(s,a,i),Kr(c,a,i),Kr(u,n,r),Gr(e[0],o,s),Gr(e[1],u,c),Gr(e[2],c,s),Gr(e[3],o,u)}function Pr(e,t,r){for(var n=0;n<4;++n)Fr(e[n],t[n],r)}function Rr(e,t){var r=zr(),n=zr(),i=zr();!function(e,t){var r,n=zr();for(r=0;r<16;++r)n[r]=t[r];for(r=253;r>=0;--r)Hr(n,n),2!==r&&4!==r&&Gr(n,n,t);for(r=0;r<16;++r)e[r]=n[r]}(i,t[2]),Gr(r,t[0],i),Gr(n,t[1],i),Nr(e,n),e[31]^=Dr(r)<<7}function Nr(e,t){var r,n,i,a=zr(),o=zr();for(r=0;r<16;++r)o[r]=t[r];for(jr(o),jr(o),jr(o),n=0;n<2;++n){for(a[0]=o[0]-65517,r=1;r<15;++r)a[r]=o[r]-65535-(a[r-1]>>16&1),a[r-1]&=65535;a[15]=o[15]-32767-(a[14]>>16&1),i=a[15]>>16&1,a[14]&=65535,Fr(o,a,1-i)}for(r=0;r<16;r++)e[2*r]=255&o[r],e[2*r+1]=o[r]>>8}function Or(e,t){var r=new mr(32),n=new mr(32);return Nr(r,e),Nr(n,t),Lr(r,0,n,0)}function Lr(e,t,r,n){return function(e,t,r,n,i){var a,o=0;for(a=0;a<i;++a)o|=e[t+a]^r[n+a];return(1&o-1>>>8)-1}(e,t,r,n,32)}function Dr(e){var t=new mr(32);return Nr(t,e),1&t[0]}function Ur(e,t,r){var n,i;for(Vr(e[0],br),Vr(e[1],Cr),Vr(e[2],Cr),Vr(e[3],br),i=255;i>=0;--i)Pr(e,t,n=r[i/8|0]>>(7&i)&1),xr(t,e),xr(e,e),Pr(e,t,n)}function Mr(e,t){var r=[zr(),zr(),zr(),zr()];Vr(r[0],kr),Vr(r[1],Sr),Vr(r[2],Cr),Gr(r[3],kr,Sr),Ur(e,r,t)}function Vr(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function jr(e){var t,r,n=1;for(t=0;t<16;++t)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function Fr(e,t,r){for(var n,i=~(r-1),a=0;a<16;++a)n=i&(e[a]^t[a]),e[a]^=n,t[a]^=n}function zr(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;++t)r[t]=e[t];return r}function Kr(e,t,r){for(var n=0;n<16;++n)e[n]=t[n]+r[n]}function qr(e,t,r){for(var n=0;n<16;++n)e[n]=t[n]-r[n]}function Hr(e,t){Gr(e,t,t)}function Gr(e,t,r){var n,i,a=0,o=0,s=0,c=0,u=0,l=0,d=0,f=0,p=0,h=0,g=0,m=0,y=0,v=0,b=0,C=0,w=0,E=0,k=0,S=0,B=0,T=0,A=0,I=0,_=0,x=0,P=0,R=0,N=0,O=0,L=0,D=r[0],U=r[1],M=r[2],V=r[3],j=r[4],F=r[5],z=r[6],K=r[7],q=r[8],H=r[9],G=r[10],Q=r[11],W=r[12],X=r[13],Y=r[14],$=r[15];a+=(n=t[0])*D,o+=n*U,s+=n*M,c+=n*V,u+=n*j,l+=n*F,d+=n*z,f+=n*K,p+=n*q,h+=n*H,g+=n*G,m+=n*Q,y+=n*W,v+=n*X,b+=n*Y,C+=n*$,o+=(n=t[1])*D,s+=n*U,c+=n*M,u+=n*V,l+=n*j,d+=n*F,f+=n*z,p+=n*K,h+=n*q,g+=n*H,m+=n*G,y+=n*Q,v+=n*W,b+=n*X,C+=n*Y,w+=n*$,s+=(n=t[2])*D,c+=n*U,u+=n*M,l+=n*V,d+=n*j,f+=n*F,p+=n*z,h+=n*K,g+=n*q,m+=n*H,y+=n*G,v+=n*Q,b+=n*W,C+=n*X,w+=n*Y,E+=n*$,c+=(n=t[3])*D,u+=n*U,l+=n*M,d+=n*V,f+=n*j,p+=n*F,h+=n*z,g+=n*K,m+=n*q,y+=n*H,v+=n*G,b+=n*Q,C+=n*W,w+=n*X,E+=n*Y,k+=n*$,u+=(n=t[4])*D,l+=n*U,d+=n*M,f+=n*V,p+=n*j,h+=n*F,g+=n*z,m+=n*K,y+=n*q,v+=n*H,b+=n*G,C+=n*Q,w+=n*W,E+=n*X,k+=n*Y,S+=n*$,l+=(n=t[5])*D,d+=n*U,f+=n*M,p+=n*V,h+=n*j,g+=n*F,m+=n*z,y+=n*K,v+=n*q,b+=n*H,C+=n*G,w+=n*Q,E+=n*W,k+=n*X,S+=n*Y,B+=n*$,d+=(n=t[6])*D,f+=n*U,p+=n*M,h+=n*V,g+=n*j,m+=n*F,y+=n*z,v+=n*K,b+=n*q,C+=n*H,w+=n*G,E+=n*Q,k+=n*W,S+=n*X,B+=n*Y,T+=n*$,f+=(n=t[7])*D,p+=n*U,h+=n*M,g+=n*V,m+=n*j,y+=n*F,v+=n*z,b+=n*K,C+=n*q,w+=n*H,E+=n*G,k+=n*Q,S+=n*W,B+=n*X,T+=n*Y,A+=n*$,p+=(n=t[8])*D,h+=n*U,g+=n*M,m+=n*V,y+=n*j,v+=n*F,b+=n*z,C+=n*K,w+=n*q,E+=n*H,k+=n*G,S+=n*Q,B+=n*W,T+=n*X,A+=n*Y,I+=n*$,h+=(n=t[9])*D,g+=n*U,m+=n*M,y+=n*V,v+=n*j,b+=n*F,C+=n*z,w+=n*K,E+=n*q,k+=n*H,S+=n*G,B+=n*Q,T+=n*W,A+=n*X,I+=n*Y,_+=n*$,g+=(n=t[10])*D,m+=n*U,y+=n*M,v+=n*V,b+=n*j,C+=n*F,w+=n*z,E+=n*K,k+=n*q,S+=n*H,B+=n*G,T+=n*Q,A+=n*W,I+=n*X,_+=n*Y,x+=n*$,m+=(n=t[11])*D,y+=n*U,v+=n*M,b+=n*V,C+=n*j,w+=n*F,E+=n*z,k+=n*K,S+=n*q,B+=n*H,T+=n*G,A+=n*Q,I+=n*W,_+=n*X,x+=n*Y,P+=n*$,y+=(n=t[12])*D,v+=n*U,b+=n*M,C+=n*V,w+=n*j,E+=n*F,k+=n*z,S+=n*K,B+=n*q,T+=n*H,A+=n*G,I+=n*Q,_+=n*W,x+=n*X,P+=n*Y,R+=n*$,v+=(n=t[13])*D,b+=n*U,C+=n*M,w+=n*V,E+=n*j,k+=n*F,S+=n*z,B+=n*K,T+=n*q,A+=n*H,I+=n*G,_+=n*Q,x+=n*W,P+=n*X,R+=n*Y,N+=n*$,b+=(n=t[14])*D,C+=n*U,w+=n*M,E+=n*V,k+=n*j,S+=n*F,B+=n*z,T+=n*K,A+=n*q,I+=n*H,_+=n*G,x+=n*Q,P+=n*W,R+=n*X,N+=n*Y,O+=n*$,C+=(n=t[15])*D,o+=38*(E+=n*M),s+=38*(k+=n*V),c+=38*(S+=n*j),u+=38*(B+=n*F),l+=38*(T+=n*z),d+=38*(A+=n*K),f+=38*(I+=n*q),p+=38*(_+=n*H),h+=38*(x+=n*G),g+=38*(P+=n*Q),m+=38*(R+=n*W),y+=38*(N+=n*X),v+=38*(O+=n*Y),b+=38*(L+=n*$),a=(n=(a+=38*(w+=n*U))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),v=(n=v+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),C=(n=C+i+65535)-65536*(i=Math.floor(n/65536)),a=(n=(a+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),v=(n=v+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),C=(n=C+i+65535)-65536*(i=Math.floor(n/65536)),a+=i-1+37*(i-1),e[0]=a,e[1]=o,e[2]=s,e[3]=c,e[4]=u,e[5]=l,e[6]=d,e[7]=f,e[8]=p,e[9]=h,e[10]=g,e[11]=m,e[12]=y,e[13]=v,e[14]=b,e[15]=C}F.kem=F.kem||{};var Qr=F.jsbn.BigInteger;function Wr(e,t,r,n){e.generate=function(e,i){for(var a=new F.util.ByteBuffer,o=Math.ceil(i/n)+r,s=new F.util.ByteBuffer,c=r;c<o;++c){s.putInt32(c),t.start(),t.update(e+s.getBytes());var u=t.digest();a.putBytes(u.getBytes(n))}return a.truncate(a.length()-i),a.getBytes()}}F.kem.rsa={},F.kem.rsa.create=function(e,t){var r=(t=t||{}).prng||F.random;return{encrypt:function(t,n){var i,a=Math.ceil(t.n.bitLength()/8);do{i=new Qr(F.util.bytesToHex(r.getBytesSync(a)),16).mod(t.n)}while(i.compareTo(Qr.ONE)<=0);var o=a-(i=F.util.hexToBytes(i.toString(16))).length;return o>0&&(i=F.util.fillString(String.fromCharCode(0),o)+i),{encapsulation:t.encrypt(i,"NONE"),key:e.generate(i,n)}},decrypt:function(t,r,n){var i=t.decrypt(r,"NONE");return e.generate(i,n)}}},F.kem.kdf1=function(e,t){Wr(this,e,0,t||e.digestLength)},F.kem.kdf2=function(e,t){Wr(this,e,1,t||e.digestLength)},F.log=F.log||{},F.log.levels=["none","error","warning","info","debug","verbose","max"];var Xr={},Yr=[],$r=null;F.log.LEVEL_LOCKED=2,F.log.NO_LEVEL_CHECK=4,F.log.INTERPOLATE=8;for(var Zr=0;Zr<F.log.levels.length;++Zr){var Jr=F.log.levels[Zr];Xr[Jr]={index:Zr,name:Jr.toUpperCase()}}F.log.logMessage=function(e){for(var t=Xr[e.level].index,r=0;r<Yr.length;++r){var n=Yr[r];n.flags&F.log.NO_LEVEL_CHECK?n.f(e):t<=Xr[n.level].index&&n.f(n,e)}},F.log.prepareStandard=function(e){"standard"in e||(e.standard=Xr[e.level].name+" ["+e.category+"] "+e.message)},F.log.prepareFull=function(e){if(!("full"in e)){var t=[e.message];t=t.concat([]||e.arguments),e.full=F.util.format.apply(this,t)}},F.log.prepareStandardFull=function(e){"standardFull"in e||(F.log.prepareStandard(e),e.standardFull=e.standard)};var en=["error","warning","info","debug","verbose"];for(Zr=0;Zr<en.length;++Zr)!function(e){F.log[e]=function(t,r){var n=Array.prototype.slice.call(arguments).slice(2),i={timestamp:new Date,level:e,category:t,message:r,arguments:n};F.log.logMessage(i)}}(en[Zr]);if(F.log.makeLogger=function(e){var t={flags:0,f:e};return F.log.setLevel(t,"none"),t},F.log.setLevel=function(e,t){var r=!1;if(e&&!(e.flags&F.log.LEVEL_LOCKED))for(var n=0;n<F.log.levels.length;++n)if(t==F.log.levels[n]){e.level=t,r=!0;break}return r},F.log.lock=function(e,t){void 0===t||t?e.flags|=F.log.LEVEL_LOCKED:e.flags&=~F.log.LEVEL_LOCKED},F.log.addLogger=function(e){Yr.push(e)},"undefined"!=typeof console&&"log"in console){var tn;if(console.error&&console.warn&&console.info&&console.debug){var rn={error:console.error,warning:console.warn,info:console.info,debug:console.debug,verbose:console.debug},nn=function(e,t){F.log.prepareStandard(t);var r=rn[t.level],n=[t.standard];n=n.concat(t.arguments.slice()),r.apply(console,n)};tn=F.log.makeLogger(nn)}else nn=function(e,t){F.log.prepareStandardFull(t),console.log(t.standardFull)},tn=F.log.makeLogger(nn);F.log.setLevel(tn,"debug"),F.log.addLogger(tn),$r=tn}else console={log:function(){}};if(null!==$r){var an=F.util.getQueryVariables();"console.level"in an&&F.log.setLevel($r,an["console.level"].slice(-1)[0]),"console.lock"in an&&"true"==an["console.lock"].slice(-1)[0]&&F.log.lock($r)}F.log.consoleLogger=$r,w((function(e){var t=F.asn1,r=e.exports=F.pkcs7=F.pkcs7||{};function n(e){var n={},i=[];if(!t.validate(e,r.asn1.recipientInfoValidator,n,i)){var a=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw a.errors=i,a}return{version:n.version.charCodeAt(0),issuer:F.pki.RDNAttributesAsArray(n.issuer),serialNumber:F.util.createBuffer(n.serial).toHex(),encryptedContent:{algorithm:t.derToOid(n.encAlgorithm),parameter:n.encParameter.value,content:n.encKey}}}function i(e){for(var r,n=[],i=0;i<e.length;++i)n.push((r=e[i],t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(r.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[F.pki.distinguishedNameToAsn1({attributes:r.issuer}),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,F.util.hexToBytes(r.serialNumber))]),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.encryptedContent.algorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")]),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,r.encryptedContent.content)])));return n}function a(e){var r=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[F.pki.distinguishedNameToAsn1({attributes:e.issuer}),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,F.util.hexToBytes(e.serialNumber))]),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.digestAlgorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])]);if(e.authenticatedAttributesAsn1&&r.value.push(e.authenticatedAttributesAsn1),r.value.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.signatureAlgorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])),r.value.push(t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,e.signature)),e.unauthenticatedAttributes.length>0){for(var n=t.create(t.Class.CONTEXT_SPECIFIC,1,!0,[]),i=0;i<e.unauthenticatedAttributes.length;++i){var a=e.unauthenticatedAttributes[i];n.values.push(o(a))}r.value.push(n)}return r}function o(e){var r;if(e.type===F.pki.oids.contentType)r=t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.value).getBytes());else if(e.type===F.pki.oids.messageDigest)r=t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,e.value.bytes());else if(e.type===F.pki.oids.signingTime){var n=new Date("1950-01-01T00:00:00Z"),i=new Date("2050-01-01T00:00:00Z"),a=e.value;if("string"==typeof a){var o=Date.parse(a);a=isNaN(o)?13===a.length?t.utcTimeToDate(a):t.generalizedTimeToDate(a):new Date(o)}r=a>=n&&a<i?t.create(t.Class.UNIVERSAL,t.Type.UTCTIME,!1,t.dateToUtcTime(a)):t.create(t.Class.UNIVERSAL,t.Type.GENERALIZEDTIME,!1,t.dateToGeneralizedTime(a))}return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.type).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[r])])}function s(e,r,n){var i={};if(!t.validate(r,n,i,[])){var a=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw a.errors=a,a}if(t.derToOid(i.contentType)!==F.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(i.encryptedContent){var o="";if(F.util.isArray(i.encryptedContent))for(var s=0;s<i.encryptedContent.length;++s){if(i.encryptedContent[s].type!==t.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");o+=i.encryptedContent[s].value}else o=i.encryptedContent;e.encryptedContent={algorithm:t.derToOid(i.encAlgorithm),parameter:F.util.createBuffer(i.encParameter.value),content:F.util.createBuffer(o)}}if(i.content){if(o="",F.util.isArray(i.content))for(s=0;s<i.content.length;++s){if(i.content[s].type!==t.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");o+=i.content[s].value}else o=i.content;e.content=F.util.createBuffer(o)}return e.version=i.version.charCodeAt(0),e.rawCapture=i,i}function c(e){if(void 0===e.encryptedContent.key)throw new Error("Symmetric key not available.");if(void 0===e.content){var t;switch(e.encryptedContent.algorithm){case F.pki.oids["aes128-CBC"]:case F.pki.oids["aes192-CBC"]:case F.pki.oids["aes256-CBC"]:t=F.aes.createDecryptionCipher(e.encryptedContent.key);break;case F.pki.oids.desCBC:case F.pki.oids["des-EDE3-CBC"]:t=F.des.createDecryptionCipher(e.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+e.encryptedContent.algorithm)}if(t.start(e.encryptedContent.parameter),t.update(e.encryptedContent.content),!t.finish())throw new Error("Symmetric decryption failed.");e.content=t.output}}r.messageFromPem=function(e){var n=F.pem.decode(e)[0];if("PKCS7"!==n.type){var i=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw i.headerType=n.type,i}if(n.procType&&"ENCRYPTED"===n.procType.type)throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var a=t.fromDer(n.body);return r.messageFromAsn1(a)},r.messageToPem=function(e,r){var n={type:"PKCS7",body:t.toDer(e.toAsn1()).getBytes()};return F.pem.encode(n,{maxline:r})},r.messageFromAsn1=function(e){var n={},i=[];if(!t.validate(e,r.asn1.contentInfoValidator,n,i)){var a=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw a.errors=i,a}var o,s=t.derToOid(n.contentType);switch(s){case F.pki.oids.envelopedData:o=r.createEnvelopedData();break;case F.pki.oids.encryptedData:o=r.createEncryptedData();break;case F.pki.oids.signedData:o=r.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+s+" is not (yet) supported.")}return o.fromAsn1(n.content.value[0]),o},r.createSignedData=function(){var e=null;return e={type:F.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(t){if(s(e,t,r.asn1.signedDataValidator),e.certificates=[],e.crls=[],e.digestAlgorithmIdentifiers=[],e.contentInfo=null,e.signerInfos=[],e.rawCapture.certificates)for(var n=e.rawCapture.certificates.value,i=0;i<n.length;++i)e.certificates.push(F.pki.certificateFromAsn1(n[i]))},toAsn1:function(){e.contentInfo||e.sign();for(var r=[],n=0;n<e.certificates.length;++n)r.push(F.pki.certificateToAsn1(e.certificates[n]));var i=[],a=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,e.digestAlgorithmIdentifiers),e.contentInfo])]);return r.length>0&&a.value[0].value.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,r)),i.length>0&&a.value[0].value.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,i)),a.value[0].value.push(t.create(t.Class.UNIVERSAL,t.Type.SET,!0,e.signerInfos)),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.type).getBytes()),a])},addSigner:function(t){var r=t.issuer,n=t.serialNumber;if(t.certificate){var i=t.certificate;"string"==typeof i&&(i=F.pki.certificateFromPem(i)),r=i.issuer.attributes,n=i.serialNumber}var a=t.key;if(!a)throw new Error("Could not add PKCS#7 signer; no private key specified.");"string"==typeof a&&(a=F.pki.privateKeyFromPem(a));var o=t.digestAlgorithm||F.pki.oids.sha1;switch(o){case F.pki.oids.sha1:case F.pki.oids.sha256:case F.pki.oids.sha384:case F.pki.oids.sha512:case F.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+o)}var s=t.authenticatedAttributes||[];if(s.length>0){for(var c=!1,u=!1,l=0;l<s.length;++l){var d=s[l];if(c||d.type!==F.pki.oids.contentType){if(u||d.type!==F.pki.oids.messageDigest);else if(u=!0,c)break}else if(c=!0,u)break}if(!c||!u)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}e.signers.push({key:a,version:1,issuer:r,serialNumber:n,digestAlgorithm:o,signatureAlgorithm:F.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:s,unauthenticatedAttributes:[]})},sign:function(r){var n;r=r||{},("object"!=typeof e.content||null===e.contentInfo)&&(e.contentInfo=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(F.pki.oids.data).getBytes())]),"content"in e&&(e.content instanceof F.util.ByteBuffer?n=e.content.bytes():"string"==typeof e.content&&(n=F.util.encodeUtf8(e.content)),r.detached?e.detachedContent=t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,n):e.contentInfo.value.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,n)])))),0!==e.signers.length&&function(r){var n;if(!(n=e.detachedContent?e.detachedContent:(n=e.contentInfo.value[1]).value[0]))throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var i=t.derToOid(e.contentInfo.value[0].value),s=t.toDer(n);for(var c in s.getByte(),t.getBerValueLength(s),s=s.getBytes(),r)r[c].start().update(s);for(var u=new Date,l=0;l<e.signers.length;++l){var d=e.signers[l];if(0===d.authenticatedAttributes.length){if(i!==F.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{d.authenticatedAttributesAsn1=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var f=t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[]),p=0;p<d.authenticatedAttributes.length;++p){var h=d.authenticatedAttributes[p];h.type===F.pki.oids.messageDigest?h.value=r[d.digestAlgorithm].digest():h.type===F.pki.oids.signingTime&&(h.value||(h.value=u)),f.value.push(o(h)),d.authenticatedAttributesAsn1.value.push(o(h))}s=t.toDer(f).getBytes(),d.md.start().update(s)}d.signature=d.key.sign(d.md,"RSASSA-PKCS1-V1_5")}e.signerInfos=function(e){for(var t=[],r=0;r<e.length;++r)t.push(a(e[r]));return t}(e.signers)}(function(){for(var r={},n=0;n<e.signers.length;++n){var i=e.signers[n];(a=i.digestAlgorithm)in r||(r[a]=F.md[F.pki.oids[a]].create()),0===i.authenticatedAttributes.length?i.md=r[a]:i.md=F.md[F.pki.oids[a]].create()}for(var a in e.digestAlgorithmIdentifiers=[],r)e.digestAlgorithmIdentifiers.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(a).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")]));return r}())},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(t){"string"==typeof t&&(t=F.pki.certificateFromPem(t)),e.certificates.push(t)},addCertificateRevokationList:function(e){throw new Error("PKCS#7 CRL support not yet implemented.")}}},r.createEncryptedData=function(){var e=null;return e={type:F.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:F.pki.oids["aes256-CBC"]},fromAsn1:function(t){s(e,t,r.asn1.encryptedDataValidator)},decrypt:function(t){void 0!==t&&(e.encryptedContent.key=t),c(e)}}},r.createEnvelopedData=function(){var e=null;return e={type:F.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:F.pki.oids["aes256-CBC"]},fromAsn1:function(t){var i=s(e,t,r.asn1.envelopedDataValidator);e.recipients=function(e){for(var t=[],r=0;r<e.length;++r)t.push(n(e[r]));return t}(i.recipientInfos.value)},toAsn1:function(){return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.type).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,i(e.recipients)),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,(r=e.encryptedContent,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(F.pki.oids.data).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.algorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,r.parameter.getBytes())]),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,r.content.getBytes())])]))])])]);var r},findRecipient:function(t){for(var r=t.issuer.attributes,n=0;n<e.recipients.length;++n){var i=e.recipients[n],a=i.issuer;if(i.serialNumber===t.serialNumber&&a.length===r.length){for(var o=!0,s=0;s<r.length;++s)if(a[s].type!==r[s].type||a[s].value!==r[s].value){o=!1;break}if(o)return i}}return null},decrypt:function(t,r){if(void 0===e.encryptedContent.key&&void 0!==t&&void 0!==r)switch(t.encryptedContent.algorithm){case F.pki.oids.rsaEncryption:case F.pki.oids.desCBC:var n=r.decrypt(t.encryptedContent.content);e.encryptedContent.key=F.util.createBuffer(n);break;default:throw new Error("Unsupported asymmetric cipher, OID "+t.encryptedContent.algorithm)}c(e)},addRecipient:function(t){e.recipients.push({version:0,issuer:t.issuer.attributes,serialNumber:t.serialNumber,encryptedContent:{algorithm:F.pki.oids.rsaEncryption,key:t.publicKey}})},encrypt:function(t,r){if(void 0===e.encryptedContent.content){var n,i,a;switch(r=r||e.encryptedContent.algorithm,t=t||e.encryptedContent.key,r){case F.pki.oids["aes128-CBC"]:n=16,i=16,a=F.aes.createEncryptionCipher;break;case F.pki.oids["aes192-CBC"]:n=24,i=16,a=F.aes.createEncryptionCipher;break;case F.pki.oids["aes256-CBC"]:n=32,i=16,a=F.aes.createEncryptionCipher;break;case F.pki.oids["des-EDE3-CBC"]:n=24,i=8,a=F.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+r)}if(void 0===t)t=F.util.createBuffer(F.random.getBytes(n));else if(t.length()!=n)throw new Error("Symmetric key has wrong length; got "+t.length()+" bytes, expected "+n+".");e.encryptedContent.algorithm=r,e.encryptedContent.key=t,e.encryptedContent.parameter=F.util.createBuffer(F.random.getBytes(i));var o=a(t);if(o.start(e.encryptedContent.parameter.copy()),o.update(e.content),!o.finish())throw new Error("Symmetric encryption failed.");e.encryptedContent.content=o.output}for(var s=0;s<e.recipients.length;++s){var c=e.recipients[s];if(void 0===c.encryptedContent.content)switch(c.encryptedContent.algorithm){case F.pki.oids.rsaEncryption:c.encryptedContent.content=c.encryptedContent.key.encrypt(e.encryptedContent.key.data);break;default:throw new Error("Unsupported asymmetric cipher, OID "+c.encryptedContent.algorithm)}}}}}})),w((function(e){var t=e.exports=F.ssh=F.ssh||{};function r(e,t){var r=t.toString(16);r[0]>="8"&&(r="00"+r);var n=F.util.hexToBytes(r);e.putInt32(n.length),e.putBytes(n)}function n(e,t){e.putInt32(t.length),e.putString(t)}function i(){for(var e=F.md.sha1.create(),t=arguments.length,r=0;r<t;++r)e.update(arguments[r]);return e.digest()}t.privateKeyToPutty=function(e,t,a){var o=""===(t=t||"")?"none":"aes256-cbc",s="PuTTY-User-Key-File-2: ssh-rsa\r\n";s+="Encryption: "+o+"\r\n",s+="Comment: "+(a=a||"")+"\r\n";var c=F.util.createBuffer();n(c,"ssh-rsa"),r(c,e.e),r(c,e.n);var u=F.util.encode64(c.bytes(),64),l=Math.floor(u.length/66)+1;s+="Public-Lines: "+l+"\r\n",s+=u;var d,f=F.util.createBuffer();if(r(f,e.d),r(f,e.p),r(f,e.q),r(f,e.qInv),t){var p=f.length()+16-1;p-=p%16;var h=i(f.bytes());h.truncate(h.length()-p+f.length()),f.putBuffer(h);var g=F.util.createBuffer();g.putBuffer(i("\0\0\0\0",t)),g.putBuffer(i("\0\0\0",t));var m=F.aes.createEncryptionCipher(g.truncate(8),"CBC");m.start(F.util.createBuffer().fillWithByte(0,16)),m.update(f.copy()),m.finish();var y=m.output;y.truncate(16),d=F.util.encode64(y.bytes(),64)}else d=F.util.encode64(f.bytes(),64);s+="\r\nPrivate-Lines: "+(l=Math.floor(d.length/66)+1)+"\r\n",s+=d;var v=i("putty-private-key-file-mac-key",t),b=F.util.createBuffer();n(b,"ssh-rsa"),n(b,o),n(b,a),b.putInt32(c.length()),b.putBuffer(c),b.putInt32(f.length()),b.putBuffer(f);var C=F.hmac.create();return C.start("sha1",v),C.update(b.bytes()),s+"\r\nPrivate-MAC: "+C.digest().toHex()+"\r\n"},t.publicKeyToOpenSSH=function(e,t){t=t||"";var i=F.util.createBuffer();return n(i,"ssh-rsa"),r(i,e.e),r(i,e.n),"ssh-rsa "+F.util.encode64(i.bytes())+" "+t},t.privateKeyToOpenSSH=function(e,t){return t?F.pki.encryptRsaPrivateKey(e,t,{legacy:!0,algorithm:"aes128"}):F.pki.privateKeyToPem(e)},t.getPublicKeyFingerprint=function(e,t){var i=(t=t||{}).md||F.md.md5.create(),a=F.util.createBuffer();n(a,"ssh-rsa"),r(a,e.e),r(a,e.n),i.start(),i.update(a.getBytes());var o=i.digest();if("hex"===t.encoding){var s=o.toHex();return t.delimiter?s.match(/.{2}/g).join(t.delimiter):s}if("binary"===t.encoding)return o.getBytes();if(t.encoding)throw new Error('Unknown encoding "'+t.encoding+'".');return o}}));var on="forge.task",sn={},cn=0;F.debug.set(on,"tasks",sn);var un={};F.debug.set(on,"queues",un);var ln="ready",dn="running",fn="blocked",pn="sleeping",hn="done",gn="error",mn={ready:{}};mn.ready.stop=ln,mn.ready.start=dn,mn.ready.cancel=hn,mn.ready.fail=gn,mn.running={},mn.running.stop=ln,mn.running.start=dn,mn.running.block=fn,mn.running.unblock=dn,mn.running.sleep=pn,mn.running.wakeup=dn,mn.running.cancel=hn,mn.running.fail=gn,mn.blocked={},mn.blocked.stop=fn,mn.blocked.start=fn,mn.blocked.block=fn,mn.blocked.unblock=fn,mn.blocked.sleep=fn,mn.blocked.wakeup=fn,mn.blocked.cancel=hn,mn.blocked.fail=gn,mn.sleeping={},mn.sleeping.stop=pn,mn.sleeping.start=pn,mn.sleeping.block=pn,mn.sleeping.unblock=pn,mn.sleeping.sleep=pn,mn.sleeping.wakeup=pn,mn.sleeping.cancel=hn,mn.sleeping.fail=gn,mn.done={},mn.done.stop=hn,mn.done.start=hn,mn.done.block=hn,mn.done.unblock=hn,mn.done.sleep=hn,mn.done.wakeup=hn,mn.done.cancel=hn,mn.done.fail=gn,mn.error={},mn.error.stop=gn,mn.error.start=gn,mn.error.block=gn,mn.error.unblock=gn,mn.error.sleep=gn,mn.error.wakeup=gn,mn.error.cancel=gn,mn.error.fail=gn;var yn=function(e){this.id=-1,this.name=e.name||"?",this.parent=e.parent||null,this.run=e.run,this.subtasks=[],this.error=!1,this.state=ln,this.blocks=0,this.timeoutId=null,this.swapTime=null,this.userData=null,this.id=cn++,sn[this.id]=this};yn.prototype.debug=function(e){e=e||"",F.log.debug(on,e,"[%s][%s] task:",this.id,this.name,this,"subtasks:",this.subtasks.length,"queue:",un)},yn.prototype.next=function(e,t){"function"==typeof e&&(t=e,e=this.name);var r=new yn({run:t,name:e,parent:this});return r.state=dn,r.type=this.type,r.successCallback=this.successCallback||null,r.failureCallback=this.failureCallback||null,this.subtasks.push(r),this},yn.prototype.parallel=function(e,t){return F.util.isArray(e)&&(t=e,e=this.name),this.next(e,(function(r){var n=r;n.block(t.length);for(var i=function(e,r){F.task.start({type:e,run:function(e){t[r](e)},success:function(e){n.unblock()},failure:function(e){n.unblock()}})},a=0;a<t.length;a++)i(e+"__parallel-"+r.id+"-"+a,a)}))},yn.prototype.stop=function(){this.state=mn[this.state].stop},yn.prototype.start=function(){this.error=!1,this.state=mn[this.state].start,this.state===dn&&(this.start=new Date,this.run(this),vn(this,0))},yn.prototype.block=function(e){e=void 0===e?1:e,this.blocks+=e,this.blocks>0&&(this.state=mn[this.state].block)},yn.prototype.unblock=function(e){return e=void 0===e?1:e,this.blocks-=e,0===this.blocks&&this.state!==hn&&(this.state=dn,vn(this,0)),this.blocks},yn.prototype.sleep=function(e){e=void 0===e?0:e,this.state=mn[this.state].sleep;var t=this;this.timeoutId=setTimeout((function(){t.timeoutId=null,t.state=dn,vn(t,0)}),e)},yn.prototype.wait=function(e){e.wait(this)},yn.prototype.wakeup=function(){this.state===pn&&(cancelTimeout(this.timeoutId),this.timeoutId=null,this.state=dn,vn(this,0))},yn.prototype.cancel=function(){this.state=mn[this.state].cancel,this.permitsNeeded=0,null!==this.timeoutId&&(cancelTimeout(this.timeoutId),this.timeoutId=null),this.subtasks=[]},yn.prototype.fail=function(e){if(this.error=!0,bn(this,!0),e)e.error=this.error,e.swapTime=this.swapTime,e.userData=this.userData,vn(e,0);else{if(null!==this.parent){for(var t=this.parent;null!==t.parent;)t.error=this.error,t.swapTime=this.swapTime,t.userData=this.userData,t=t.parent;bn(t,!0)}this.failureCallback&&this.failureCallback(this)}};var vn=function(e,t){var r=t>30||+new Date-e.swapTime>20,n=function(t){if(t++,e.state===dn)if(r&&(e.swapTime=+new Date),e.subtasks.length>0){var n=e.subtasks.shift();n.error=e.error,n.swapTime=e.swapTime,n.userData=e.userData,n.run(n),n.error||vn(n,t)}else bn(e),e.error||null!==e.parent&&(e.parent.error=e.error,e.parent.swapTime=e.swapTime,e.parent.userData=e.userData,vn(e.parent,t))};r?setTimeout(n,0):n(t)},bn=function(e,t){e.state=hn,delete sn[e.id],null===e.parent&&(e.type in un?0===un[e.type].length?F.log.error(on,"[%s][%s] task queue empty [%s]",e.id,e.name,e.type):un[e.type][0]!==e?F.log.error(on,"[%s][%s] task not first in queue [%s]",e.id,e.name,e.type):(un[e.type].shift(),0===un[e.type].length?delete un[e.type]:un[e.type][0].start()):F.log.error(on,"[%s][%s] task queue missing [%s]",e.id,e.name,e.type),t||(e.error&&e.failureCallback?e.failureCallback(e):!e.error&&e.successCallback&&e.successCallback(e)))};F.task=F.task||{},F.task.start=function(e){var t=new yn({run:e.run,name:e.name||"?"});t.type=e.type,t.successCallback=e.success||null,t.failureCallback=e.failure||null,t.type in un?un[e.type].push(t):(un[t.type]=[t],function(e){e.error=!1,e.state=mn[e.state].start,setTimeout((function(){e.state===dn&&(e.swapTime=+new Date,e.run(e),vn(e,0))}),0)}(t))},F.task.cancel=function(e){e in un&&(un[e]=[un[e][0]])},F.task.createCondition=function(){var e={tasks:{},wait:function(t){t.id in e.tasks||(t.block(),e.tasks[t.id]=t)},notify:function(){var t=e.tasks;for(var r in e.tasks={},t)t[r].unblock()}};return e};var Cn=F,wn=function(){function e(e){this.secretKey=e}return e.prototype.encrypt=function(e,t){throw new Error("Method not implemented.")},e.prototype.decrypt=function(e,t){return function(e,t,r){void 0===r&&(r=Cn.util.createBuffer(Uint8Array.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]).buffer));var n,i,a=Cn.cipher.createDecipher("AES-CBC",t);return a.start({iv:r}),a.update(Cn.util.createBuffer(Cn.util.hexToBytes(e))),i=(n=a.output.data).charCodeAt(n.length-1),n.slice(0,-i)}(e,(r=this.secretKey,n=t.transactionID,""+r.slice(0,16)+n.slice(0,16)));var r,n},e}(),En=function(){function e(e,t,n,i){void 0===n&&(n="production"),void 0===i&&(i={supportTransaction:!1,enableEncryption:!1}),this.transactionEnabled=i.supportTransaction||!1,this.encryptionEnabled=i.enableEncryption||!1;var a=D(e,t,n,{headers:i.httpHeaders});this.transactionManager=new j(a),this.encryptionService=new wn(t),this.compareFaceService=new d(a),this.clientSettingsService=new f(a),this.convertPDFService=new v(a),this.ekycPDFService=new b(a),this.readIDCardService=new r(a),this.requestVerifyIDCardService=new h(a),this.requestVerifyPortraitSerivce=new g(a),this.imagesService=new u(a),this.fileService=new l(a),this.verifyFaceLivenessService=new p(a),this.searchFaceService=new y(a),this.detectIDTamperingService=new m(a),this.httpClient=a}return e.prototype.enableTransaction=function(){this.transactionEnabled=!0},e.prototype.disableTransaction=function(){this.transactionEnabled=!1},e.prototype.enableEncryption=function(){this.encryptionEnabled=!0},e.prototype.disableEncryption=function(){this.encryptionEnabled=!1},e.prototype.compareFaces=function(e,t){return this.compareFaceService.request(e,t)},e.prototype.clientSettings=function(){return this.clientSettingsService.request()},e.prototype.uploadImage=function(e){return this.imagesService.request(e)},e.prototype.uploadFile=function(e){return this.fileService.uploadFile(e)},e.prototype.convertPDF=function(e,t){return this.convertPDFService.request(e,t)},e.prototype.ekycPDF=function(e,t){return this.ekycPDFService.request(e,t)},e.prototype.readIDCard=function(e,t){return this.readIDCardService.request(e,t)},e.prototype.requestVerifyIDCard=function(e,t){return this.requestVerifyIDCardService.request(e,t)},e.prototype.requestVerifyPortrait=function(e,t){return this.requestVerifyPortraitSerivce.request(e,t)},e.prototype.verifyFaceLiveness=function(e,t){return this.verifyFaceLivenessService.request(e,t)},e.prototype.searchFaces=function(e,t){return this.searchFaceService.request(e,t)},e.prototype.deleteFaces=function(e,t){return this.searchFaceService.deleteFaces(e,t)},e.prototype.indexFaces=function(e,t){return this.searchFaceService.indexFaces(e,t)},e.prototype.downloadFaceImage=function(e){return this.searchFaceService.downloadFaceImage(e)},e.prototype.downloadImage=function(e){return this.imagesService.download(e)},e.prototype.updateMetadata=function(e,t){return this.imagesService.updateMetadata(e,t)},e.prototype.detectIDTampering=function(e,t){return this.detectIDTamperingService.request(e,t)},a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"compareFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"convertPDF",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"readIDCard",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"requestVerifyIDCard",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"requestVerifyPortrait",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"verifyFaceLiveness",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"searchFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"deleteFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"indexFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"detectIDTampering",null),e}();e.ReadIDCard=r,e.UploadImage=u,e.UploadFile=l,e.CompareFaces=d,e.ClientSettings=f,e.VerifyFaceLiveness=p,e.RequestVerifyIDCard=h,e.RequestVerifyPortrait=g,e.DetectIDTampering=m,e.SearchFaces=y,e.ConvertPDF=v,e.EkycPDF=b,e.HttpClient=_,e.MockClient=x,e.TVAuthorizer=O,e.createHelpers=function(e,t,r){void 0===r&&(r="production");var n=new O(e,t),i=function(e){switch(e){case"testing":return"https://tv-testing.trustingsocial.com/api";case"staging":return"https://tv-staging.trustingsocial.com/api";case"production":default:return"https://vn-vision.trustingsocial.com/api"}}(r);return new _({authorizer:n,domain:i})},e.createHttpClient=D,e.SimpleTrustVisionAPI=U,e.default=En,Object.defineProperty(e,"__esModule",{value:!0})}(t,r.default)}))),u$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,l$=/^\w*$/;var d$=function(e,t){if(KQ(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!xW(e))||(l$.test(e)||!u$.test(e)||null!=t&&e in Object(t))},f$=hQ(Object,"create");var p$=function(){this.__data__=f$?f$(null):{},this.size=0};var h$=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},g$=Object.prototype.hasOwnProperty;var m$=function(e){var t=this.__data__;if(f$){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return g$.call(t,e)?t[e]:void 0},y$=Object.prototype.hasOwnProperty;var v$=function(e){var t=this.__data__;return f$?void 0!==t[e]:y$.call(t,e)};var b$=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=f$&&void 0===t?"__lodash_hash_undefined__":t,this};function C$(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}C$.prototype.clear=p$,C$.prototype.delete=h$,C$.prototype.get=m$,C$.prototype.has=v$,C$.prototype.set=b$;var w$=C$;var E$=function(){this.__data__=[],this.size=0};var k$=function(e,t){for(var r=e.length;r--;)if(yQ(e[r][0],t))return r;return-1},S$=Array.prototype.splice;var B$=function(e){var t=this.__data__,r=k$(t,e);return!(r<0)&&(r==t.length-1?t.pop():S$.call(t,r,1),--this.size,!0)};var T$=function(e){var t=this.__data__,r=k$(t,e);return r<0?void 0:t[r][1]};var A$=function(e){return k$(this.__data__,e)>-1};var I$=function(e,t){var r=this.__data__,n=k$(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function _$(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}_$.prototype.clear=E$,_$.prototype.delete=B$,_$.prototype.get=T$,_$.prototype.has=A$,_$.prototype.set=I$;var x$=_$,P$=hQ(zG,"Map");var R$=function(){this.size=0,this.__data__={hash:new w$,map:new(P$||x$),string:new w$}};var N$=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var O$=function(e,t){var r=e.__data__;return N$(t)?r["string"==typeof t?"string":"hash"]:r.map};var L$=function(e){var t=O$(this,e).delete(e);return this.size-=t?1:0,t};var D$=function(e){return O$(this,e).get(e)};var U$=function(e){return O$(this,e).has(e)};var M$=function(e,t){var r=O$(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function V$(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}V$.prototype.clear=R$,V$.prototype.delete=L$,V$.prototype.get=D$,V$.prototype.has=U$,V$.prototype.set=M$;var j$=V$;function F$(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(F$.Cache||j$),r}F$.Cache=j$;var z$=F$;var K$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,q$=/\\(\\)?/g,H$=function(e){var t=z$(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(K$,(function(e,r,n,i){t.push(n?i.replace(q$,"$1"):r||e)})),t}));var G$=function(e,t){return KQ(e)?e:d$(e,t)?[e]:H$(OW(e))};var Q$=function(e){if("string"==typeof e||xW(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};var W$=function(e,t){for(var r=0,n=(t=G$(t,e)).length;null!=e&&r<n;)e=e[Q$(t[r++])];return r&&r==n?e:void 0};var X$,Y$,$$,Z$,J$,eZ,tZ,rZ,nZ,iZ,aZ,oZ,sZ=function(e,t,r){var n=null==e?void 0:W$(e,t);return void 0===n?r:n};function cZ(e){var t=e.className;return oy.createElement("svg",{className:t,width:"320",height:"320",viewBox:"0 0 320 320",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M320 0H0V320H320V0ZM160 296C235.111 296 296 235.111 296 160C296 84.8893 235.111 24 160 24C84.8893 24 24 84.8893 24 160C24 235.111 84.8893 296 160 296Z",fill:"currentColor"}))}function uZ(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{x:"0.5",width:"44",height:"44",rx:"8",fill:"url(#paint0_linear_1680_23125)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23125)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C16.9772 12 12.5 16.4772 12.5 22C12.5 27.5228 16.9772 32 22.5 32C28.0228 32 32.5 27.5228 32.5 22C32.5 16.4772 28.0228 12 22.5 12ZM10.5 22C10.5 15.3726 15.8726 10 22.5 10C29.1274 10 34.5 15.3726 34.5 22C34.5 28.6274 29.1274 34 22.5 34C15.8726 34 10.5 28.6274 10.5 22Z",fill:"white"}),oy.createElement("path",{d:"M18.5 19.5C18.5 20.3284 17.8284 21 17 21C16.1716 21 15.5 20.3284 15.5 19.5C15.5 18.6716 16.1716 18 17 18C17.8284 18 18.5 18.6716 18.5 19.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.5 27C12.5 26.4477 12.9477 26 13.5 26H19C19.5523 26 20 26.4477 20 27C20 27.5523 19.5523 28 19 28H13.5C12.9477 28 12.5 27.5523 12.5 27Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23125",x1:"22.5",y1:"0",x2:"22.5",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23125"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"translate(10.5 10)"}))))}function lZ(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{width:"44",height:"44",rx:"8",transform:"matrix(-1 0 0 1 44.5 0)",fill:"url(#paint0_linear_1680_23314)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23314)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C28.0228 12 32.5 16.4772 32.5 22C32.5 27.5228 28.0228 32 22.5 32C16.9772 32 12.5 27.5228 12.5 22C12.5 16.4772 16.9772 12 22.5 12ZM34.5 22C34.5 15.3726 29.1274 10 22.5 10C15.8726 10 10.5 15.3726 10.5 22C10.5 28.6274 15.8726 34 22.5 34C29.1274 34 34.5 28.6274 34.5 22Z",fill:"white"}),oy.createElement("path",{d:"M26.5 19.5C26.5 20.3284 27.1716 21 28 21C28.8284 21 29.5 20.3284 29.5 19.5C29.5 18.6716 28.8284 18 28 18C27.1716 18 26.5 18.6716 26.5 19.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M32.5 27C32.5 26.4477 32.0523 26 31.5 26H26C25.4477 26 25 26.4477 25 27C25 27.5523 25.4477 28 26 28H31.5C32.0523 28 32.5 27.5523 32.5 27Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23314",x1:"22",y1:"0",x2:"22",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23314"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"matrix(-1 0 0 1 34.5 10)"}))))}function dZ(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{x:"0.5",width:"44",height:"44",rx:"8",fill:"url(#paint0_linear_1680_23117)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23117)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C28.0228 12 32.5 16.4772 32.5 22C32.5 27.5228 28.0228 32 22.5 32C16.9772 32 12.5 27.5228 12.5 22C12.5 16.4772 16.9772 12 22.5 12ZM34.5 22C34.5 15.3726 29.1274 10 22.5 10C15.8726 10 10.5 15.3726 10.5 22C10.5 28.6274 15.8726 34 22.5 34C29.1274 34 34.5 28.6274 34.5 22Z",fill:"white"}),oy.createElement("path",{d:"M25.5 16.5C25.5 17.3284 26.1716 18 27 18C27.8284 18 28.5 17.3284 28.5 16.5C28.5 15.6716 27.8284 15 27 15C26.1716 15 25.5 15.6716 25.5 16.5Z",fill:"white"}),oy.createElement("path",{d:"M16.5 16.5C16.5 17.3284 17.1716 18 18 18C18.8284 18 19.5 17.3284 19.5 16.5C19.5 15.6716 18.8284 15 18 15C17.1716 15 16.5 15.6716 16.5 16.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M26.5 22C26.5 21.4477 26.0224 21 25.4333 21H19.5667C18.9776 21 18.5 21.4477 18.5 22C18.5 22.5523 18.9776 23 19.5667 23H25.4333C26.0224 23 26.5 22.5523 26.5 22Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23117",x1:"22.5",y1:"0",x2:"22.5",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23117"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"matrix(-1 0 0 1 34.5 10)"}))))}function fZ(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{x:"0.5",width:"44",height:"44",rx:"8",fill:"url(#paint0_linear_1680_23140)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23140)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C28.0228 12 32.5 16.4772 32.5 22C32.5 27.5228 28.0228 32 22.5 32C16.9772 32 12.5 27.5228 12.5 22C12.5 16.4772 16.9772 12 22.5 12ZM34.5 22C34.5 15.3726 29.1274 10 22.5 10C15.8726 10 10.5 15.3726 10.5 22C10.5 28.6274 15.8726 34 22.5 34C29.1274 34 34.5 28.6274 34.5 22Z",fill:"white"}),oy.createElement("path",{d:"M25.5 18.5C25.5 19.3284 26.1716 20 27 20C27.8284 20 28.5 19.3284 28.5 18.5C28.5 17.6716 27.8284 17 27 17C26.1716 17 25.5 17.6716 25.5 18.5Z",fill:"white"}),oy.createElement("path",{d:"M16.5 18.5C16.5 19.3284 17.1716 20 18 20C18.8284 20 19.5 19.3284 19.5 18.5C19.5 17.6716 18.8284 17 18 17C17.1716 17 16.5 17.6716 16.5 18.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M26.5 26C26.5 25.4477 26.0224 25 25.4333 25H19.5667C18.9776 25 18.5 25.4477 18.5 26C18.5 26.5523 18.9776 27 19.5667 27H25.4333C26.0224 27 26.5 26.5523 26.5 26Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23140",x1:"22.5",y1:"0",x2:"22.5",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23140"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"matrix(-1 0 0 1 34.5 10)"}))))}cZ.propTypes={className:Py.string},cZ.defaultProps={className:""},uZ.propTypes={isActive:Py.bool},uZ.defaultProps={isActive:!0},lZ.propTypes={isActive:Py.bool},lZ.defaultProps={isActive:!0},dZ.propTypes={isActive:Py.bool},dZ.defaultProps={isActive:!0},fZ.propTypes={isActive:Py.bool},fZ.defaultProps={isActive:!0};var pZ=FF.Camera,hZ=yG.Text,gZ=yG.FaceDetectionError,mZ=yG.FaceVerificationInstructions,yZ=yG.FaceVerificationStepsWrapper,vZ=yG.StepItem,bZ=yG.BottomButtonsOverlay,CZ=yG.Button,wZ=yG.CountDownOverlay,EZ=yG.CountdownTime,kZ=eC(Uj)(X$||(X$=dm(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),SZ=eC(cZ)(Y$||(Y$=dm(["\n width: 100%;\n height: 100%;\n vertical-align: middle;\n margin: 0;\n color: ",";\n"])),(function(e){var t=e.color;return null!=t?t:"rgba(0, 0, 0, 0.6)"})),BZ=eC(mZ)($$||($$=dm(["\n font-size: 18px;\n color: #38383d;\n text-shadow: none;\n font-weight: 600;\n"]))),TZ=eC(gZ)(Z$||(Z$=dm(["\n color: #ff424e;\n background-color: unset;\n"]))),AZ=eC(EZ)(J$||(J$=dm(["\n background-color: unset;\n color: #ff424e;\n font-size: 18px;\n"]))),IZ=eC(vZ)(eZ||(eZ=dm(["\n /* border-color: #1aa7ff;\n color: #1aa7ff; */\n width: 44px;\n height: 44px;\n opacity: 1;\n img {\n border-radius: 8px;\n width: 44px;\n }\n"]))),_Z=eC(CZ)(tZ||(tZ=dm(["\n z-index: ",";\n position: absolute;\n top: 20px;\n left: 20px;\n width: 12px;\n"])),1100),xZ=eC(hZ)(rZ||(rZ=dm(["\n position: absolute;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n text-align: center;\n padding: 0 1.75rem;\n color: #38383d;\n\n ","\n"])),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)})),PZ=eC.span(nZ||(nZ=dm(["\n position: absolute;\n bottom: 5px;\n color: #38383d;\n font-size: 14px;\n z-index: ",";\n"])),1020),RZ=nC(["from{opacity:1;}to{opacity:0;}"]),NZ=eC.div(iZ||(iZ=dm(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n z-index: -1;\n background: rgba(255, 255, 255, 0.3);\n animation: "," 1s infinite;\n"])),RZ),OZ=VG.isMobile?{width:640}:null,LZ={background:"#fff",opacity:1};function DZ(e){var t,r,n=e.apiCheck,i=e.mode,a=e.onLivenessDetectionDone,o=e.onClose,s=e.onError,c=e.captureFrameSettings,u=e.onFramesCaptured,l=e.frontCamera,d=e.customStepTimeConstraints,f=e.onProcessing,p=e.customErrors,h=e.customMessages,g=e.livenessSettings,m=e.customInstructions,y=e.apiCredentials,v=e.title,b=e.subInstructions,C=Hk.useAsset("bg_camera_mask.png"),w=Hk.useAsset("bg_camera_mask_red.png"),E=Hk.useAsset("ic_close_black.png"),k=fm(oy.useState({}),2),S=k[0],B=k[1],T=S.yFaceVerificationStepsWrapper,A=fm(oy.useState(""),2),I=A[0],_=A[1],x=fm(oy.useState(!1),2),P=x[0],R=x[1],N=oy.useCallback((function(e){var t=e.lostY,r=e.height,n=t+25,i=n+30;return B({yFaceDetectionError:n,yFaceVerificationStepsWrapper:i+r-45*r/350/2-8}),{y:Math.floor(i)}}),[]),O=mG({apiCheck:n,mode:i,bgCameraMask:C,bgCameraMaskRed:w,surroundStyle:LZ,onLivenessDetectionDone:a,onError:s,cropAreaDimension:N,captureFrameSettings:c,onFramesCaptured:u,livenessSettings:g,setRemainingTime:_,customStepTimeConstraints:d,onProcessing:f,customErrors:p,customMessages:h,customInstructions:m,apiCredentials:y}),L=O.countdownToTakePicture,D=O.cropArea,U=O.curStepIndex,M=O.faceDetectionError,V=O.handleTriggerPassiveMode,j=O.handleVideoPlayed,F=O.instructions,z=O.isActiveMode,K=O.refVideo,q=O.showCountdown,H=O.steps,G=O.videoPlayed,Q=O.isFirstValidFrameFound,W=O.warmupDone,X=O.activeCapturing,Y=oy.useRef(0);if(window.innerHeight-((null===(t=D.current)||void 0===t?void 0:t.y)+(null===(r=D.current)||void 0===r?void 0:r.height))-110<60){var $,Z=window.innerHeight-(null===($=D.current)||void 0===$?void 0:$.y)-170;Y.current=(D.current.height-Z)/2,D.current.width=Z,D.current.height=Z}oy.useEffect((function(){Promise.all(H.map((function(e){return t=e.directionIcon,new Promise((function(e){var r=new Image;r.onload=e,r.onerror=e,r.src=t}));var t}))).then((function(){return R(!0)}))}),[H]);var J=oy.useRef(!1);oy.useEffect((function(){Q||(J.current=!1)}),[Q]),M&&M.code.includes("terminated")&&(J.current=!0);var ee=oy.useCallback((function(e,t){switch(e){case"left":return oy.createElement(uZ,{isActive:t});case"right":return oy.createElement(lZ,{isActive:t});case"up":return oy.createElement(dZ,{isActive:t});case"frontal":return oy.createElement(fZ,{isActive:t});default:return null}}),[]);return oy.createElement(gU,{frontCamera:l,onVideoPlayed:j,flipHorizontal:l,ref:K,videoSettings:OZ,onError:s,onClose:o,closeButton:oy.createElement(_Z,null,oy.createElement("img",{src:E,alt:""}))},!W&&oy.createElement(gF,null),G&&P?oy.createElement(oy.Fragment,null,oy.createElement(xZ,{top:20},"".concat(v)),oy.createElement(TZ,{top:T-Y.current,className:"face-detection-error",error:M}),I&&oy.createElement(AZ,{top:D.current.y-15},I),D.current?oy.createElement(wU,{x:"".concat(D.current.x+Y.current,"px"),y:"".concat(D.current.y,"px"),width:"".concat(D.current.width,"px"),height:"".concat(D.current.height,"px"),surroundStyle:D.current.surroundStyle},oy.createElement(SZ,{color:"#fff"}),oy.createElement(kZ,{progress:U/H.length*100,hasError:!!M,showDashedRing:!1,showOutsideRing:!1,insideRingWidth:5,errorRingWidth:0,insideRingStrokeDash:"none",insideRingColor:"#1AA7FF"}),q?oy.createElement(wZ,null,L):null,z&&X?oy.createElement(NZ,null):null):null,z?oy.createElement(oy.Fragment,null,Q&&!J.current&&oy.createElement(yZ,{bottom:60},H.map((function(e,t){var r=e.name,n=e.image.objUrl;return oy.createElement(IZ,{key:r,className:"step-item"},n?oy.createElement("img",{src:n,alt:""}):ee(e.name,U>=t))}))),F?oy.createElement(oy.Fragment,null,oy.createElement(BZ,{bottom:30,className:"instructions"},"".concat(F)),oy.createElement(PZ,null,b)):null):oy.createElement(oy.Fragment,null,M?null:oy.createElement(bZ,null,oy.createElement(CZ,{onClick:V},oy.createElement(pZ,null))))):null)}DZ.propTypes={apiCheck:Py.bool,mode:Py.string,onLivenessDetectionDone:Py.func,onClose:Py.func,onError:Py.func,captureFrameSettings:Py.shape({}),onFramesCaptured:Py.func,frontCamera:Py.bool,customStepTimeConstraints:Py.shape({}),onProcessing:Py.func,customErrors:Py.shape({}),customMessages:Py.shape({}),livenessSettings:Py.shape({}),customInstructions:Py.shape({}),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string}),title:Py.string,subInstructions:Py.string},DZ.defaultProps={apiCheck:!1,mode:null,onLivenessDetectionDone:null,onClose:null,onError:function(){},captureFrameSettings:{enable:!1,framesIntervalTime:180,framesBatchLength:0},onFramesCaptured:function(){},frontCamera:!0,customStepTimeConstraints:(aZ={},nm(aZ,oC.FaceDirection.UP,{delayTime:0}),nm(aZ,oC.FaceDirection.LEFT,{delayTime:0}),nm(aZ,oC.FaceDirection.RIGHT,{delayTime:0}),nm(aZ,oC.FaceDirection.FRONTAL,{delayTime:2e3}),aZ),onProcessing:function(){},customErrors:{no_face:{code:"no_face",msg:{en:"Face is not detected.",vi:"Không nhận diện được khuôn mặt."}},multiple_faces:{code:"multiple_faces",msg:{en:"There are more than one face in the frame",vi:"Nhiều khuôn mặt xuất hiện trong khung hình"}},face_too_small:{code:"face_too_small",msg:{en:"The face is too small",vi:"Khuôn mặt quá nhỏ"}},face_too_large:{code:"face_too_large",msg:{en:"The face is too big",vi:"Khuôn mặt quá lớn"}},face_out_of_box:{code:"face_out_of_box",msg:{en:"Face is out of box",vi:"Khuôn mặt nằm ngoài khung ảnh"}},liveness_terminated_time_out:{code:"liveness_terminated_time_out",msg:{en:"The face verification need to be completed in <%= x %> seconds.\nPlease try again.",vi:"Xác thực khuôn mặt cần thực hiện trong <%= x %> giây.\nVui lòng thử lại."}}},customMessages:{REMAIN_TIME:{en:"Remaining time: <%= x %> seconds",vi:"Thời gian còn lại: <%= x %>"}},customInstructions:(oZ={},nm(oZ,oC.FaceDirection.LEFT,{en:"Please turn to the left",vi:"Xoay trái"}),nm(oZ,oC.FaceDirection.RIGHT,{en:"Please turn to the right",vi:"Xoay phải"}),nm(oZ,oC.FaceDirection.UP,{en:"Please look up",vi:"Ngẩng lên"}),nm(oZ,oC.FaceDirection.FRONTAL,{en:"Please look straight to camera",vi:"Nhìn thẳng"}),oZ),livenessSettings:null,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"},title:"Chụp khuôn mặt",subInstructions:"Xin giữ khuôn mặt nằm trong khung ảnh"};var UZ,MZ=["tracking","clientSettings","livenessSettings"],VZ=oC.Errors,jZ=eC.div(UZ||(UZ=dm(["\n text-align: center;\n font-size: 20px;\n font-weight: 600;\n"])));function FZ(e){var t=e.tracking,r=void 0===t?{enable:!0}:t,n=e.clientSettings,i=e.livenessSettings,a=lm(e,MZ),o=lk.useSDKSettings().lang,s=VZ.wrong_orientation.msg[o],c=KF().curOrientation,u=sZ(n,"data.settings.sdk_settings.active_liveness_settings",i),l=sZ(n,"data.settings.sdk_settings.server_log_settings.enable",r.enable);return oy.createElement(oy.Fragment,null,c===zF.LANDSCAPE&&oy.createElement(Yj,{open:!0},oy.createElement(jZ,null,s)),(c===zF.PORTRAIT||c===zF.DESKTOP)&&oy.createElement(zk.SDKTrackingProvider,{value:{tracking:om(om({},r),{},{enable:l})}},oy.createElement(DZ,im({},a,{livenessSettings:u}))))}var zZ=["tracking","clientSettings"];function KZ(e){var t=e.tracking,r=e.clientSettings,n=lm(e,zZ),i=oy.useMemo((function(){return sZ(r,"data.settings.sdk_settings.server_log_settings.enable",null==t?void 0:t.enable)}),[r,t]);return oy.createElement(zk.SDKTrackingProvider,{value:{tracking:om(om({},t),{},{enable:i})}},oy.createElement(o$,im({},n,{clientSettings:r})))}KZ.propTypes={tracking:Py.shape({}),clientSettings:Py.shape({})},KZ.defaultProps={tracking:void 0,clientSettings:void 0};var qZ=oC.Errors,HZ=function(e){var t=e.onClose,r=e.onError,n=e.detectIdCard,i=e.steps,a=e.onStepDone,o=e.apiCredentials,s=e.tracking,c=fm(oy.useState(null),2),u=c[0],l=c[1],d=YB.useApiClient({apiCredentials:o,tracking:s}).apiClient,f=oy.useRef(""),p=oy.useRef("");oy.useEffect((function(){function e(){return(e=Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.clientSettings();case 2:t=e.sent,l(t);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[d]);var h=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var n,o,s,c,u,l,h,g;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.stepNumber,o=t.recordedVideos,s=t.qrScannedResult,c=t.image,u=i[n],l=u.cardType,h=u.cardSide,g=null,e.prev=3,e.next=6,cG({image:c,cardSide:h,frontCardId:f.current,qrImageId:p.current,onError:r,apiClient:d,cardType:l,recordedVideos:o,qrScannedResult:s});case 6:g=e.sent,h===oC.IDCardSide.FRONT&&(f.current=g.cardInfo.image1.id),p.current=g.qrImageId,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(3),r(om(om({},qZ.api_call_error),{},{details:e.t0}));case 14:g&&a(om(om({},t),{},{apiResult:g}));case 15:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t){return e.apply(this,arguments)}}(),[d,r,i,a]);return u&&oy.createElement(KZ,{tracking:s,onClose:t,onError:r,clientSettings:u,detectIdCard:n,onStepDone:h,steps:i})};HZ.propTypes={onClose:Py.func,onError:Py.func,detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string}),tracking:Py.shape({})},HZ.defaultProps={onClose:function(){},onError:function(){},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:a$,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"},tracking:void 0};var GZ=["apiCheck","mode","accessKey","secretKey","apiUrl","onLivenessDetectionDone","onError"],QZ=kk.getUAMetadata(),WZ=function(){function e(t){var r=this,n=t.container,i=t.lang,a=void 0===i?"en":i,o=t.assetRoot,s=void 0===o?"https://unpkg.com/@tsocial/tvweb-sdk@latest/assets":o,c=t.customUrls,u=void 0===c?{}:c,l=t.enableAntiDebug,d=void 0===l||l;em(this,e),nm(this,"checkCamera",UF),nm(this,"initNativeCamera",(function(e){var t=document.createElement("div");document.body.appendChild(t);var r=oy.createRef();return yD.render(oy.createElement(VF,im({},e,{ref:r})),t),{openCamera:function(){r.current.click()}}})),nm(this,"runWarmUpReadIDCard",Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.commonSettings.customUrls,e.abrupt("return",jK(t));case 2:case"end":return e.stop()}}),e)})))),nm(this,"runPreloadEKYCResources",Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=r.commonSettings.customUrls,hG(t);case 2:case"end":return e.stop()}}),e)})))),nm(this,"destroyView",(function(){yD.unmountComponentAtNode(r.container)})),s$(n,"container is a required parameter"),this.container=n,this.commonSettings={lang:a,assetRoot:s,customUrls:u,enableAntiDebug:d,debug:!1}}return rm(e,[{key:"readIDCardWithApiCall",value:function(e){yD.render(oy.createElement(lk.SDKSettingsProvider,{value:om({},this.commonSettings)},oy.createElement(HZ,im({onClose:this.destroyView},e))),this.container)}},{key:"readIDCardUIOnly",value:function(e){yD.render(oy.createElement(lk.SDKSettingsProvider,{value:this.commonSettings},oy.createElement(KZ,im({onClose:this.destroyView},e))),this.container)}},{key:"livenessDetection",value:function(e){var t=e.apiCheck,r=e.mode,n=(e.accessKey,e.secretKey,e.apiUrl,e.onLivenessDetectionDone),i=e.onError,a=lm(e,GZ);yD.render(oy.createElement(lk.SDKSettingsProvider,{value:om({},this.commonSettings)},oy.createElement(FZ,im({},a,{apiCheck:t,mode:r,onLivenessDetectionDone:n,onClose:this.destroyView,onError:i}))),this.container)}},{key:"compareFaces",value:function(e){var t=e.accessKey,r=e.secretKey,n=e.apiUrl,i=e.image1,a=e.image2,o=e.onSuccess,s=e.onError;YB.createRetryAPIClient(new c$(t,r,n,{httpHeaders:QZ})).compareFaces({image1:{id:i},image2:{id:a}}).then((function(e){o(e)})).catch((function(e){s(e)}))}}]),e}();exports.APIUtils=YB,exports.Animations=qz,exports.AntiDebugUtils=bT,exports.AssetUtils=Hk,exports.AsyncUtils=Qk,exports.BASE_Z_INDEX=1e3,exports.BlurUtils=yS,exports.Button=lq,exports.ButtonLink=dq,exports.Camera=gU,exports.CameraUtils=bS,exports.CommonUtils=wS,exports.Constants=oC,exports.CoordinateUtils=TS,exports.CropAreaOverlayWrapper=wU,exports.CryptoUtils=ET,exports.FaceUtils=OS,exports.GlareUtils=jB,exports.HashUtils=Nk,exports.HighlightResult=mH,exports.HighlightResultType=uH,exports.Icons=FF,exports.ImageUtils=DB,exports.LivenessDetection=function(e){var t=e.tracking,r=void 0===t?{enable:!0}:t,n=e.clientSettings,i=e.livenessSettings,a=BD(e,qF),o=lk.useSDKSettings().lang,s=HF.wrong_orientation.msg[o],c=KF().curOrientation,u=$V(n,"data.settings.sdk_settings.active_liveness_settings",i),l=$V(n,"data.settings.sdk_settings.server_log_settings.enable",r.enable);return oy.createElement(oy.Fragment,null,c===zF.LANDSCAPE&&oy.createElement(Yj,{open:!0},oy.createElement(GF,null,s)),(c===zF.PORTRAIT||c===zF.DESKTOP)&&oy.createElement(zk.SDKTrackingProvider,{value:{tracking:SD(SD({},r),{},{enable:l})}},oy.createElement(OF,ED({},a,{livenessSettings:u}))))},exports.LivenessDetectionComponents=yG,exports.LoadResourceUtils=aT,exports.LocalStorageUtils=_k,exports.MobileDetect=WD,exports.ModelUtils=vT,exports.NativeCamera=VF,exports.OrientationMode=zF,exports.PlacementArea=CU,exports.Popup=Yj,exports.PredictionUtils=MS,exports.ProgressCircle=Uj,exports.RatioWrapper=_q,exports.ReadIDCardUIOnly=XH,exports.ReadIDCardWithApiCall=fG,exports.RectangleMask=dz,exports.RectangleMaskType=lz,exports.SDK=WZ,exports.ScannerType=qH,exports.SettingsContext=lk,exports.Spacing=nq,exports.ThemeUtils=CT,exports.TimeUtils=Tk,exports.TrackingContext=zk,exports.UserAgentUtils=kk,exports.WarmupPopup=gF,exports.checkCamera=UF,exports.defaultClientSettings=MH,exports.defaultReadIDCardSteps=a$,exports.getCustomUrlsBySettings=ak,exports.getQrScannerWorkerPath=kT,exports.handleApiCheckReadIdCard=cG,exports.preloadEKYCResources=hG,exports.readIdCardFromImage=gG,exports.readQRCodeFromImage=tH,exports.useDetectOrientation=KF,exports.useLivenessDetection=mG,exports.useMainProcessQRCodeScanner=rH,exports.useMainProcessReadIdCard=QK,exports.useSettingsReadIdCard=VH,exports.useShowPopup=dK,exports.warmUpQRCodeScanner=Fq,exports.warmUpReadIdCard=jK,exports.warmupSelfieActive=dj;
|
75
|
+
***************************************************************************** */function a(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}function o(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function s(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))}function c(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}var u=function(){function e(e){this.httpClient=e}return e.prototype.uploadImage=function(e){return this.httpClient.postFormData("/v1/images",e)},e.prototype.request=function(e){var t="application/pdf"===e.file.type;return this.httpClient.postFormData(t?"/v1/files":"/v1/images",e)},e.prototype.requestWithHeaders=function(e,t){return this.httpClient.postFormData("/v1/images",e,t)},e.prototype.download=function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return[4,this.httpClient.downloadFile("/v1/images/"+e)];case 1:return t=r.sent(),[4,URL.createObjectURL(t)];case 2:return[2,r.sent()]}}))}))},e.prototype.updateMetadata=function(e,t){return this.httpClient.patch("/v1/images/"+e,t)},e}(),l=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/files",e,t)},e.prototype.uploadFile=function(e){return this.httpClient.postFormData("/v1/files",e)},e.prototype.requestWithHeaders=function(e,t){return this.httpClient.postFormData("/v1/files",e,t)},e}(),d=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/compare_faces_sync",e,t)},e}(),f=function(){function e(e){this.httpClient=e}return e.prototype.getClientSettings=function(){return this.httpClient.get("/v1/client_settings")},e.prototype.request=function(){return this.httpClient.get("/v1/client_settings")},e}(),p=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/verify_face_liveness_sync",e,t)},e}(),h=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/verify_id_card_sanity_sync",e,t)},e}(),g=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/verify_portrait_sanity_sync",e,t)},e}(),m=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/detect_id_card_tampering_sync",e,t)},e.prototype.requestWithAuthHeaders=function(e,t){return this.httpClient.post("/v1/detect_id_card_tampering_sync",e,t)},e}(),y=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/search_faces_sync",e,t)},e.prototype.indexFaces=function(e,t){return this.httpClient.post("/v1/index_faces_sync",e,t)},e.prototype.deleteFaces=function(e,t){return this.httpClient.post("/v1/delete_faces",e,t)},e.prototype.downloadFaceImage=function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return[4,this.httpClient.downloadFile("/v1/face_images/"+e)];case 1:return t=r.sent(),[2,URL.createObjectURL(t)]}}))}))},e}(),v=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.postFormData("/v1/convert_pdf_sync",e,t)},e}(),b=function(){function e(e){this.httpClient=e}return e.prototype.request=function(e,t){return this.httpClient.post("/v1/ekyc_pdf",e,t)},e}(),C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:{};function w(e,t){return e(t={exports:{}},t.exports),t.exports}var E=w((function(e){var t,r;t=C,r=function(){function e(e){var t=[];if(0===e.length)return"";if("string"!=typeof e[0])throw new TypeError("Url must be a string. Received "+e[0]);if(e[0].match(/^[^/:]+:\/*$/)&&e.length>1){var r=e.shift();e[0]=r+e[0]}e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n<e.length;n++){var i=e[n];if("string"!=typeof i)throw new TypeError("Url must be a string. Received "+i);""!==i&&(n>0&&(i=i.replace(/^[\/]+/,"")),i=n<e.length-1?i.replace(/[\/]+$/,""):i.replace(/[\/]+$/,"/"),t.push(i))}var a=t.join("/"),o=(a=a.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o.shift()+(o.length>0?"?":"")+o.join("&")}return function(){return e("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},e.exports?e.exports=r():t.urljoin=r()}));function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var S=function(e,t,r,n){t=t||"&",r=r||"=";var i={};if("string"!=typeof e||0===e.length)return i;var a=/\+/g;e=e.split(t);var o=1e3;n&&"number"==typeof n.maxKeys&&(o=n.maxKeys);var s=e.length;o>0&&s>o&&(s=o);for(var c=0;c<s;++c){var u,l,d,f,p=e[c].replace(a,"%20"),h=p.indexOf(r);h>=0?(u=p.substr(0,h),l=p.substr(h+1)):(u=p,l=""),d=decodeURIComponent(u),f=decodeURIComponent(l),k(i,d)?Array.isArray(i[d])?i[d].push(f):i[d]=[i[d],f]:i[d]=f}return i},B=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},T=function(e,t,r,n){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){var i=encodeURIComponent(B(n))+r;return Array.isArray(e[n])?e[n].map((function(e){return i+encodeURIComponent(B(e))})).join(t):i+encodeURIComponent(B(e[n]))})).join(t):n?encodeURIComponent(B(n))+r+encodeURIComponent(B(e)):""},A=w((function(e,t){t.decode=t.parse=S,t.encode=t.stringify=T})),I=(A.decode,A.parse,A.encode,A.stringify),_=function(){function e(e){this.authorizer=e.authorizer,this.domain=e.domain,this.onError=e.onError,this.configHeaders=e.headers}return e.prototype.get=function(e,t,r){var n=new URL(this.resolveUrl(e));return t&&(n.search=I(t)),this.request(n.toString(),{requestPath:e,method:"GET",headers:r})},e.prototype.post=function(e,t,r){var n=this.resolveUrl(e);return this.request(n,{requestPath:e,method:"POST",body:JSON.stringify(t),headers:i({"Content-Type":"application/json"},r)})},e.prototype.postFormData=function(e,t,r){var n,i=t instanceof FormData?t:(n=t,Object.entries(n).reduce((function(e,t){var r=t[0],n=t[1];return Array.isArray(n)?n.forEach((function(t,i){return e.append(r+"["+i+"]",n)})):!(n instanceof Object)||n instanceof File||n instanceof Date||n instanceof Blob?e.append(r,n):Object.entries(n).forEach((function(t,i){return e.append(r+"["+i+"]",n[i])})),e}),new FormData)),a=this.resolveUrl(e);return this.request(a,{requestPath:e,method:"POST",body:i,headers:r})},e.prototype.patch=function(e,t,r){var n=this.resolveUrl(e);return this.request(n,{requestPath:e,method:"PATCH",body:JSON.stringify(t),headers:i({"Content-Type":"application/json"},r)})},e.prototype.delete=function(e,t,r){var n=this.resolveUrl(e);return this.request(n,{requestPath:e,method:"DELETE",body:JSON.stringify(t),headers:i({"Content-Type":"application/json"},r)})},e.prototype.downloadFile=function(e){var t=this.resolveUrl(e);return this.request(t,{requestPath:e,method:"GET"},"blob")},e.prototype.request=function(e,t,r){return void 0===r&&(r="json"),s(this,void 0,void 0,(function(){var n,a,o,s;return c(this,(function(c){switch(c.label){case 0:return n={},a={},this.authorizer&&(n=this.authorizer.getHeaders(t)),this.configHeaders&&(a=this.configHeaders),t.headers=i(i(i({},t.headers),n),a),[4,fetch(e,t)];case 1:return o=c.sent(),[4,"blob"===r?o.blob():o.json()];case 2:if((s=c.sent()).errors&&this.onError)throw this.onError(s.errors),s;return[2,s]}}))}))},e.prototype.resolveUrl=function(e){return E(this.domain,e)},e}(),x=function(){function e(e){this.mocks=e}return e.prototype.get=function(e,t){return this.findInMocks(e,t)},e.prototype.post=function(e,t){return this.findInMocks(e)},e.prototype.postFormData=function(e,t){return this.findInMocks(e)},e.prototype.patch=function(e,t){return this.findInMocks(e)},e.prototype.delete=function(e,t){return this.findInMocks(e)},e.prototype.downloadFile=function(e){return this.findInMocks(e)},e.prototype.resolveUrl=function(e){return this.mocks.resolveUrl?this.mocks.resolveUrl(e):e},e.prototype.findInMocks=function(e,t){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this.mocks[e]?"function"==typeof this.mocks[e]?[2,Promise.resolve(this.mocks[e](t))]:[2,Promise.resolve(this.mocks[e])]:[2,Promise.reject(new Error(e+" is not presented in mocks"))]}))}))},e}(),P=w((function(e,t){var r;e.exports=r=r||function(e,t){var r=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),n={},i=n.lib={},a=i.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=i.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var a=0;a<i;a++){var o=r[a>>>2]>>>24-a%4*8&255;t[n+a>>>2]|=o<<24-(n+a)%4*8}else for(a=0;a<i;a+=4)t[n+a>>>2]=r[a>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r,n=[],i=function(t){t=t;var r=987654321,n=4294967295;return function(){var i=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},a=0;a<t;a+=4){var s=i(4294967296*(r||e.random()));r=987654071*s(),n.push(4294967296*s()|0)}return new o.init(n,t)}}),s=n.enc={},c=s.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var a=t[i>>>2]>>>24-i%4*8&255;n.push((a>>>4).toString(16)),n.push((15&a).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},u=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var a=t[i>>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new o.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},d=i.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,a=this.blockSize,s=i/(4*a),c=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,u=e.min(4*c,i);if(c){for(var l=0;l<c;l+=a)this._doProcessBlock(n,l);var d=n.splice(0,c);r.sigBytes-=u}return new o.init(d,u)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),f=(i.Hasher=d.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new f.HMAC.init(e,r).finalize(t)}}}),n.algo={});return n}(Math)})),R=w((function(e,t){var r,n,i;e.exports=(n=(r=i=P).lib.WordArray,r.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],a=0;a<r;a+=3)for(var o=(t[a>>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,s=0;s<4&&a+.75*s<r;s++)i.push(n.charAt(o>>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(e){var t=e.length,r=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var a=0;a<r.length;a++)i[r.charCodeAt(a)]=a}var o=r.charAt(64);if(o){var s=e.indexOf(o);-1!==s&&(t=s)}return function(e,t,r){for(var i=[],a=0,o=0;o<t;o++)if(o%4){var s=r[e.charCodeAt(o-1)]<<o%4*2,c=r[e.charCodeAt(o)]>>>6-o%4*2;i[a>>>2]|=(s|c)<<24-a%4*8,a++}return n.create(i,a)}(e,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},i.enc.Base64)})),N=(w((function(e,t){var r;e.exports=(r=P,function(e){var t=r,n=t.lib,i=n.WordArray,a=n.Hasher,o=t.algo,s=[],c=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(s[i]=r(e.pow(n,.5))),c[i]=r(e.pow(n,1/3)),i++),n++}();var u=[],l=o.SHA256=a.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],l=r[5],d=r[6],f=r[7],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var h=u[p-15],g=(h<<25|h>>>7)^(h<<14|h>>>18)^h>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-16]}var v=n&i^n&a^i&a,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),C=f+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&d)+c[p]+u[p];f=d,d=l,l=s,s=o+C|0,o=a,a=i,i=n,n=C+(b+v)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+a|0,r[3]=r[3]+o|0,r[4]=r[4]+s|0,r[5]=r[5]+l|0,r[6]=r[6]+d|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=a._createHelper(l),t.HmacSHA256=a._createHmacHelper(l)}(Math),r.SHA256)})),w((function(e,t){var r,n,i;e.exports=(n=(r=P).lib.Base,i=r.enc.Utf8,void(r.algo.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,c=o.words,u=0;u<r;u++)s[u]^=1549556828,c[u]^=909522486;a.sigBytes=o.sigBytes=n,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,r=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(r))}})))})),w((function(e,t){e.exports=P.HmacSHA256}))),O=function(){function e(e,t){this.accessKey=e,this.keySecret=t}return e.prototype.getHeaders=function(e){var t=function(e){function t(e){return e<10?"0"+e:e}return e.getFullYear()+"-"+t(e.getMonth()+1)+"-"+t(e.getDate())+"T"+t(e.getHours())+":"+t(e.getMinutes())+":"+t(e.getSeconds())+(0===(r=e.getTimezoneOffset())?"Z":(n=r>0?"-":"+",r=Math.abs(r),n+t(Math.floor(r/60))+":"+t(r%60)));var r,n}(new Date);return{Authorization:this.generateAuthorization(e.requestPath,e.method,t),"X-TV-Timestamp":t}},e.prototype.generateAuthorization=function(e,t,r){var n=this.computeStringToSign(e,t,r),i=R.stringify(this.computeSignature(n));return this.formatAuthToken("TV",i)},e.prototype.formatAuthToken=function(e,t){return e+" "+this.accessKey+":"+t},e.prototype.computeStringToSign=function(e,t,r){return t+"\n"+e+"\n"+r},e.prototype.computeSignature=function(e){return N(e,this.keySecret)},e}();function L(e){switch(e){case"testing":return"https://tv-testing.trustingsocial.com/api";case"staging":return"https://tv-staging.trustingsocial.com/api";case"production":return"https://vn-vision.trustingsocial.com/api";default:return e}}function D(e,t,r,n){void 0===r&&(r="production");var i=(void 0===n?{}:n).headers,a=new O(e,t),o=L(r);return new _({authorizer:a,domain:o,headers:i})}var U=function(){function e(e){void 0===e&&(e="production");var t=new _({domain:L(e)});this.imagesService=new u(t),this.detectIDTamperingService=new m(t)}return e.prototype.uploadImage=function(e,t){return this.imagesService.requestWithHeaders(e,t)},e.prototype.detectTampering=function(e,t){return this.detectIDTamperingService.requestWithAuthHeaders(e,t)},e}();function M(e){var t=e.headerIndex;return function(e,r,n){var a=n.value,o=i({},n);return o.value=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return s(this,void 0,void 0,(function(){var r,n,o,s;return c(this,(function(c){switch(c.label){case 0:return this.transactionEnabled?[4,this.transactionManager.begin()]:[3,4];case 1:return r=c.sent(),n=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),i=0;for(t=0;t<r;t++)for(var a=arguments[t],o=0,s=a.length;o<s;o++,i++)n[i]=a[o];return n}(e),(o=i({},n[t]))["X-TV-Transaction"]=r,n[t]=o,[4,a.apply(this,n)];case 2:return s=c.sent(),[4,this.transactionManager.end()];case 3:return c.sent(),[2,s];case 4:return[4,a.apply(this,e)];case 5:return[2,c.sent()]}}))}))},o}}function V(e){return void 0===e&&(e={encryptedField:"data"}),function(t,r,n){var a=n.value,o=i({},n);return o.value=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(i){switch(i.label){case 0:return[4,a.apply(this,t)];case 1:return r=i.sent(),this.encryptionEnabled&&"string"==typeof r[e.encryptedField]?(n=this.encryptionService.decrypt(r[e.encryptedField],{transactionID:this.transactionManager.currentTransactionID}),[2,JSON.parse(n)]):[2,r]}}))}))},o}}var j=function(){function e(e){this.httpClient=e,this.transactionID="",this.totalTransactions=0,this.currentTransaction=0}return Object.defineProperty(e.prototype,"currentTransactionID",{get:function(){return this.transactionID},enumerable:!0,configurable:!0}),e.prototype.begin=function(){return s(this,void 0,void 0,(function(){var e,t,r=this;return c(this,(function(n){switch(n.label){case 0:return e=this.totalTransactions++,[4,new Promise((function(t,n){var i=window.performance.now(),a=setInterval((function(){e===r.currentTransaction&&(clearInterval(a),t(!0)),window.performance.now()-i>=3e3&&(clearInterval(a),n(new Error("Transaction timeout")))}),100)}))];case 1:return n.sent(),[4,this.httpClient.post("/v1/transactions",{})];case 2:return t=n.sent().data,this.transactionID=t.id,[2,t.id]}}))}))},e.prototype.end=function(){return s(this,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return[4,this.httpClient.post("/v1/transactions/"+this.transactionID+"/finish")];case 1:return e=t.sent(),this.transactionID="",this.currentTransaction++,[2,e]}}))}))},e}(),F={options:{usePureJavaScript:!1}},z={},K=z,q={};z.encode=function(e,t,r){if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');if(void 0!==r&&"number"!=typeof r)throw new TypeError('"maxline" must be a number.');var n="";if(e instanceof Uint8Array){var i=0,a=t.length,o=t.charAt(0),s=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[i];c<s.length;++c)u+=s[c]<<8,s[c]=u%a,u=u/a|0;for(;u>0;)s.push(u%a),u=u/a|0}for(i=0;0===e[i]&&i<e.length-1;++i)n+=o;for(i=s.length-1;i>=0;--i)n+=t[s[i]]}else n=function(e,t){var r=0,n=t.length,i=t.charAt(0),a=[0];for(r=0;r<e.length();++r){for(var o=0,s=e.at(r);o<a.length;++o)s+=a[o]<<8,a[o]=s%n,s=s/n|0;for(;s>0;)a.push(s%n),s=s/n|0}var c="";for(r=0;0===e.at(r)&&r<e.length()-1;++r)c+=i;for(r=a.length-1;r>=0;--r)c+=t[a[r]];return c}(e,t);if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join("\r\n")}return n},z.decode=function(e,t){if("string"!=typeof e)throw new TypeError('"input" must be a string.');if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');var r=q[t];if(!r){r=q[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");var i=t.length,a=t.charAt(0),o=[0];for(n=0;n<e.length;n++){var s=r[e.charCodeAt(n)];if(void 0===s)return;for(var c=0,u=s;c<o.length;++c)u+=o[c]*i,o[c]=255&u,u>>=8;for(;u>0;)o.push(255&u),u>>=8}for(var l=0;e[l]===a&&l<e.length-1;++l)o.push(0);return"undefined"!=typeof Buffer?Buffer.from(o.reverse()):new Uint8Array(o.reverse())},w((function(e){var t=e.exports=F.util=F.util||{};function r(e){if(8!==e&&16!==e&&24!==e&&32!==e)throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}function n(e){if(this.data="",this.read=0,"string"==typeof e)this.data=e;else if(t.isArrayBuffer(e)||t.isArrayBufferView(e))if("undefined"!=typeof Buffer&&e instanceof Buffer)this.data=e.toString("binary");else{var r=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,r)}catch(e){for(var i=0;i<r.length;++i)this.putByte(r[i])}}else(e instanceof n||"object"==typeof e&&"string"==typeof e.data&&"number"==typeof e.read)&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}!function(){if("undefined"!=typeof process&&process.nextTick&&!process.browser)return t.nextTick=process.nextTick,void("function"==typeof setImmediate?t.setImmediate=setImmediate:t.setImmediate=t.nextTick);if("function"==typeof setImmediate)return t.setImmediate=function(){return setImmediate.apply(void 0,arguments)},void(t.nextTick=function(e){return setImmediate(e)});if(t.setImmediate=function(e){setTimeout(e,0)},"undefined"!=typeof window&&"function"==typeof window.postMessage){var e="forge.setImmediate",r=[];t.setImmediate=function(t){r.push(t),1===r.length&&window.postMessage(e,"*")},window.addEventListener("message",(function(t){if(t.source===window&&t.data===e){t.stopPropagation();var n=r.slice();r.length=0,n.forEach((function(e){e()}))}}),!0)}if("undefined"!=typeof MutationObserver){var n=Date.now(),i=!0,a=document.createElement("div");r=[],new MutationObserver((function(){var e=r.slice();r.length=0,e.forEach((function(e){e()}))})).observe(a,{attributes:!0});var o=t.setImmediate;t.setImmediate=function(e){Date.now()-n>15?(n=Date.now(),o(e)):(r.push(e),1===r.length&&a.setAttribute("a",i=!i))}}t.nextTick=t.setImmediate}(),t.isNodejs="undefined"!=typeof process&&process.versions&&process.versions.node,t.globalScope=t.isNodejs?C:"undefined"==typeof self?window:self,t.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},t.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},t.isArrayBufferView=function(e){return e&&t.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},t.ByteBuffer=n,t.ByteStringBuffer=n,t.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},t.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},t.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},t.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},t.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this},t.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},t.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(t.encodeUtf8(e))},t.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},t.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},t.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},t.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},t.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},t.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},t.ByteStringBuffer.prototype.putInt=function(e,t){r(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},t.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)},t.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())},t.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)},t.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e},t.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e},t.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e},t.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e},t.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e},t.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e},t.ByteStringBuffer.prototype.getInt=function(e){r(e);var t=0;do{t=(t<<8)+this.data.charCodeAt(this.read++),e-=8}while(e>0);return t},t.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t},t.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},t.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},t.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},t.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},t.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},t.ByteStringBuffer.prototype.copy=function(){var e=t.createBuffer(this.data);return e.read=this.read,e},t.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},t.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},t.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},t.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e},t.ByteStringBuffer.prototype.toString=function(){return t.decodeUtf8(this.bytes())},t.DataBuffer=function(e,r){r=r||{},this.read=r.readOffset||0,this.growSize=r.growSize||1024;var n=t.isArrayBuffer(e),i=t.isArrayBufferView(e);if(n||i)return this.data=n?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength),void(this.write="writeOffset"in r?r.writeOffset:this.data.byteLength);this.data=new DataView(new ArrayBuffer(0)),this.write=0,null!=e&&this.putBytes(e),"writeOffset"in r&&(this.write=r.writeOffset)},t.DataBuffer.prototype.length=function(){return this.write-this.read},t.DataBuffer.prototype.isEmpty=function(){return this.length()<=0},t.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this},t.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},t.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this},t.DataBuffer.prototype.putBytes=function(e,r){if(t.isArrayBufferView(e)){var n=(i=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).byteLength-i.byteOffset;return this.accommodate(n),new Uint8Array(this.data.buffer,this.write).set(i),this.write+=n,this}if(t.isArrayBuffer(e)){var i=new Uint8Array(e);return this.accommodate(i.byteLength),new Uint8Array(this.data.buffer).set(i,this.write),this.write+=i.byteLength,this}if(e instanceof t.DataBuffer||"object"==typeof e&&"number"==typeof e.read&&"number"==typeof e.write&&t.isArrayBufferView(e.data))return i=new Uint8Array(e.data.byteLength,e.read,e.length()),this.accommodate(i.byteLength),new Uint8Array(e.data.byteLength,this.write).set(i),this.write+=i.byteLength,this;if(e instanceof t.ByteStringBuffer&&(e=e.data,r="binary"),r=r||"binary","string"==typeof e){var a;if("hex"===r)return this.accommodate(Math.ceil(e.length/2)),a=new Uint8Array(this.data.buffer,this.write),this.write+=t.binary.hex.decode(e,a,this.write),this;if("base64"===r)return this.accommodate(3*Math.ceil(e.length/4)),a=new Uint8Array(this.data.buffer,this.write),this.write+=t.binary.base64.decode(e,a,this.write),this;if("utf8"===r&&(e=t.encodeUtf8(e),r="binary"),"binary"===r||"raw"===r)return this.accommodate(e.length),a=new Uint8Array(this.data.buffer,this.write),this.write+=t.binary.raw.decode(a),this;if("utf16"===r)return this.accommodate(2*e.length),a=new Uint16Array(this.data.buffer,this.write),this.write+=t.text.utf16.encode(a),this;throw new Error("Invalid encoding: "+r)}throw Error("Invalid parameter: "+e)},t.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this},t.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")},t.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this},t.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},t.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},t.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},t.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},t.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},t.DataBuffer.prototype.putInt=function(e,t){r(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},t.DataBuffer.prototype.putSignedInt=function(e,t){return r(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)},t.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)},t.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e},t.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e},t.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e},t.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e},t.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e},t.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e},t.DataBuffer.prototype.getInt=function(e){r(e);var t=0;do{t=(t<<8)+this.data.getInt8(this.read++),e-=8}while(e>0);return t},t.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t},t.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},t.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},t.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},t.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},t.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},t.DataBuffer.prototype.copy=function(){return new t.DataBuffer(this)},t.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},t.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},t.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},t.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e},t.DataBuffer.prototype.toString=function(e){var r=new Uint8Array(this.data,this.read,this.length());if("binary"===(e=e||"utf8")||"raw"===e)return t.binary.raw.encode(r);if("hex"===e)return t.binary.hex.encode(r);if("base64"===e)return t.binary.base64.encode(r);if("utf8"===e)return t.text.utf8.decode(r);if("utf16"===e)return t.text.utf16.decode(r);throw new Error("Invalid encoding: "+e)},t.createBuffer=function(e,r){return r=r||"raw",void 0!==e&&"utf8"===r&&(e=t.encodeUtf8(e)),new t.ByteBuffer(e)},t.fillString=function(e,t){for(var r="";t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return r},t.xorBytes=function(e,t,r){for(var n="",i="",a="",o=0,s=0;r>0;--r,++o)i=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(n+=a,a="",s=0),a+=String.fromCharCode(i),++s;return n+a},t.hexToBytes=function(e){var t="",r=0;for(!0&e.length&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},t.bytesToHex=function(e){return t.createBuffer(e).toHex()},t.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],o="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";t.encode64=function(e,t){for(var r,n,a,o="",s="",c=0;c<e.length;)r=e.charCodeAt(c++),n=e.charCodeAt(c++),a=e.charCodeAt(c++),o+=i.charAt(r>>2),o+=i.charAt((3&r)<<4|n>>4),isNaN(n)?o+="==":(o+=i.charAt((15&n)<<2|a>>6),o+=isNaN(a)?"=":i.charAt(63&a)),t&&o.length>t&&(s+=o.substr(0,t)+"\r\n",o=o.substr(t));return s+o},t.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,r,n,i,o="",s=0;s<e.length;)t=a[e.charCodeAt(s++)-43],r=a[e.charCodeAt(s++)-43],n=a[e.charCodeAt(s++)-43],i=a[e.charCodeAt(s++)-43],o+=String.fromCharCode(t<<2|r>>4),64!==n&&(o+=String.fromCharCode((15&r)<<4|n>>2),64!==i&&(o+=String.fromCharCode((3&n)<<6|i)));return o},t.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},t.decodeUtf8=function(e){return decodeURIComponent(escape(e))},t.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:K.encode,decode:K.decode}},t.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},t.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length));for(var i=r=r||0,a=0;a<e.length;++a)n[i++]=e.charCodeAt(a);return t?i-r:n},t.binary.hex.encode=t.bytesToHex,t.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2)));var i=0,a=r=r||0;for(1&e.length&&(i=1,n[a++]=parseInt(e[0],16));i<e.length;i+=2)n[a++]=parseInt(e.substr(i,2),16);return t?a-r:n},t.binary.base64.encode=function(e,t){for(var r,n,a,o="",s="",c=0;c<e.byteLength;)r=e[c++],n=e[c++],a=e[c++],o+=i.charAt(r>>2),o+=i.charAt((3&r)<<4|n>>4),isNaN(n)?o+="==":(o+=i.charAt((15&n)<<2|a>>6),o+=isNaN(a)?"=":i.charAt(63&a)),t&&o.length>t&&(s+=o.substr(0,t)+"\r\n",o=o.substr(t));return s+o},t.binary.base64.decode=function(e,t,r){var n,i,o,s,c=t;c||(c=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var u=0,l=r=r||0;u<e.length;)n=a[e.charCodeAt(u++)-43],i=a[e.charCodeAt(u++)-43],o=a[e.charCodeAt(u++)-43],s=a[e.charCodeAt(u++)-43],c[l++]=n<<2|i>>4,64!==o&&(c[l++]=(15&i)<<4|o>>2,64!==s&&(c[l++]=(3&o)<<6|s));return t?l-r:c.subarray(0,l)},t.binary.base58.encode=function(e,r){return t.binary.baseN.encode(e,o,r)},t.binary.base58.decode=function(e,r){return t.binary.baseN.decode(e,o,r)},t.text={utf8:{},utf16:{}},t.text.utf8.encode=function(e,r,n){e=t.encodeUtf8(e);var i=r;i||(i=new Uint8Array(e.length));for(var a=n=n||0,o=0;o<e.length;++o)i[a++]=e.charCodeAt(o);return r?a-n:i},t.text.utf8.decode=function(e){return t.decodeUtf8(String.fromCharCode.apply(null,e))},t.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(2*e.length));for(var i=new Uint16Array(n.buffer),a=r=r||0,o=r,s=0;s<e.length;++s)i[o++]=e.charCodeAt(s),a+=2;return t?a-r:n},t.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))},t.deflate=function(e,r,n){if(r=t.decode64(e.deflate(t.encode64(r)).rval),n){var i=2;32&r.charCodeAt(1)&&(i=6),r=r.substring(i,r.length-4)}return r},t.inflate=function(e,r,n){var i=e.inflate(t.encode64(r)).rval;return null===i?null:t.decode64(i)};var s=function(e,r,n){if(!e)throw new Error("WebStorage not available.");var i;if(null===n?i=e.removeItem(r):(n=t.encode64(JSON.stringify(n)),i=e.setItem(r,n)),void 0!==i&&!0!==i.rval){var a=new Error(i.error.message);throw a.id=i.error.id,a.name=i.error.name,a}},c=function(e,r){if(!e)throw new Error("WebStorage not available.");var n=e.getItem(r);if(e.init)if(null===n.rval){if(n.error){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}n=null}else n=n.rval;return null!==n&&(n=JSON.parse(t.decode64(n))),n},u=function(e,t,r,n){var i=c(e,t);null===i&&(i={}),i[r]=n,s(e,t,i)},l=function(e,t,r){var n=c(e,t);return null!==n&&(n=r in n?n[r]:null),n},d=function(e,t,r){var n=c(e,t);if(null!==n&&r in n){delete n[r];var i=!0;for(var a in n){i=!1;break}i&&(n=null),s(e,t,n)}},f=function(e,t){s(e,t,null)},p=function(e,t,r){var n,i=null;void 0===r&&(r=["web","flash"]);var a=!1,o=null;for(var s in r){n=r[s];try{if("flash"===n||"both"===n){if(null===t[0])throw new Error("Flash local storage not available.");i=e.apply(this,t),a="flash"===n}"web"!==n&&"both"!==n||(t[0]=localStorage,i=e.apply(this,t),a=!0)}catch(e){o=e}if(a)break}if(!a)throw o;return i};t.setItem=function(e,t,r,n,i){p(u,arguments,i)},t.getItem=function(e,t,r,n){return p(l,arguments,n)},t.removeItem=function(e,t,r,n){p(d,arguments,n)},t.clearItems=function(e,t,r){p(f,arguments,r)},t.parseUrl=function(e){var t=/^(https?):\/\/([^:&^\/]*):?(\d*)(.*)$/g;t.lastIndex=0;var r=t.exec(e),n=null===r?null:{full:e,scheme:r[1],host:r[2],port:r[3],path:r[4]};return n&&(n.fullHost=n.host,n.port?(80!==n.port&&"http"===n.scheme||443!==n.port&&"https"===n.scheme)&&(n.fullHost+=":"+n.port):"http"===n.scheme?n.port=80:"https"===n.scheme&&(n.port=443),n.full=n.scheme+"://"+n.fullHost),n};var h=null;t.getQueryVariables=function(e){var t,r=function(e){for(var t={},r=e.split("&"),n=0;n<r.length;n++){var i,a,o=r[n].indexOf("=");o>0?(i=r[n].substring(0,o),a=r[n].substring(o+1)):(i=r[n],a=null),i in t||(t[i]=[]),i in Object.prototype||null===a||t[i].push(unescape(a))}return t};return void 0===e?(null===h&&(h="undefined"!=typeof window&&window.location&&window.location.search?r(window.location.search.substring(1)):{}),t=h):t=r(e),t},t.parseFragment=function(e){var r=e,n="",i=e.indexOf("?");i>0&&(r=e.substring(0,i),n=e.substring(i+1));var a=r.split("/");return a.length>0&&""===a[0]&&a.shift(),{pathString:r,queryString:n,path:a,query:""===n?{}:t.getQueryVariables(n)}},t.makeRequest=function(e){var r=t.parseFragment(e),n={path:r.pathString,query:r.queryString,getPath:function(e){return void 0===e?r.path:r.path[e]},getQuery:function(e,t){var n;return void 0===e?n=r.query:(n=r.query[e])&&void 0!==t&&(n=n[t]),n},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},t.makeLink=function(e,t,r){e=jQuery.isArray(e)?e.join("/"):e;var n=jQuery.param(t||{});return r=r||"",e+(n.length>0?"?"+n:"")+(r.length>0?"#"+r:"")},t.setPath=function(e,t,r){if("object"==typeof e&&null!==e)for(var n=0,i=t.length;n<i;){var a=t[n++];if(n==i)e[a]=r;else{var o=a in e;(!o||o&&"object"!=typeof e[a]||o&&null===e[a])&&(e[a]={}),e=e[a]}}},t.getPath=function(e,t,r){for(var n=0,i=t.length,a=!0;a&&n<i&&"object"==typeof e&&null!==e;){var o=t[n++];(a=o in e)&&(e=e[o])}return a?e:r},t.deletePath=function(e,t){if("object"==typeof e&&null!==e)for(var r=0,n=t.length;r<n;){var i=t[r++];if(r==n)delete e[i];else{if(!(i in e)||"object"!=typeof e[i]||null===e[i])break;e=e[i]}}},t.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},t.format=function(e){for(var t,r,n=/%./g,i=0,a=[],o=0;t=n.exec(e);){(r=e.substring(o,n.lastIndex-2)).length>0&&a.push(r),o=n.lastIndex;var s=t[0][1];switch(s){case"s":case"o":i<arguments.length?a.push(arguments[1+i++]):a.push("<?>");break;case"%":a.push("%");break;default:a.push("<%"+s+"?>")}}return a.push(e.substring(o)),a.join("")},t.formatNumber=function(e,t,r,n){var i=e,a=isNaN(t=Math.abs(t))?2:t,o=void 0===r?",":r,s=void 0===n?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+s:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+s)+(a?o+Math.abs(i-u).toFixed(a).slice(2):"")},t.formatSize=function(e){return e>=1073741824?t.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?t.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?t.formatNumber(e/1024,0)+" KiB":t.formatNumber(e,0)+" bytes"},t.bytesFromIP=function(e){return-1!==e.indexOf(".")?t.bytesFromIPv4(e):-1!==e.indexOf(":")?t.bytesFromIPv6(e):null},t.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var r=t.createBuffer(),n=0;n<e.length;++n){var i=parseInt(e[n],10);if(isNaN(i))return null;r.putByte(i)}return r.getBytes()},t.bytesFromIPv6=function(e){for(var r=0,n=2*(8-(e=e.split(":").filter((function(e){return 0===e.length&&++r,!0}))).length+r),i=t.createBuffer(),a=0;a<8;++a)if(e[a]&&0!==e[a].length){var o=t.hexToBytes(e[a]);o.length<2&&i.putByte(0),i.putBytes(o)}else i.fillWithByte(0,n),n=0;return i.getBytes()},t.bytesToIP=function(e){return 4===e.length?t.bytesToIPv4(e):16===e.length?t.bytesToIPv6(e):null},t.bytesToIPv4=function(e){if(4!==e.length)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")},t.bytesToIPv6=function(e){if(16!==e.length)return null;for(var r=[],n=[],i=0,a=0;a<e.length;a+=2){for(var o=t.bytesToHex(e[a]+e[a+1]);"0"===o[0]&&"0"!==o;)o=o.substr(1);if("0"===o){var s=n[n.length-1],c=r.length;s&&c===s.end+1?(s.end=c,s.end-s.start>n[i].end-n[i].start&&(i=n.length-1)):n.push({start:c,end:c})}r.push(o)}if(n.length>0){var u=n[i];u.end-u.start>0&&(r.splice(u.start,u.end-u.start+1,""),0===u.start&&r.unshift(""),7===u.end&&r.push(""))}return r.join(":")},t.estimateCores=function(e,r){if("function"==typeof e&&(r=e,e={}),e=e||{},"cores"in t&&!e.update)return r(null,t.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return t.cores=navigator.hardwareConcurrency,r(null,t.cores);if("undefined"==typeof Worker)return t.cores=1,r(null,t.cores);if("undefined"==typeof Blob)return t.cores=2,r(null,t.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",(function(e){var t=Date.now(),r=t+4;self.postMessage({st:t,et:r})}))}.toString(),")()"],{type:"application/javascript"}));!function e(i,a,o){if(0===a){var s=Math.floor(i.reduce((function(e,t){return e+t}),0)/i.length);return t.cores=Math.max(1,s),URL.revokeObjectURL(n),r(null,t.cores)}!function(e,t){for(var r=[],i=[],a=0;a<e;++a){var o=new Worker(n);o.addEventListener("message",(function(n){if(i.push(n.data),i.length===e){for(var a=0;a<e;++a)r[a].terminate();t(null,i)}})),r.push(o)}for(a=0;a<e;++a)r[a].postMessage(a)}(o,(function(t,r){i.push(function(e,t){for(var r=[],n=0;n<e;++n)for(var i=t[n],a=r[n]=[],o=0;o<e;++o)if(n!==o){var s=t[o];(i.st>s.st&&i.st<s.et||s.st>i.st&&s.st<i.et)&&a.push(o)}return r.reduce((function(e,t){return Math.max(e,t.length)}),0)}(o,r)),e(i,a-1,o)}))}([],5,16)}})),F.cipher=F.cipher||{},F.cipher.algorithms=F.cipher.algorithms||{},F.cipher.createCipher=function(e,t){var r=e;if("string"==typeof r&&(r=F.cipher.getAlgorithm(r))&&(r=r()),!r)throw new Error("Unsupported algorithm: "+e);return new F.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})},F.cipher.createDecipher=function(e,t){var r=e;if("string"==typeof r&&(r=F.cipher.getAlgorithm(r))&&(r=r()),!r)throw new Error("Unsupported algorithm: "+e);return new F.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})},F.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),F.cipher.algorithms[e]=t},F.cipher.getAlgorithm=function(e){return(e=e.toUpperCase())in F.cipher.algorithms?F.cipher.algorithms[e]:null};var H=F.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};function G(e,t){F.cipher.registerAlgorithm(e,(function(){return new F.aes.Algorithm(e,t)}))}H.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=F.util.createBuffer(),this.output=e.output||F.util.createBuffer(),this.mode.start(t)},H.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()},H.prototype.finish=function(e){!e||"ECB"!==this.mode.name&&"CBC"!==this.mode.name||(this.mode.pad=function(t){return e(this.blockSize,t,!1)},this.mode.unpad=function(t){return e(this.blockSize,t,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t)||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t)))},w((function(e){F.cipher=F.cipher||{};var t=e.exports=F.cipher.modes=F.cipher.modes||{};function r(e,t){if("string"==typeof e&&(e=F.util.createBuffer(e)),F.util.isArray(e)&&e.length>4){var r=e;e=F.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!F.util.isArray(e)){var i=[],a=t/4;for(n=0;n<a;++n)i.push(e.getInt32());e=i}return e}function n(e){e[e.length-1]=e[e.length-1]+1&4294967295}function i(e){return[e/4294967296|0,4294967295&e]}t.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},t.ecb.prototype.start=function(e){},t.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();for(this.cipher.encrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])},t.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();for(this.cipher.decrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])},t.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0},t.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return!(n>this.blockSize<<2||(e.truncate(n),0))},t.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},t.cbc.prototype.start=function(e){if(null===e.iv){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else{if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._prev=this._iv.slice(0)}},t.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();for(this.cipher.encrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock},t.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();for(this.cipher.decrypt(this._inBlock,this._outBlock),n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)},t.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0},t.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return!(n>this.blockSize<<2||(e.truncate(n),0))},t.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0},t.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);else{var a=(this.blockSize-n)%this.blockSize;for(a>0&&(a=this.blockSize-a),this._partialOutput.clear(),i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(a>0)e.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},t.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);else{var a=(this.blockSize-n)%this.blockSize;for(a>0&&(a=this.blockSize-a),this._partialOutput.clear(),i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(a>0)e.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},t.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0},t.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===e.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];else{var a=(this.blockSize-n)%this.blockSize;for(a>0&&(a=this.blockSize-a),this._partialOutput.clear(),i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(a>0)e.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},t.ofb.prototype.decrypt=t.ofb.prototype.encrypt,t.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0},t.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=r(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.ctr.prototype.encrypt=function(e,t,r){var i=e.length();if(0===i)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&i>=this.blockSize)for(var a=0;a<this._ints;++a)t.putInt32(e.getInt32()^this._outBlock[a]);else{var o=(this.blockSize-i)%this.blockSize;for(o>0&&(o=this.blockSize-o),this._partialOutput.clear(),a=0;a<this._ints;++a)this._partialOutput.putInt32(e.getInt32()^this._outBlock[a]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=0}n(this._inBlock)},t.ctr.prototype.decrypt=t.ctr.prototype.encrypt,t.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=F.util.createBuffer(),this._partialBytes=0,this._R=3774873600},t.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t,r=F.util.createBuffer(e.iv);if(this._cipherLength=0,t="additionalData"in e?F.util.createBuffer(e.additionalData):F.util.createBuffer(),this._tagLength="tagLength"in e?e.tagLength:128,this._tag=null,e.decrypt&&(this._tag=F.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var a=r.length();if(12===a)this._j0=[r.getInt32(),r.getInt32(),r.getInt32(),1];else{for(this._j0=[0,0,0,0];r.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(i(8*a)))}this._inBlock=this._j0.slice(0),n(this._inBlock),this._partialBytes=0,t=F.util.createBuffer(t),this._aDataLength=i(8*t.length());var o=t.length()%this.blockSize;for(o&&t.fillWithByte(0,this.blockSize-o),this._s=[0,0,0,0];t.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()])},t.gcm.prototype.encrypt=function(e,t,r){var i=e.length();if(0===i)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&i>=this.blockSize){for(var a=0;a<this._ints;++a)t.putInt32(this._outBlock[a]^=e.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-i)%this.blockSize;for(o>0&&(o=this.blockSize-o),this._partialOutput.clear(),a=0;a<this._ints;++a)this._partialOutput.putInt32(e.getInt32()^this._outBlock[a]);if(o<=0||r){if(r){var s=i%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(a=0;a<this._ints;++a)this._outBlock[a]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),n(this._inBlock)},t.gcm.prototype.decrypt=function(e,t,r){var i=e.length();if(i<this.blockSize&&!(r&&i>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),n(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var a=0;a<this._ints;++a)t.putInt32(this._outBlock[a]^this._hashBlock[a]);i<this.blockSize?this._cipherLength+=i%this.blockSize:this._cipherLength+=this.blockSize},t.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=F.util.createBuffer();var n=this._aDataLength.concat(i(8*this._cipherLength));this._s=this.ghash(this._hashSubkey,this._s,n);var a=[];this.cipher.encrypt(this._j0,a);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^a[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r},t.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i)e[i/32|0]&1<<31-i%32&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n);return r},t.gcm.prototype.pow=function(e,t){for(var r=1&e[3],n=3;n>0;--n)t[n]=e[n]>>>1|(1&e[n-1])<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)},t.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=e[r/8|0]>>>4*(7-r%8)&15,i=this._m[r][n];t[0]^=i[0],t[1]^=i[1],t[2]^=i[2],t[3]^=i[3]}return t},t.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)},t.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,a=new Array(i),o=0;o<i;++o){var s=[0,0,0,0],c=(n-1-o%n)*t;s[o/n|0]=1<<t-1<<c,a[o]=this.generateSubHashTable(this.multiply(s,e),t)}return a},t.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.slice(0);for(var a=n>>>1;a>0;)this.pow(i[2*a],i[a]=[]),a>>=1;for(a=2;a<n;){for(var o=1;o<a;++o){var s=i[a],c=i[o];i[a+o]=[s[0]^c[0],s[1]^c[1],s[2]^c[2],s[3]^c[3]]}a*=2}for(i[0]=[0,0,0,0],a=n+1;a<r;++a){var u=i[a^n];i[a]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i}})),F.aes=F.aes||{},F.aes.startEncrypting=function(e,t,r,n){var i=ne({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i},F.aes.createEncryptionCipher=function(e,t){return ne({key:e,output:null,decrypt:!1,mode:t})},F.aes.startDecrypting=function(e,t,r,n){var i=ne({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i},F.aes.createDecryptionCipher=function(e,t){return ne({key:e,output:null,decrypt:!0,mode:t})},F.aes.Algorithm=function(e,t){Z||ee();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(e,t){return re(r._w,e,t,!1)},decrypt:function(e,t){return re(r._w,e,t,!0)}}}),r._init=!1},F.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t,r=e.key;if("string"!=typeof r||16!==r.length&&24!==r.length&&32!==r.length){if(F.util.isArray(r)&&(16===r.length||24===r.length||32===r.length)){t=r,r=F.util.createBuffer();for(var n=0;n<t.length;++n)r.putByte(t[n])}}else r=F.util.createBuffer(r);if(!F.util.isArray(r)){t=r,r=[];var i=t.length();if(16===i||24===i||32===i)for(i>>>=2,n=0;n<i;++n)r.push(t.getInt32())}if(!F.util.isArray(r)||4!==r.length&&6!==r.length&&8!==r.length)throw new Error("Invalid key parameter.");var a=this.mode.name,o=-1!==["CFB","OFB","CTR","GCM"].indexOf(a);this._w=te(r,e.decrypt&&!o),this._init=!0}},F.aes._expandKey=function(e,t){return Z||ee(),te(e,t)},F.aes._updateBlock=re,G("AES-ECB",F.cipher.modes.ecb),G("AES-CBC",F.cipher.modes.cbc),G("AES-CFB",F.cipher.modes.cfb),G("AES-OFB",F.cipher.modes.ofb),G("AES-CTR",F.cipher.modes.ctr),G("AES-GCM",F.cipher.modes.gcm);var Q,W,X,Y,$,Z=!1,J=4;function ee(){Z=!0,X=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;for(Q=new Array(256),W=new Array(256),Y=new Array(4),$=new Array(4),t=0;t<4;++t)Y[t]=new Array(256),$[t]=new Array(256);var r,n,i,a,o,s,c,u=0,l=0;for(t=0;t<256;++t){a=(a=l^l<<1^l<<2^l<<3^l<<4)>>8^255&a^99,Q[u]=a,W[a]=u,s=(o=e[a])<<24^a<<16^a<<8^a^o,c=((r=e[u])^(n=e[r])^(i=e[n]))<<24^(u^i)<<16^(u^n^i)<<8^u^r^i;for(var d=0;d<4;++d)Y[d][u]=s,$[d][a]=c,s=s<<24|s>>>8,c=c<<24|c>>>8;0===u?u=l=1:(u=r^e[e[e[r^i]]],l^=e[e[l]])}}function te(e,t){for(var r,n=e.slice(0),i=1,a=n.length,o=J*(a+6+1),s=a;s<o;++s)r=n[s-1],s%a==0?(r=Q[r>>>16&255]<<24^Q[r>>>8&255]<<16^Q[255&r]<<8^Q[r>>>24]^X[i]<<24,i++):a>6&&s%a==4&&(r=Q[r>>>24]<<24^Q[r>>>16&255]<<16^Q[r>>>8&255]<<8^Q[255&r]),n[s]=n[s-a]^r;if(t){for(var c,u=$[0],l=$[1],d=$[2],f=$[3],p=n.slice(0),h=(s=0,(o=n.length)-J);s<o;s+=J,h-=J)if(0===s||s===o-J)p[s]=n[h],p[s+1]=n[h+3],p[s+2]=n[h+2],p[s+3]=n[h+1];else for(var g=0;g<J;++g)c=n[h+g],p[s+(3&-g)]=u[Q[c>>>24]]^l[Q[c>>>16&255]]^d[Q[c>>>8&255]]^f[Q[255&c]];n=p}return n}function re(e,t,r,n){var i,a,o,s,c,u,l,d,f,p,h,g,m=e.length/4-1;n?(i=$[0],a=$[1],o=$[2],s=$[3],c=W):(i=Y[0],a=Y[1],o=Y[2],s=Y[3],c=Q),u=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],f=t[n?1:3]^e[3];for(var y=3,v=1;v<m;++v)p=i[u>>>24]^a[l>>>16&255]^o[d>>>8&255]^s[255&f]^e[++y],h=i[l>>>24]^a[d>>>16&255]^o[f>>>8&255]^s[255&u]^e[++y],g=i[d>>>24]^a[f>>>16&255]^o[u>>>8&255]^s[255&l]^e[++y],f=i[f>>>24]^a[u>>>16&255]^o[l>>>8&255]^s[255&d]^e[++y],u=p,l=h,d=g;r[0]=c[u>>>24]<<24^c[l>>>16&255]<<16^c[d>>>8&255]<<8^c[255&f]^e[++y],r[n?3:1]=c[l>>>24]<<24^c[d>>>16&255]<<16^c[f>>>8&255]<<8^c[255&u]^e[++y],r[2]=c[d>>>24]<<24^c[f>>>16&255]<<16^c[u>>>8&255]<<8^c[255&l]^e[++y],r[n?1:3]=c[f>>>24]<<24^c[u>>>16&255]<<16^c[l>>>8&255]<<8^c[255&d]^e[++y]}function ne(e){var t,r="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),n=(t=e.decrypt?F.cipher.createDecipher(r,e.key):F.cipher.createCipher(r,e.key)).start;return t.start=function(e,r){var i=null;r instanceof F.util.ByteBuffer&&(i=r,r={}),(r=r||{}).output=i,r.iv=e,n.call(t,r)},t}function ie(e,t){F.cipher.registerAlgorithm(e,(function(){return new F.des.Algorithm(e,t)}))}w((function(e){F.pki=F.pki||{};var t=e.exports=F.pki.oids=F.oids=F.oids||{};function r(e,r){t[e]=r,t[r]=e}function n(e,r){t[e]=r}r("1.2.840.113549.1.1.1","rsaEncryption"),r("1.2.840.113549.1.1.4","md5WithRSAEncryption"),r("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),r("1.2.840.113549.1.1.7","RSAES-OAEP"),r("1.2.840.113549.1.1.8","mgf1"),r("1.2.840.113549.1.1.9","pSpecified"),r("1.2.840.113549.1.1.10","RSASSA-PSS"),r("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),r("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),r("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),r("1.3.101.112","EdDSA25519"),r("1.2.840.10040.4.3","dsa-with-sha1"),r("1.3.14.3.2.7","desCBC"),r("1.3.14.3.2.26","sha1"),r("2.16.840.1.101.3.4.2.1","sha256"),r("2.16.840.1.101.3.4.2.2","sha384"),r("2.16.840.1.101.3.4.2.3","sha512"),r("1.2.840.113549.2.5","md5"),r("1.2.840.113549.1.7.1","data"),r("1.2.840.113549.1.7.2","signedData"),r("1.2.840.113549.1.7.3","envelopedData"),r("1.2.840.113549.1.7.4","signedAndEnvelopedData"),r("1.2.840.113549.1.7.5","digestedData"),r("1.2.840.113549.1.7.6","encryptedData"),r("1.2.840.113549.1.9.1","emailAddress"),r("1.2.840.113549.1.9.2","unstructuredName"),r("1.2.840.113549.1.9.3","contentType"),r("1.2.840.113549.1.9.4","messageDigest"),r("1.2.840.113549.1.9.5","signingTime"),r("1.2.840.113549.1.9.6","counterSignature"),r("1.2.840.113549.1.9.7","challengePassword"),r("1.2.840.113549.1.9.8","unstructuredAddress"),r("1.2.840.113549.1.9.14","extensionRequest"),r("1.2.840.113549.1.9.20","friendlyName"),r("1.2.840.113549.1.9.21","localKeyId"),r("1.2.840.113549.1.9.22.1","x509Certificate"),r("1.2.840.113549.1.12.10.1.1","keyBag"),r("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),r("1.2.840.113549.1.12.10.1.3","certBag"),r("1.2.840.113549.1.12.10.1.4","crlBag"),r("1.2.840.113549.1.12.10.1.5","secretBag"),r("1.2.840.113549.1.12.10.1.6","safeContentsBag"),r("1.2.840.113549.1.5.13","pkcs5PBES2"),r("1.2.840.113549.1.5.12","pkcs5PBKDF2"),r("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),r("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),r("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),r("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),r("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),r("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),r("1.2.840.113549.2.7","hmacWithSHA1"),r("1.2.840.113549.2.8","hmacWithSHA224"),r("1.2.840.113549.2.9","hmacWithSHA256"),r("1.2.840.113549.2.10","hmacWithSHA384"),r("1.2.840.113549.2.11","hmacWithSHA512"),r("1.2.840.113549.3.7","des-EDE3-CBC"),r("2.16.840.1.101.3.4.1.2","aes128-CBC"),r("2.16.840.1.101.3.4.1.22","aes192-CBC"),r("2.16.840.1.101.3.4.1.42","aes256-CBC"),r("2.5.4.3","commonName"),r("2.5.4.5","serialName"),r("2.5.4.6","countryName"),r("2.5.4.7","localityName"),r("2.5.4.8","stateOrProvinceName"),r("2.5.4.9","streetAddress"),r("2.5.4.10","organizationName"),r("2.5.4.11","organizationalUnitName"),r("2.5.4.13","description"),r("2.5.4.15","businessCategory"),r("2.5.4.17","postalCode"),r("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName"),r("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName"),r("2.16.840.1.113730.1.1","nsCertType"),r("2.16.840.1.113730.1.13","nsComment"),n("2.5.29.1","authorityKeyIdentifier"),n("2.5.29.2","keyAttributes"),n("2.5.29.3","certificatePolicies"),n("2.5.29.4","keyUsageRestriction"),n("2.5.29.5","policyMapping"),n("2.5.29.6","subtreesConstraint"),n("2.5.29.7","subjectAltName"),n("2.5.29.8","issuerAltName"),n("2.5.29.9","subjectDirectoryAttributes"),n("2.5.29.10","basicConstraints"),n("2.5.29.11","nameConstraints"),n("2.5.29.12","policyConstraints"),n("2.5.29.13","basicConstraints"),r("2.5.29.14","subjectKeyIdentifier"),r("2.5.29.15","keyUsage"),n("2.5.29.16","privateKeyUsagePeriod"),r("2.5.29.17","subjectAltName"),r("2.5.29.18","issuerAltName"),r("2.5.29.19","basicConstraints"),n("2.5.29.20","cRLNumber"),n("2.5.29.21","cRLReason"),n("2.5.29.22","expirationDate"),n("2.5.29.23","instructionCode"),n("2.5.29.24","invalidityDate"),n("2.5.29.25","cRLDistributionPoints"),n("2.5.29.26","issuingDistributionPoint"),n("2.5.29.27","deltaCRLIndicator"),n("2.5.29.28","issuingDistributionPoint"),n("2.5.29.29","certificateIssuer"),n("2.5.29.30","nameConstraints"),r("2.5.29.31","cRLDistributionPoints"),r("2.5.29.32","certificatePolicies"),n("2.5.29.33","policyMappings"),n("2.5.29.34","policyConstraints"),r("2.5.29.35","authorityKeyIdentifier"),n("2.5.29.36","policyConstraints"),r("2.5.29.37","extKeyUsage"),n("2.5.29.46","freshestCRL"),n("2.5.29.54","inhibitAnyPolicy"),r("1.3.6.1.4.1.11129.2.4.2","timestampList"),r("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),r("1.3.6.1.5.5.7.3.1","serverAuth"),r("1.3.6.1.5.5.7.3.2","clientAuth"),r("1.3.6.1.5.5.7.3.3","codeSigning"),r("1.3.6.1.5.5.7.3.4","emailProtection"),r("1.3.6.1.5.5.7.3.8","timeStamping")})),w((function(e){var t=e.exports=F.asn1=F.asn1||{};function r(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}t.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},t.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},t.create=function(e,r,n,i,a){if(F.util.isArray(i)){for(var o=[],s=0;s<i.length;++s)void 0!==i[s]&&o.push(i[s]);i=o}var c={tagClass:e,type:r,constructed:n,composed:n||F.util.isArray(i),value:i};return a&&"bitStringContents"in a&&(c.bitStringContents=a.bitStringContents,c.original=t.copy(c)),c},t.copy=function(e,r){var n;if(F.util.isArray(e)){n=[];for(var i=0;i<e.length;++i)n.push(t.copy(e[i],r));return n}return"string"==typeof e?e:(n={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:t.copy(e.value,r)},r&&!r.excludeBitStringContents&&(n.bitStringContents=e.bitStringContents),n)},t.equals=function(e,r,n){if(F.util.isArray(e)){if(!F.util.isArray(r))return!1;if(e.length!==r.length)return!1;for(var i=0;i<e.length;++i)if(!t.equals(e[i],r[i]))return!1;return!0}if(typeof e!=typeof r)return!1;if("string"==typeof e)return e===r;var a=e.tagClass===r.tagClass&&e.type===r.type&&e.constructed===r.constructed&&e.composed===r.composed&&t.equals(e.value,r.value);return n&&n.includeBitStringContents&&(a=a&&e.bitStringContents===r.bitStringContents),a},t.getBerValueLength=function(e){var t=e.getByte();if(128!==t)return 128&t?e.getInt((127&t)<<3):t};var n=function(e,t){var n=e.getByte();if(t--,128!==n){var i;if(128&n){var a=127&n;r(e,t,a),i=e.getInt(a<<3)}else i=n;if(i<0)throw new Error("Negative length: "+i);return i}};t.fromDer=function(e,i){return void 0===i&&(i={strict:!0,decodeBitStrings:!0}),"boolean"==typeof i&&(i={strict:i,decodeBitStrings:!0}),"strict"in i||(i.strict=!0),"decodeBitStrings"in i||(i.decodeBitStrings=!0),"string"==typeof e&&(e=F.util.createBuffer(e)),function e(i,a,o,s){var c;r(i,a,2);var u=i.getByte();a--;var l=192&u,d=31&u;c=i.length();var f,p,h=n(i,a);if(a-=c-i.length(),void 0!==h&&h>a){if(s.strict){var g=new Error("Too few bytes to read ASN.1 value.");throw g.available=i.length(),g.remaining=a,g.requested=h,g}h=a}var m=32==(32&u);if(m)if(f=[],void 0===h)for(;;){if(r(i,a,2),i.bytes(2)===String.fromCharCode(0,0)){i.getBytes(2),a-=2;break}c=i.length(),f.push(e(i,a,o+1,s)),a-=c-i.length()}else for(;h>0;)c=i.length(),f.push(e(i,h,o+1,s)),a-=c-i.length(),h-=c-i.length();if(void 0===f&&l===t.Class.UNIVERSAL&&d===t.Type.BITSTRING&&(p=i.bytes(h)),void 0===f&&s.decodeBitStrings&&l===t.Class.UNIVERSAL&&d===t.Type.BITSTRING&&h>1){var y=i.read,v=a,b=0;if(d===t.Type.BITSTRING&&(r(i,a,1),b=i.getByte(),a--),0===b)try{c=i.length();var C=e(i,a,o+1,{verbose:s.verbose,strict:!0,decodeBitStrings:!0}),w=c-i.length();a-=w,d==t.Type.BITSTRING&&w++;var E=C.tagClass;w!==h||E!==t.Class.UNIVERSAL&&E!==t.Class.CONTEXT_SPECIFIC||(f=[C])}catch(e){}void 0===f&&(i.read=y,a=v)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=a}if(d===t.Type.BMPSTRING)for(f="";h>0;h-=2)r(i,a,2),f+=String.fromCharCode(i.getInt16()),a-=2;else f=i.getBytes(h)}var k=void 0===p?null:{bitStringContents:p};return t.create(l,d,m,f,k)}(e,e.length(),0,i)},t.toDer=function(e){var r=F.util.createBuffer(),n=e.tagClass|e.type,i=F.util.createBuffer(),a=!1;if("bitStringContents"in e&&(a=!0,e.original&&(a=t.equals(e,e.original))),a)i.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:i.putByte(0);for(var o=0;o<e.value.length;++o)void 0!==e.value[o]&&i.putBuffer(t.toDer(e.value[o]))}else if(e.type===t.Type.BMPSTRING)for(o=0;o<e.value.length;++o)i.putInt16(e.value.charCodeAt(o));else e.type===t.Type.INTEGER&&e.value.length>1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?i.putBytes(e.value.substr(1)):i.putBytes(e.value);if(r.putByte(n),i.length()<=127)r.putByte(127&i.length());else{var s=i.length(),c="";do{c+=String.fromCharCode(255&s),s>>>=8}while(s>0);for(r.putByte(128|c.length),o=c.length-1;o>=0;--o)r.putByte(c.charCodeAt(o))}return r.putBuffer(i),r},t.oidToDer=function(e){var t,r,n,i,a=e.split("."),o=F.util.createBuffer();o.putByte(40*parseInt(a[0],10)+parseInt(a[1],10));for(var s=2;s<a.length;++s){t=!0,r=[],n=parseInt(a[s],10);do{i=127&n,n>>>=7,t||(i|=128),r.push(i),t=!1}while(n>0);for(var c=r.length-1;c>=0;--c)o.putByte(r[c])}return o},t.derToOid=function(e){var t;"string"==typeof e&&(e=F.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)n<<=7,128&(r=e.getByte())?n+=127&r:(t+="."+(n+r),n=0);return t},t.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),a=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var c=e.charAt(10),u=10;"+"!==c&&"-"!==c&&(s=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(a,o,s,0),u&&("+"===(c=e.charAt(u))||"-"===c)){var l=60*parseInt(e.substr(u+1,2),10)+parseInt(e.substr(u+4,2),10);l*=6e4,"+"===c?t.setTime(+t-l):t.setTime(+t+l)}return t},t.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),a=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),c=0,u=0,l=!1;"Z"===e.charAt(e.length-1)&&(l=!0);var d=e.length-5,f=e.charAt(d);return"+"!==f&&"-"!==f||(u=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),u*=6e4,"+"===f&&(u*=-1),l=!0),"."===e.charAt(14)&&(c=1e3*parseFloat(e.substr(14),10)),l?(t.setUTCFullYear(r,n,i),t.setUTCHours(a,o,s,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(a,o,s,c)),t},t.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+"Z"},t.dateToGeneralizedTime=function(e){if("string"==typeof e)return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+"Z"},t.integerToDer=function(e){var t=F.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r},t.derToInteger=function(e){"string"==typeof e&&(e=F.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},t.validate=function(e,r,n,i){var a=!1;if(e.tagClass!==r.tagClass&&void 0!==r.tagClass||e.type!==r.type&&void 0!==r.type)i&&(e.tagClass!==r.tagClass&&i.push("["+r.name+'] Expected tag class "'+r.tagClass+'", got "'+e.tagClass+'"'),e.type!==r.type&&i.push("["+r.name+'] Expected type "'+r.type+'", got "'+e.type+'"'));else if(e.constructed===r.constructed||void 0===r.constructed){if(a=!0,r.value&&F.util.isArray(r.value))for(var o=0,s=0;a&&s<r.value.length;++s)a=r.value[s].optional||!1,e.value[o]&&((a=t.validate(e.value[o],r.value[s],n,i))?++o:r.value[s].optional&&(a=!0)),!a&&i&&i.push("["+r.name+'] Tag class "'+r.tagClass+'", type "'+r.type+'" expected value length "'+r.value.length+'", got "'+e.value.length+'"');if(a&&n&&(r.capture&&(n[r.capture]=e.value),r.captureAsn1&&(n[r.captureAsn1]=e),r.captureBitStringContents&&"bitStringContents"in e&&(n[r.captureBitStringContents]=e.bitStringContents),r.captureBitStringValue&&"bitStringContents"in e))if(e.bitStringContents.length<2)n[r.captureBitStringValue]="";else{if(0!==e.bitStringContents.charCodeAt(0))throw new Error("captureBitStringValue only supported for zero unused bits");n[r.captureBitStringValue]=e.bitStringContents.slice(1)}}else i&&i.push("["+r.name+'] Expected constructed "'+r.constructed+'", got "'+e.constructed+'"');return a};var i=/[^\\u0000-\\u00ff]/;t.prettyPrint=function(e,r,n){var a="";n=n||2,(r=r||0)>0&&(a+="\n");for(var o="",s=0;s<r*n;++s)o+=" ";switch(a+=o+"Tag: ",e.tagClass){case t.Class.UNIVERSAL:a+="Universal:";break;case t.Class.APPLICATION:a+="Application:";break;case t.Class.CONTEXT_SPECIFIC:a+="Context-Specific:";break;case t.Class.PRIVATE:a+="Private:"}if(e.tagClass===t.Class.UNIVERSAL)switch(a+=e.type,e.type){case t.Type.NONE:a+=" (None)";break;case t.Type.BOOLEAN:a+=" (Boolean)";break;case t.Type.INTEGER:a+=" (Integer)";break;case t.Type.BITSTRING:a+=" (Bit string)";break;case t.Type.OCTETSTRING:a+=" (Octet string)";break;case t.Type.NULL:a+=" (Null)";break;case t.Type.OID:a+=" (Object Identifier)";break;case t.Type.ODESC:a+=" (Object Descriptor)";break;case t.Type.EXTERNAL:a+=" (External or Instance of)";break;case t.Type.REAL:a+=" (Real)";break;case t.Type.ENUMERATED:a+=" (Enumerated)";break;case t.Type.EMBEDDED:a+=" (Embedded PDV)";break;case t.Type.UTF8:a+=" (UTF8)";break;case t.Type.ROID:a+=" (Relative Object Identifier)";break;case t.Type.SEQUENCE:a+=" (Sequence)";break;case t.Type.SET:a+=" (Set)";break;case t.Type.PRINTABLESTRING:a+=" (Printable String)";break;case t.Type.IA5String:a+=" (IA5String (ASCII))";break;case t.Type.UTCTIME:a+=" (UTC time)";break;case t.Type.GENERALIZEDTIME:a+=" (Generalized time)";break;case t.Type.BMPSTRING:a+=" (BMP String)"}else a+=e.type;if(a+="\n",a+=o+"Constructed: "+e.constructed+"\n",e.composed){var c=0,u="";for(s=0;s<e.value.length;++s)void 0!==e.value[s]&&(c+=1,u+=t.prettyPrint(e.value[s],r+1,n),s+1<e.value.length&&(u+=","));a+=o+"Sub values: "+c+u}else{if(a+=o+"Value: ",e.type===t.Type.OID){var l=t.derToOid(e.value);a+=l,F.pki&&F.pki.oids&&l in F.pki.oids&&(a+=" ("+F.pki.oids[l]+") ")}if(e.type===t.Type.INTEGER)try{a+=t.derToInteger(e.value)}catch(t){a+="0x"+F.util.bytesToHex(e.value)}else if(e.type===t.Type.BITSTRING){if(e.value.length>1?a+="0x"+F.util.bytesToHex(e.value.slice(1)):a+="(none)",e.value.length>0){var d=e.value.charCodeAt(0);1==d?a+=" (1 unused bit shown)":d>1&&(a+=" ("+d+" unused bits shown)")}}else e.type===t.Type.OCTETSTRING?(i.test(e.value)||(a+="("+e.value+") "),a+="0x"+F.util.bytesToHex(e.value)):e.type===t.Type.UTF8?a+=F.util.decodeUtf8(e.value):e.type===t.Type.PRINTABLESTRING||e.type===t.Type.IA5String?a+=e.value:i.test(e.value)?a+="0x"+F.util.bytesToHex(e.value):0===e.value.length?a+="[null]":a+=e.value}return a}})),F.md=F.md||{},F.md.algorithms=F.md.algorithms||{},w((function(e){(e.exports=F.hmac=F.hmac||{}).create=function(){var e=null,t=null,r=null,n=null,i={start:function(i,a){if(null!==i)if("string"==typeof i){if(!((i=i.toLowerCase())in F.md.algorithms))throw new Error('Unknown hash algorithm "'+i+'"');t=F.md.algorithms[i].create()}else t=i;if(null===a)a=e;else{if("string"==typeof a)a=F.util.createBuffer(a);else if(F.util.isArray(a)){var o=a;a=F.util.createBuffer();for(var s=0;s<o.length;++s)a.putByte(o[s])}var c=a.length();for(c>t.blockLength&&(t.start(),t.update(a.bytes()),a=t.digest()),r=F.util.createBuffer(),n=F.util.createBuffer(),c=a.length(),s=0;s<c;++s)o=a.at(s),r.putByte(54^o),n.putByte(92^o);if(c<t.blockLength)for(o=t.blockLength-c,s=0;s<o;++s)r.putByte(54),n.putByte(92);e=a,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},update:function(e){t.update(e)},getMac:function(){var e=t.digest().bytes();return t.start(),t.update(n),t.update(e),t.digest()}};return i.digest=i.getMac,i}})),w((function(e){var t=e.exports=F.md5=F.md5||{};F.md.md5=F.md.algorithms.md5=t,t.create=function(){o||function(){r=String.fromCharCode(128),r+=F.util.fillString(String.fromCharCode(0),64),n=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,6,11,0,5,10,15,4,9,14,3,8,13,2,7,12,5,8,11,14,1,4,7,10,13,0,3,6,9,12,15,2,0,7,14,5,12,3,10,1,8,15,6,13,4,11,2,9],i=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],a=new Array(64);for(var e=0;e<64;++e)a[e]=Math.floor(4294967296*Math.abs(Math.sin(e+1)));o=!0}();var e=null,t=F.util.createBuffer(),c=new Array(16),u={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){u.messageLength=0,u.fullMessageLength=u.messageLength64=[];for(var r=u.messageLengthSize/4,n=0;n<r;++n)u.fullMessageLength.push(0);return t=F.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878},u}};return u.start(),u.update=function(r,n){"utf8"===n&&(r=F.util.encodeUtf8(r));var i=r.length;u.messageLength+=i,i=[i/4294967296>>>0,i>>>0];for(var a=u.fullMessageLength.length-1;a>=0;--a)u.fullMessageLength[a]+=i[1],i[1]=i[0]+(u.fullMessageLength[a]/4294967296>>>0),u.fullMessageLength[a]=u.fullMessageLength[a]>>>0,i[0]=i[1]/4294967296>>>0;return t.putBytes(r),s(e,c,t),(t.read>2048||0===t.length())&&t.compact(),u},u.digest=function(){var n=F.util.createBuffer();n.putBytes(t.bytes());var i=u.fullMessageLength[u.fullMessageLength.length-1]+u.messageLengthSize&u.blockLength-1;n.putBytes(r.substr(0,u.blockLength-i));for(var a,o=0,l=u.fullMessageLength.length-1;l>=0;--l)o=(a=8*u.fullMessageLength[l]+o)/4294967296>>>0,n.putInt32Le(a>>>0);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3};s(d,c,n);var f=F.util.createBuffer();return f.putInt32Le(d.h0),f.putInt32Le(d.h1),f.putInt32Le(d.h2),f.putInt32Le(d.h3),f},u};var r=null,n=null,i=null,a=null,o=!1;function s(e,t,r){for(var o,s,c,u,l,d,f,p=r.length();p>=64;){for(s=e.h0,c=e.h1,u=e.h2,l=e.h3,f=0;f<16;++f)t[f]=r.getInt32Le(),o=s+(l^c&(u^l))+a[f]+t[f],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;for(;f<32;++f)o=s+(u^l&(c^u))+a[f]+t[n[f]],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;for(;f<48;++f)o=s+(c^u^l)+a[f]+t[n[f]],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;for(;f<64;++f)o=s+(u^(c|~l))+a[f]+t[n[f]],s=l,l=u,u=c,c+=o<<(d=i[f])|o>>>32-d;e.h0=e.h0+s|0,e.h1=e.h1+c|0,e.h2=e.h2+u|0,e.h3=e.h3+l|0,p-=64}}})),w((function(e){var t=e.exports=F.pem=F.pem||{};function r(e){for(var t=e.name+": ",r=[],n=function(e,t){return" "+t},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+"\r\n";var a=0,o=-1;for(i=0;i<t.length;++i,++a)if(a>65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),a=i-o-1,o=-1,++i}else" "!==t[i]&&"\t"!==t[i]&&","!==t[i]||(o=i);return t}function n(e){return e.replace(/^\s+/,"")}t.encode=function(e,t){t=t||{};var n,i="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(i+=r(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(i+=r(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),i+=r(n)),e.headers)for(var a=0;a<e.headers.length;++a)i+=r(e.headers[a]);return e.procType&&(i+="\r\n"),(i+=F.util.encode64(e.body,t.maxline||64)+"\r\n")+"-----END "+e.type+"-----\r\n"},t.decode=function(e){for(var t,r=[],i=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,a=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,o=/\r?\n/;t=i.exec(e);){var s={type:t[1],procType:null,contentDomain:null,dekInfo:null,headers:[],body:F.util.decode64(t[3])};if(r.push(s),t[2]){for(var c=t[2].split(o),u=0;t&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),d=u+1;d<c.length;++d){var f=c[d];if(!/\s/.test(f[0]))break;l+=f,u=d}if(t=l.match(a)){for(var p={name:t[1],values:[]},h=t[2].split(","),g=0;g<h.length;++g)p.values.push(n(h[g]));if(s.procType)if(s.contentDomain||"Content-Domain"!==p.name)if(s.dekInfo||"DEK-Info"!==p.name)s.headers.push(p);else{if(0===p.values.length)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');s.dekInfo={algorithm:h[0],parameters:h[1]||null}}else s.contentDomain=h[0]||"";else{if("Proc-Type"!==p.name)throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(2!==p.values.length)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');s.procType={version:h[0],type:h[1]}}}++u}if("ENCRYPTED"===s.procType&&!s.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(0===r.length)throw new Error("Invalid PEM formatted message.");return r}})),F.des=F.des||{},F.des.startEncrypting=function(e,t,r,n){var i=he({key:e,output:r,decrypt:!1,mode:n||(null===t?"ECB":"CBC")});return i.start(t),i},F.des.createEncryptionCipher=function(e,t){return he({key:e,output:null,decrypt:!1,mode:t})},F.des.startDecrypting=function(e,t,r,n){var i=he({key:e,output:r,decrypt:!0,mode:n||(null===t?"ECB":"CBC")});return i.start(t),i},F.des.createDecryptionCipher=function(e,t){return he({key:e,output:null,decrypt:!0,mode:t})},F.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(e,t){return pe(r._keys,e,t,!1)},decrypt:function(e,t){return pe(r._keys,e,t,!0)}}}),r._init=!1},F.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=F.util.createBuffer(e.key);if(0===this.name.indexOf("3DES")&&24!==t.length())throw new Error("Invalid Triple-DES key size: "+8*t.length());this._keys=function(e){for(var t,r=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],n=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],i=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],a=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],c=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],d=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],h=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],g=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=e.length()>8?3:1,y=[],v=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],b=0,C=0;C<m;C++){var w=e.getInt32(),E=e.getInt32();w^=(t=252645135&(w>>>4^E))<<4,w^=t=65535&((E^=t)>>>-16^w),w^=(t=858993459&(w>>>2^(E^=t<<-16)))<<2,w^=t=65535&((E^=t)>>>-16^w),w^=(t=1431655765&(w>>>1^(E^=t<<-16)))<<1,w^=t=16711935&((E^=t)>>>8^w),t=(w^=(t=1431655765&(w>>>1^(E^=t<<8)))<<1)<<8|(E^=t)>>>20&240,w=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=t;for(var k=0;k<v.length;++k){v[k]?(w=w<<2|w>>>26,E=E<<2|E>>>26):(w=w<<1|w>>>27,E=E<<1|E>>>27);var S=r[(w&=-15)>>>28]|n[w>>>24&15]|i[w>>>20&15]|a[w>>>16&15]|o[w>>>12&15]|s[w>>>8&15]|c[w>>>4&15],B=u[(E&=-15)>>>28]|l[E>>>24&15]|d[E>>>20&15]|f[E>>>16&15]|p[E>>>12&15]|h[E>>>8&15]|g[E>>>4&15];t=65535&(B>>>16^S),y[b++]=S^t,y[b++]=B^t<<16}}return y}(t),this._init=!0}},ie("DES-ECB",F.cipher.modes.ecb),ie("DES-CBC",F.cipher.modes.cbc),ie("DES-CFB",F.cipher.modes.cfb),ie("DES-OFB",F.cipher.modes.ofb),ie("DES-CTR",F.cipher.modes.ctr),ie("3DES-ECB",F.cipher.modes.ecb),ie("3DES-CBC",F.cipher.modes.cbc),ie("3DES-CFB",F.cipher.modes.cfb),ie("3DES-OFB",F.cipher.modes.ofb),ie("3DES-CTR",F.cipher.modes.ctr);var ae=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],oe=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],se=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],ce=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],ue=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],le=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],de=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],fe=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function pe(e,t,r,n){var i,a,o=32===e.length?3:9;i=3===o?n?[30,-2,-2]:[0,32,2]:n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s=t[0],c=t[1];s^=(a=252645135&(s>>>4^c))<<4,s^=(a=65535&(s>>>16^(c^=a)))<<16,s^=a=858993459&((c^=a)>>>2^s),s^=a=16711935&((c^=a<<2)>>>8^s),s=(s^=(a=1431655765&(s>>>1^(c^=a<<8)))<<1)<<1|s>>>31,c=(c^=a)<<1|c>>>31;for(var u=0;u<o;u+=3){for(var l=i[u+1],d=i[u+2],f=i[u];f!=l;f+=d){var p=c^e[f],h=(c>>>4|c<<28)^e[f+1];a=s,s=c,c=a^(oe[p>>>24&63]|ce[p>>>16&63]|le[p>>>8&63]|fe[63&p]|ae[h>>>24&63]|se[h>>>16&63]|ue[h>>>8&63]|de[63&h])}a=s,s=c,c=a}c=c>>>1|c<<31,c^=a=1431655765&((s=s>>>1|s<<31)>>>1^c),c^=(a=16711935&(c>>>8^(s^=a<<1)))<<8,c^=(a=858993459&(c>>>2^(s^=a)))<<2,c^=a=65535&((s^=a)>>>16^c),c^=a=252645135&((s^=a<<16)>>>4^c),s^=a<<4,r[0]=s,r[1]=c}function he(e){var t,r="DES-"+((e=e||{}).mode||"CBC").toUpperCase(),n=(t=e.decrypt?F.cipher.createDecipher(r,e.key):F.cipher.createCipher(r,e.key)).start;return t.start=function(e,r){var i=null;r instanceof F.util.ByteBuffer&&(i=r,r={}),(r=r||{}).output=i,r.iv=e,n.call(t,r)},t}var ge,me=F.pkcs5=F.pkcs5||{};F.util.isNodejs&&!F.options.usePureJavaScript&&(ge=t),F.pbkdf2=me.pbkdf2=function(e,t,r,n,i,a){if("function"==typeof i&&(a=i,i=null),F.util.isNodejs&&!F.options.usePureJavaScript&&ge.pbkdf2&&(null===i||"object"!=typeof i)&&(ge.pbkdf2Sync.length>4||!i||"sha1"===i))return"string"!=typeof i&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),a?4===ge.pbkdf2Sync.length?ge.pbkdf2(e,t,r,n,(function(e,t){if(e)return a(e);a(null,t.toString("binary"))})):ge.pbkdf2(e,t,r,n,i,(function(e,t){if(e)return a(e);a(null,t.toString("binary"))})):4===ge.pbkdf2Sync.length?ge.pbkdf2Sync(e,t,r,n).toString("binary"):ge.pbkdf2Sync(e,t,r,n,i).toString("binary");if(null==i&&(i="sha1"),"string"==typeof i){if(!(i in F.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=F.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var s=new Error("Derived key is too long.");if(a)return a(s);throw s}var c=Math.ceil(n/o),u=n-(c-1)*o,l=F.hmac.create();l.start(i,e);var d,f,p,h="";if(!a){for(var g=1;g<=c;++g){l.start(null,null),l.update(t),l.update(F.util.int32ToBytes(g)),d=p=l.digest().getBytes();for(var m=2;m<=r;++m)l.start(null,null),l.update(p),f=l.digest().getBytes(),d=F.util.xorBytes(d,f,o),p=f;h+=g<c?d:d.substr(0,u)}return h}function y(){if(g>c)return a(null,h);l.start(null,null),l.update(t),l.update(F.util.int32ToBytes(g)),d=p=l.digest().getBytes(),m=2,v()}function v(){if(m<=r)return l.start(null,null),l.update(p),f=l.digest().getBytes(),d=F.util.xorBytes(d,f,o),p=f,++m,F.util.setImmediate(v);h+=g<c?d:d.substr(0,u),++g,y()}g=1,y()},w((function(e){var t=e.exports=F.sha256=F.sha256||{};F.md.sha256=F.md.algorithms.sha256=t,t.create=function(){n||(r=String.fromCharCode(128),r+=F.util.fillString(String.fromCharCode(0),64),i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],n=!0);var e=null,t=F.util.createBuffer(),o=new Array(64),s={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,n=0;n<r;++n)s.fullMessageLength.push(0);return t=F.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},s}};return s.start(),s.update=function(r,n){"utf8"===n&&(r=F.util.encodeUtf8(r));var i=r.length;s.messageLength+=i,i=[i/4294967296>>>0,i>>>0];for(var c=s.fullMessageLength.length-1;c>=0;--c)s.fullMessageLength[c]+=i[1],i[1]=i[0]+(s.fullMessageLength[c]/4294967296>>>0),s.fullMessageLength[c]=s.fullMessageLength[c]>>>0,i[0]=i[1]/4294967296>>>0;return t.putBytes(r),a(e,o,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var n=F.util.createBuffer();n.putBytes(t.bytes());var i,c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize&s.blockLength-1;n.putBytes(r.substr(0,s.blockLength-c));for(var u=8*s.fullMessageLength[0],l=0;l<s.fullMessageLength.length-1;++l)u+=(i=8*s.fullMessageLength[l+1])/4294967296>>>0,n.putInt32(u>>>0),u=i>>>0;n.putInt32(u);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};a(d,o,n);var f=F.util.createBuffer();return f.putInt32(d.h0),f.putInt32(d.h1),f.putInt32(d.h2),f.putInt32(d.h3),f.putInt32(d.h4),f.putInt32(d.h5),f.putInt32(d.h6),f.putInt32(d.h7),f},s};var r=null,n=!1,i=null;function a(e,t,r){for(var n,a,o,s,c,u,l,d,f,p,h,g,m,y=r.length();y>=64;){for(c=0;c<16;++c)t[c]=r.getInt32();for(;c<64;++c)n=((n=t[c-2])>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,a=((a=t[c-15])>>>7|a<<25)^(a>>>18|a<<14)^a>>>3,t[c]=n+t[c-7]+a+t[c-16]|0;for(u=e.h0,l=e.h1,d=e.h2,f=e.h3,p=e.h4,h=e.h5,g=e.h6,m=e.h7,c=0;c<64;++c)o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),s=u&l|d&(u^l),n=m+((p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7))+(g^p&(h^g))+i[c]+t[c],m=g,g=h,h=p,p=f+n>>>0,f=d,d=l,l=u,u=n+(a=o+s)>>>0;e.h0=e.h0+u|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+f|0,e.h4=e.h4+p|0,e.h5=e.h5+h|0,e.h6=e.h6+g|0,e.h7=e.h7+m|0,y-=64}}})),w((function(e){var r=null;!F.util.isNodejs||F.options.usePureJavaScript||process.versions["node-webkit"]||(r=t),(e.exports=F.prng=F.prng||{}).create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},n=e.md,i=new Array(32),a=0;a<32;++a)i[a]=n.create();function o(){if(t.pools[0].messageLength>=32)return s();var e=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(e)),s()}function s(){t.reseeds=4294967295===t.reseeds?0:t.reseeds+1;var e=t.plugin.md.create();e.update(t.keyBytes);for(var r=1,n=0;n<32;++n)t.reseeds%r==0&&(e.update(t.pools[n].digest().getBytes()),t.pools[n].start()),r<<=1;t.keyBytes=e.digest().getBytes(),e.start(),e.update(t.keyBytes);var i=e.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(i),t.generated=0}function c(e){var t=null,r=F.util.globalScope,n=r.crypto||r.msCrypto;n&&n.getRandomValues&&(t=function(e){return n.getRandomValues(e)});var i=F.util.createBuffer();if(t)for(;i.length()<e;){var a=Math.max(1,Math.min(e-i.length(),65536)/4),o=new Uint32Array(Math.floor(a));try{t(o);for(var s=0;s<o.length;++s)i.putInt32(o[s])}catch(e){if(!("undefined"!=typeof QuotaExceededError&&e instanceof QuotaExceededError))throw e}}if(i.length()<e)for(var c,u,l,d=Math.floor(65536*Math.random());i.length()<e;)for(u=16807*(65535&d),u+=(32767&(c=16807*(d>>16)))<<16,d=4294967295&(u=(2147483647&(u+=c>>15))+(u>>31)),s=0;s<3;++s)l=d>>>(s<<3),l^=Math.floor(256*Math.random()),i.putByte(String.fromCharCode(255&l));return i.getBytes(e)}return t.pools=i,t.pool=0,t.generate=function(e,r){if(!r)return t.generateSync(e);var n=t.plugin.cipher,i=t.plugin.increment,a=t.plugin.formatKey,o=t.plugin.formatSeed,c=F.util.createBuffer();t.key=null,function u(l){if(l)return r(l);if(c.length()>=e)return r(null,c.getBytes(e));if(t.generated>1048575&&(t.key=null),null===t.key)return F.util.nextTick((function(){!function(e){if(t.pools[0].messageLength>=32)return s(),e();var r=32-t.pools[0].messageLength<<5;t.seedFile(r,(function(r,n){if(r)return e(r);t.collect(n),s(),e()}))}(u)}));var d=n(t.key,t.seed);t.generated+=d.length,c.putBytes(d),t.key=a(n(t.key,i(t.seed))),t.seed=o(n(t.key,t.seed)),F.util.setImmediate(u)}()},t.generateSync=function(e){var r=t.plugin.cipher,n=t.plugin.increment,i=t.plugin.formatKey,a=t.plugin.formatSeed;t.key=null;for(var s=F.util.createBuffer();s.length()<e;){t.generated>1048575&&(t.key=null),null===t.key&&o();var c=r(t.key,t.seed);t.generated+=c.length,s.putBytes(c),t.key=i(r(t.key,n(t.seed))),t.seed=a(r(t.key,t.seed))}return s.getBytes(e)},r?(t.seedFile=function(e,t){r.randomBytes(e,(function(e,r){if(e)return t(e);t(null,r.toString())}))},t.seedFileSync=function(e){return r.randomBytes(e).toString()}):(t.seedFile=function(e,t){try{t(null,c(e))}catch(e){t(e)}},t.seedFileSync=c),t.collect=function(e){for(var r=e.length,n=0;n<r;++n)t.pools[t.pool].update(e.substr(n,1)),t.pool=31===t.pool?0:t.pool+1},t.collectInt=function(e,r){for(var n="",i=0;i<r;i+=8)n+=String.fromCharCode(e>>i&255);t.collect(n)},t.registerWorker=function(e){e===self?t.seedFile=function(e,t){self.addEventListener("message",(function e(r){var n=r.data;n.forge&&n.forge.prng&&(self.removeEventListener("message",e),t(n.forge.prng.err,n.forge.prng.bytes))})),self.postMessage({forge:{prng:{needed:e}}})}:e.addEventListener("message",(function(r){var n=r.data;n.forge&&n.forge.prng&&t.seedFile(n.forge.prng.needed,(function(t,r){e.postMessage({forge:{prng:{err:t,bytes:r}}})}))}))},t}})),w((function(e){F.random&&F.random.getBytes?e.exports=F.random:function(t){var r={},n=new Array(4),i=F.util.createBuffer();function a(){var e=F.prng.create(r);return e.getBytes=function(t,r){return e.generate(t,r)},e.getBytesSync=function(t){return e.generate(t)},e}r.formatKey=function(e){var t=F.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),F.aes._expandKey(e,!1)},r.formatSeed=function(e){var t=F.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},r.cipher=function(e,t){return F.aes._updateBlock(e,t,n,!1),i.putInt32(n[0]),i.putInt32(n[1]),i.putInt32(n[2]),i.putInt32(n[3]),i.getBytes()},r.increment=function(e){return++e[3],e},r.md=F.md.sha256;var o=a(),s=null,c=F.util.globalScope,u=c.crypto||c.msCrypto;if(u&&u.getRandomValues&&(s=function(e){return u.getRandomValues(e)}),!F.util.isNodejs&&!s){if(o.collectInt(+new Date,32),"undefined"!=typeof navigator){var l="";for(var d in navigator)try{"string"==typeof navigator[d]&&(l+=navigator[d])}catch(e){}o.collect(l),l=null}t&&(t().mousemove((function(e){o.collectInt(e.clientX,16),o.collectInt(e.clientY,16)})),t().keypress((function(e){o.collectInt(e.charCode,8)})))}if(F.random)for(var d in o)F.random[d]=o[d];else F.random=o;F.random.createInstance=a,e.exports=F.random}("undefined"!=typeof jQuery?jQuery:null)}));var ye=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],ve=[1,2,3,5],be=function(e,t){return e<<t&65535|(65535&e)>>16-t},Ce=function(e,t){return(65535&e)>>t|e<<16-t&65535};F.rc2=F.rc2||{},F.rc2.expandKey=function(e,t){"string"==typeof e&&(e=F.util.createBuffer(e)),t=t||128;var r,n=e,i=e.length(),a=t,o=Math.ceil(a/8),s=255>>(7&a);for(r=i;r<128;r++)n.putByte(ye[n.at(r-1)+n.at(r-i)&255]);for(n.setAt(128-o,ye[n.at(128-o)&s]),r=127-o;r>=0;r--)n.setAt(r,ye[n.at(r+1)^n.at(r+o)]);return n};var we,Ee=function(e,t,r){var n,i,a,o,s=!1,c=null,u=null,l=null,d=[];for(e=F.rc2.expandKey(e,t),a=0;a<64;a++)d.push(e.getInt16Le());r?(n=function(e){for(a=0;a<4;a++)e[a]+=d[o]+(e[(a+3)%4]&e[(a+2)%4])+(~e[(a+3)%4]&e[(a+1)%4]),e[a]=be(e[a],ve[a]),o++},i=function(e){for(a=0;a<4;a++)e[a]+=d[63&e[(a+3)%4]]}):(n=function(e){for(a=3;a>=0;a--)e[a]=Ce(e[a],ve[a]),e[a]-=d[o]+(e[(a+3)%4]&e[(a+2)%4])+(~e[(a+3)%4]&e[(a+1)%4]),o--},i=function(e){for(a=3;a>=0;a--)e[a]-=d[63&e[(a+3)%4]]});var f=function(e){var t=[];for(a=0;a<4;a++){var n=c.getInt16Le();null!==l&&(r?n^=l.getInt16Le():l.putInt16Le(n)),t.push(65535&n)}o=r?0:63;for(var i=0;i<e.length;i++)for(var s=0;s<e[i][0];s++)e[i][1](t);for(a=0;a<4;a++)null!==l&&(r?l.putInt16Le(t[a]):t[a]^=l.getInt16Le()),u.putInt16Le(t[a])},p=null;return p={start:function(e,t){e&&"string"==typeof e&&(e=F.util.createBuffer(e)),s=!1,c=F.util.createBuffer(),u=t||new F.util.createBuffer,l=e,p.output=u},update:function(e){for(s||c.putBuffer(e);c.length()>=8;)f([[5,n],[1,i],[6,n],[1,i],[5,n]])},finish:function(e){var t=!0;if(r)if(e)t=e(8,c,!r);else{var n=8===c.length()?8:8-c.length();c.fillWithByte(n,n)}if(t&&(s=!0,p.update()),!r&&(t=0===c.length()))if(e)t=e(8,u,!r);else{var i=u.length(),a=u.at(i-1);a>i?t=!1:u.truncate(a)}return t}}};function ke(e,t,r){this.data=[],null!=e&&("number"==typeof e?this.fromNumber(e,t,r):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function Se(){return new ke(null)}function Be(e,t,r,n,i,a){for(var o=16383&t,s=t>>14;--a>=0;){var c=16383&this.data[e],u=this.data[e++]>>14,l=s*c+u*o;i=((c=o*c+((16383&l)<<14)+r.data[n]+i)>>28)+(l>>14)+s*u,r.data[n++]=268435455&c}return i}F.rc2.startEncrypting=function(e,t,r){var n=F.rc2.createEncryptionCipher(e,128);return n.start(t,r),n},F.rc2.createEncryptionCipher=function(e,t){return Ee(e,t,!0)},F.rc2.startDecrypting=function(e,t,r){var n=F.rc2.createDecryptionCipher(e,128);return n.start(t,r),n},F.rc2.createDecryptionCipher=function(e,t){return Ee(e,t,!1)},F.jsbn=F.jsbn||{},F.jsbn.BigInteger=ke,"undefined"==typeof navigator?(ke.prototype.am=Be,we=28):"Microsoft Internet Explorer"==navigator.appName?(ke.prototype.am=function(e,t,r,n,i,a){for(var o=32767&t,s=t>>15;--a>=0;){var c=32767&this.data[e],u=this.data[e++]>>15,l=s*c+u*o;i=((c=o*c+((32767&l)<<15)+r.data[n]+(1073741823&i))>>>30)+(l>>>15)+s*u+(i>>>30),r.data[n++]=1073741823&c}return i},we=30):"Netscape"!=navigator.appName?(ke.prototype.am=function(e,t,r,n,i,a){for(;--a>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=67108863&o}return i},we=26):(ke.prototype.am=Be,we=28),ke.prototype.DB=we,ke.prototype.DM=(1<<we)-1,ke.prototype.DV=1<<we,ke.prototype.FV=Math.pow(2,52),ke.prototype.F1=52-we,ke.prototype.F2=2*we-52;var Te,Ae,Ie="0123456789abcdefghijklmnopqrstuvwxyz",_e=new Array;for(Te="0".charCodeAt(0),Ae=0;Ae<=9;++Ae)_e[Te++]=Ae;for(Te="a".charCodeAt(0),Ae=10;Ae<36;++Ae)_e[Te++]=Ae;for(Te="A".charCodeAt(0),Ae=10;Ae<36;++Ae)_e[Te++]=Ae;function xe(e){return Ie.charAt(e)}function Pe(e,t){var r=_e[e.charCodeAt(t)];return null==r?-1:r}function Re(e){var t=Se();return t.fromInt(e),t}function Ne(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}function Oe(e){this.m=e}function Le(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function De(e,t){return e&t}function Ue(e,t){return e|t}function Me(e,t){return e^t}function Ve(e,t){return e&~t}function je(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function Fe(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function ze(){}function Ke(e){return e}function qe(e){this.r2=Se(),this.q3=Se(),ke.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}Oe.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},Oe.prototype.revert=function(e){return e},Oe.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},Oe.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},Oe.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},Le.prototype.convert=function(e){var t=Se();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(ke.ZERO)>0&&this.m.subTo(t,t),t},Le.prototype.revert=function(e){var t=Se();return e.copyTo(t),this.reduce(t),t},Le.prototype.reduce=function(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=32767&e.data[t],n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},Le.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},Le.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},ke.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s},ke.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0},ke.prototype.fromString=function(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var n=e.length,i=!1,a=0;--n>=0;){var o=8==r?255&e[n]:Pe(e,n);o<0?"-"==e.charAt(n)&&(i=!0):(i=!1,0==a?this.data[this.t++]=o:a+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-a)-1)<<a,this.data[this.t++]=o>>this.DB-a):this.data[this.t-1]|=o<<a,(a+=r)>=this.DB&&(a-=this.DB))}8==r&&0!=(128&e[0])&&(this.s=-1,a>0&&(this.data[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),i&&ke.ZERO.subTo(this,this)},ke.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t},ke.prototype.dlShiftTo=function(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s},ke.prototype.drShiftTo=function(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s},ke.prototype.lShiftTo=function(e,t){var r,n=e%this.DB,i=this.DB-n,a=(1<<i)-1,o=Math.floor(e/this.DB),s=this.s<<n&this.DM;for(r=this.t-1;r>=0;--r)t.data[r+o+1]=this.data[r]>>i|s,s=(this.data[r]&a)<<n;for(r=o-1;r>=0;--r)t.data[r]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()},ke.prototype.rShiftTo=function(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,a=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&a)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&a)<<i),t.t=this.t-r,t.clamp()}},ke.prototype.subTo=function(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()},ke.prototype.multiplyTo=function(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&ke.ZERO.subTo(t,t)},ke.prototype.squareTo=function(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()},ke.prototype.divRemTo=function(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t)return null!=t&&t.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=Se());var a=Se(),o=this.s,s=e.s,c=this.DB-Ne(n.data[n.t-1]);c>0?(n.lShiftTo(c,a),i.lShiftTo(c,r)):(n.copyTo(a),i.copyTo(r));var u=a.t,l=a.data[u-1];if(0!=l){var d=l*(1<<this.F1)+(u>1?a.data[u-2]>>this.F2:0),f=this.FV/d,p=(1<<this.F1)/d,h=1<<this.F2,g=r.t,m=g-u,y=null==t?Se():t;for(a.dlShiftTo(m,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),ke.ONE.dlShiftTo(u,y),y.subTo(a,a);a.t<u;)a.data[a.t++]=0;for(;--m>=0;){var v=r.data[--g]==l?this.DM:Math.floor(r.data[g]*f+(r.data[g-1]+h)*p);if((r.data[g]+=a.am(0,v,r,m,0,u))<v)for(a.dlShiftTo(m,y),r.subTo(y,r);r.data[g]<--v;)r.subTo(y,r)}null!=t&&(r.drShiftTo(u,t),o!=s&&ke.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&ke.ZERO.subTo(r,r)}}},ke.prototype.invDigit=function(){if(this.t<1)return 0;var e=this.data[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},ke.prototype.isEven=function(){return 0==(this.t>0?1&this.data[0]:this.s)},ke.prototype.exp=function(e,t){if(e>4294967295||e<1)return ke.ONE;var r=Se(),n=Se(),i=t.convert(this),a=Ne(e)-1;for(i.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<<a)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)},ke.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var r,n=(1<<t)-1,i=!1,a="",o=this.t,s=this.DB-o*this.DB%t;if(o-- >0)for(s<this.DB&&(r=this.data[o]>>s)>0&&(i=!0,a=xe(r));o>=0;)s<t?(r=(this.data[o]&(1<<s)-1)<<t-s,r|=this.data[--o]>>(s+=this.DB-t)):(r=this.data[o]>>(s-=t)&n,s<=0&&(s+=this.DB,--o)),r>0&&(i=!0),i&&(a+=xe(r));return i?a:"0"},ke.prototype.negate=function(){var e=Se();return ke.ZERO.subTo(this,e),e},ke.prototype.abs=function(){return this.s<0?this.negate():this},ke.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var r=this.t;if(0!=(t=r-e.t))return this.s<0?-t:t;for(;--r>=0;)if(0!=(t=this.data[r]-e.data[r]))return t;return 0},ke.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+Ne(this.data[this.t-1]^this.s&this.DM)},ke.prototype.mod=function(e){var t=Se();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(ke.ZERO)>0&&e.subTo(t,t),t},ke.prototype.modPowInt=function(e,t){var r;return r=e<256||t.isEven()?new Oe(t):new Le(t),this.exp(e,r)},ke.ZERO=Re(0),ke.ONE=Re(1),ze.prototype.convert=Ke,ze.prototype.revert=Ke,ze.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r)},ze.prototype.sqrTo=function(e,t){e.squareTo(t)},qe.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=Se();return e.copyTo(t),this.reduce(t),t},qe.prototype.revert=function(e){return e},qe.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},qe.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},qe.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var He=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Ge=(1<<26)/He[He.length-1];if(ke.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},ke.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Re(r),i=Se(),a=Se(),o="";for(this.divRemTo(n,i,a);i.signum()>0;)o=(r+a.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,a);return a.intValue().toString(e)+o},ke.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,a=0,o=0,s=0;s<e.length;++s){var c=Pe(e,s);c<0?"-"==e.charAt(s)&&0==this.signum()&&(i=!0):(o=t*o+c,++a>=r&&(this.dMultiply(n),this.dAddOffset(o,0),a=0,o=0))}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(o,0)),i&&ke.ZERO.subTo(this,this)},ke.prototype.fromNumber=function(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(ke.ONE.shiftLeft(e-1),Ue,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(ke.ONE.shiftLeft(e-1),this);else{var n=new Array,i=7&e;n.length=1+(e>>3),t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}},ke.prototype.bitwiseTo=function(e,t,r){var n,i,a=Math.min(e.t,this.t);for(n=0;n<a;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=a;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=a;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()},ke.prototype.changeBit=function(e,t){var r=ke.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r},ke.prototype.addTo=function(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()},ke.prototype.dMultiply=function(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},ke.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}},ke.prototype.multiplyLowerTo=function(e,t,r){var n,i=Math.min(this.t+e.t,t);for(r.s=0,r.t=i;i>0;)r.data[--i]=0;for(n=r.t-this.t;i<n;++i)r.data[i+this.t]=this.am(0,e.data[i],r,i,0,this.t);for(n=Math.min(e.t,t);i<n;++i)this.am(0,e.data[i],r,i,0,t-i);r.clamp()},ke.prototype.multiplyUpperTo=function(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)},ke.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(0==t)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r},ke.prototype.millerRabin=function(e){var t=this.subtract(ke.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n,i=t.shiftRight(r),a={nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(256*Math.random())}},o=0;o<e;++o){do{n=new ke(this.bitLength(),a)}while(n.compareTo(ke.ONE)<=0||n.compareTo(t)>=0);var s=n.modPow(i,this);if(0!=s.compareTo(ke.ONE)&&0!=s.compareTo(t)){for(var c=1;c++<r&&0!=s.compareTo(t);)if(0==(s=s.modPowInt(2,this)).compareTo(ke.ONE))return!1;if(0!=s.compareTo(t))return!1}}return!0},ke.prototype.clone=function(){var e=Se();return this.copyTo(e),e},ke.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this.data[0];if(0==this.t)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]},ke.prototype.byteValue=function(){return 0==this.t?this.s:this.data[0]<<24>>24},ke.prototype.shortValue=function(){return 0==this.t?this.s:this.data[0]<<16>>16},ke.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1},ke.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var r,n=this.DB-e*this.DB%8,i=0;if(e-- >0)for(n<this.DB&&(r=this.data[e]>>n)!=(this.s&this.DM)>>n&&(t[i++]=r|this.s<<this.DB-n);e>=0;)n<8?(r=(this.data[e]&(1<<n)-1)<<8-n,r|=this.data[--e]>>(n+=this.DB-8)):(r=this.data[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(t[i++]=r);return t},ke.prototype.equals=function(e){return 0==this.compareTo(e)},ke.prototype.min=function(e){return this.compareTo(e)<0?this:e},ke.prototype.max=function(e){return this.compareTo(e)>0?this:e},ke.prototype.and=function(e){var t=Se();return this.bitwiseTo(e,De,t),t},ke.prototype.or=function(e){var t=Se();return this.bitwiseTo(e,Ue,t),t},ke.prototype.xor=function(e){var t=Se();return this.bitwiseTo(e,Me,t),t},ke.prototype.andNot=function(e){var t=Se();return this.bitwiseTo(e,Ve,t),t},ke.prototype.not=function(){for(var e=Se(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e},ke.prototype.shiftLeft=function(e){var t=Se();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},ke.prototype.shiftRight=function(e){var t=Se();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},ke.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this.data[e])return e*this.DB+je(this.data[e]);return this.s<0?this.t*this.DB:-1},ke.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Fe(this.data[r]^t);return e},ke.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:0!=(this.data[t]&1<<e%this.DB)},ke.prototype.setBit=function(e){return this.changeBit(e,Ue)},ke.prototype.clearBit=function(e){return this.changeBit(e,Ve)},ke.prototype.flipBit=function(e){return this.changeBit(e,Me)},ke.prototype.add=function(e){var t=Se();return this.addTo(e,t),t},ke.prototype.subtract=function(e){var t=Se();return this.subTo(e,t),t},ke.prototype.multiply=function(e){var t=Se();return this.multiplyTo(e,t),t},ke.prototype.divide=function(e){var t=Se();return this.divRemTo(e,t,null),t},ke.prototype.remainder=function(e){var t=Se();return this.divRemTo(e,null,t),t},ke.prototype.divideAndRemainder=function(e){var t=Se(),r=Se();return this.divRemTo(e,t,r),new Array(t,r)},ke.prototype.modPow=function(e,t){var r,n,i=e.bitLength(),a=Re(1);if(i<=0)return a;r=i<18?1:i<48?3:i<144?4:i<768?5:6,n=i<8?new Oe(t):t.isEven()?new qe(t):new Le(t);var o=new Array,s=3,c=r-1,u=(1<<r)-1;if(o[1]=n.convert(this),r>1){var l=Se();for(n.sqrTo(o[1],l);s<=u;)o[s]=Se(),n.mulTo(l,o[s-2],o[s]),s+=2}var d,f,p=e.t-1,h=!0,g=Se();for(i=Ne(e.data[p])-1;p>=0;){for(i>=c?d=e.data[p]>>i-c&u:(d=(e.data[p]&(1<<i+1)-1)<<c-i,p>0&&(d|=e.data[p-1]>>this.DB+i-c)),s=r;0==(1&d);)d>>=1,--s;if((i-=s)<0&&(i+=this.DB,--p),h)o[d].copyTo(a),h=!1;else{for(;s>1;)n.sqrTo(a,g),n.sqrTo(g,a),s-=2;s>0?n.sqrTo(a,g):(f=a,a=g,g=f),n.mulTo(g,o[d],a)}for(;p>=0&&0==(e.data[p]&1<<i);)n.sqrTo(a,g),f=a,a=g,g=f,--i<0&&(i=this.DB-1,--p)}return n.revert(a)},ke.prototype.modInverse=function(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return ke.ZERO;for(var r=e.clone(),n=this.clone(),i=Re(1),a=Re(0),o=Re(0),s=Re(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),t?(i.isEven()&&a.isEven()||(i.addTo(this,i),a.subTo(e,a)),i.rShiftTo(1,i)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),t?(o.isEven()&&s.isEven()||(o.addTo(this,o),s.subTo(e,s)),o.rShiftTo(1,o)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),a.subTo(s,a)):(n.subTo(r,n),t&&o.subTo(i,o),s.subTo(a,s))}return 0!=n.compareTo(ke.ONE)?ke.ZERO:s.compareTo(e)>=0?s.subtract(e):s.signum()<0?(s.addTo(e,s),s.signum()<0?s.add(e):s):s},ke.prototype.pow=function(e){return this.exp(e,new ze)},ke.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),a=r.getLowestSetBit();if(a<0)return t;for(i<a&&(a=i),a>0&&(t.rShiftTo(a,t),r.rShiftTo(a,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r},ke.prototype.isProbablePrime=function(e){var t,r=this.abs();if(1==r.t&&r.data[0]<=He[He.length-1]){for(t=0;t<He.length;++t)if(r.data[0]==He[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<He.length;){for(var n=He[t],i=t+1;i<He.length&&n<Ge;)n*=He[i++];for(n=r.modInt(n);t<i;)if(n%He[t++]==0)return!1}return r.millerRabin(e)},w((function(e){var t=e.exports=F.sha1=F.sha1||{};F.md.sha1=F.md.algorithms.sha1=t,t.create=function(){n||(r=String.fromCharCode(128),r+=F.util.fillString(String.fromCharCode(0),64),n=!0);var e=null,t=F.util.createBuffer(),a=new Array(80),o={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){o.messageLength=0,o.fullMessageLength=o.messageLength64=[];for(var r=o.messageLengthSize/4,n=0;n<r;++n)o.fullMessageLength.push(0);return t=F.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},o}};return o.start(),o.update=function(r,n){"utf8"===n&&(r=F.util.encodeUtf8(r));var s=r.length;o.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var c=o.fullMessageLength.length-1;c>=0;--c)o.fullMessageLength[c]+=s[1],s[1]=s[0]+(o.fullMessageLength[c]/4294967296>>>0),o.fullMessageLength[c]=o.fullMessageLength[c]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(r),i(e,a,t),(t.read>2048||0===t.length())&&t.compact(),o},o.digest=function(){var n=F.util.createBuffer();n.putBytes(t.bytes());var s,c=o.fullMessageLength[o.fullMessageLength.length-1]+o.messageLengthSize&o.blockLength-1;n.putBytes(r.substr(0,o.blockLength-c));for(var u=8*o.fullMessageLength[0],l=0;l<o.fullMessageLength.length-1;++l)u+=(s=8*o.fullMessageLength[l+1])/4294967296>>>0,n.putInt32(u>>>0),u=s>>>0;n.putInt32(u);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};i(d,a,n);var f=F.util.createBuffer();return f.putInt32(d.h0),f.putInt32(d.h1),f.putInt32(d.h2),f.putInt32(d.h3),f.putInt32(d.h4),f},o};var r=null,n=!1;function i(e,t,r){for(var n,i,a,o,s,c,u,l=r.length();l>=64;){for(i=e.h0,a=e.h1,o=e.h2,s=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,n=(i<<5|i>>>27)+(s^a&(o^s))+c+1518500249+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<20;++u)n=(n=t[u-3]^t[u-8]^t[u-14]^t[u-16])<<1|n>>>31,t[u]=n,n=(i<<5|i>>>27)+(s^a&(o^s))+c+1518500249+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<32;++u)n=(n=t[u-3]^t[u-8]^t[u-14]^t[u-16])<<1|n>>>31,t[u]=n,n=(i<<5|i>>>27)+(a^o^s)+c+1859775393+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<40;++u)n=(n=t[u-6]^t[u-16]^t[u-28]^t[u-32])<<2|n>>>30,t[u]=n,n=(i<<5|i>>>27)+(a^o^s)+c+1859775393+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<60;++u)n=(n=t[u-6]^t[u-16]^t[u-28]^t[u-32])<<2|n>>>30,t[u]=n,n=(i<<5|i>>>27)+(a&o|s&(a^o))+c+2400959708+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;for(;u<80;++u)n=(n=t[u-6]^t[u-16]^t[u-28]^t[u-32])<<2|n>>>30,t[u]=n,n=(i<<5|i>>>27)+(a^o^s)+c+3395469782+n,c=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+a|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+c|0,l-=64}}})),w((function(e){var t=e.exports=F.pkcs1=F.pkcs1||{};function r(e,t,r){r||(r=F.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),a=0;a<i;++a){var o=String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a);r.start(),r.update(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}t.encode_rsa_oaep=function(e,t,n){var i,a,o,s;"string"==typeof n?(i=n,a=arguments[3]||void 0,o=arguments[4]||void 0):n&&(i=n.label||void 0,a=n.seed||void 0,o=n.md||void 0,n.mgf1&&n.mgf1.md&&(s=n.mgf1.md)),o?o.start():o=F.md.sha1.create(),s||(s=o);var c=Math.ceil(e.n.bitLength()/8),u=c-2*o.digestLength-2;if(t.length>u)throw(h=new Error("RSAES-OAEP input message length is too long.")).length=t.length,h.maxLength=u,h;i||(i=""),o.update(i,"raw");for(var l=o.digest(),d="",f=u-t.length,p=0;p<f;p++)d+="\0";var h,g=l.getBytes()+d+""+t;if(a){if(a.length!==o.digestLength)throw(h=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.")).seedLength=a.length,h.digestLength=o.digestLength,h}else a=F.random.getBytes(o.digestLength);var m=r(a,c-o.digestLength-1,s),y=F.util.xorBytes(g,m,g.length),v=r(y,o.digestLength,s);return"\0"+F.util.xorBytes(a,v,a.length)+y},t.decode_rsa_oaep=function(e,t,n){var i,a,o;"string"==typeof n?(i=n,a=arguments[3]||void 0):n&&(i=n.label||void 0,a=n.md||void 0,n.mgf1&&n.mgf1.md&&(o=n.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s)throw(m=new Error("RSAES-OAEP encoded message length is invalid.")).length=t.length,m.expectedLength=s,m;if(void 0===a?a=F.md.sha1.create():a.start(),o||(o=a),s<2*a.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");i||(i=""),a.update(i,"raw");for(var c=a.digest().getBytes(),u=t.charAt(0),l=t.substring(1,a.digestLength+1),d=t.substring(1+a.digestLength),f=r(d,a.digestLength,o),p=r(F.util.xorBytes(l,f,l.length),s-a.digestLength-1,o),h=F.util.xorBytes(d,p,d.length),g=h.substring(0,a.digestLength),m="\0"!==u,y=0;y<a.digestLength;++y)m|=c.charAt(y)!==g.charAt(y);for(var v=1,b=a.digestLength,C=a.digestLength;C<h.length;C++){var w=h.charCodeAt(C);m|=w&(v?65534:0),b+=v&=1&w^1}if(m||1!==h.charCodeAt(b))throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)}})),w((function(e){!function(){if(F.prime)e.exports=F.prime;else{var t=e.exports=F.prime=F.prime||{},r=F.jsbn.BigInteger,n=[6,4,2,4,2,4,6,2],i=new r(null);i.fromInt(30);var a=function(e,t){return e|t};t.generateProbablePrime=function(e,t,n){"function"==typeof t&&(n=t,t={});var i=(t=t||{}).algorithm||"PRIMEINC";"string"==typeof i&&(i={name:i}),i.options=i.options||{};var a=t.prng||F.random,c={nextBytes:function(e){for(var t=a.getBytesSync(e.length),r=0;r<e.length;++r)e[r]=t.charCodeAt(r)}};if("PRIMEINC"===i.name)return function(e,t,n,i){return"workers"in n?function(e,t,n,i){if("undefined"==typeof Worker)return o(e,t,n,i);var a=s(e,t),c=n.workers,u=n.workLoad||100,l=30*u/8,d=n.workerScript||"forge/prime.worker.js";if(-1===c)return F.util.estimateCores((function(e,t){e&&(t=2),c=t-1,f()}));function f(){c=Math.max(1,c);for(var n=[],o=0;o<c;++o)n[o]=new Worker(d);for(o=0;o<c;++o)n[o].addEventListener("message",p);var f=!1;function p(o){if(!f){var c=o.data;if(c.found){for(var d=0;d<n.length;++d)n[d].terminate();return f=!0,i(null,new r(c.prime,16))}a.bitLength()>e&&(a=s(e,t));var p=a.toString(16);o.target.postMessage({hex:p,workLoad:u}),a.dAddOffset(l,0)}}}f()}(e,t,n,i):o(e,t,n,i)}(e,c,i.options,n);throw new Error("Invalid prime generation algorithm: "+i.name)}}function o(e,t,r,i){var a=s(e,t),o=function(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}(a.bitLength());"millerRabinTests"in r&&(o=r.millerRabinTests);var c=10;"maxBlockTime"in r&&(c=r.maxBlockTime),function e(t,r,i,a,o,c,u){var l=+new Date;do{if(t.bitLength()>r&&(t=s(r,i)),t.isProbablePrime(o))return u(null,t);t.dAddOffset(n[a++%8],0)}while(c<0||+new Date-l<c);F.util.setImmediate((function(){e(t,r,i,a,o,c,u)}))}(a,e,t,0,o,c,i)}function s(e,t){var n=new r(e,t),o=e-1;return n.testBit(o)||n.bitwiseTo(r.ONE.shiftLeft(o),a,n),n.dAddOffset(31-n.mod(i).byteValue(),0),n}}()})),void 0===Qe)var Qe=F.jsbn.BigInteger;var We=F.util.isNodejs?t:null,Xe=F.asn1,Ye=F.util;F.pki=F.pki||{},F.pki.rsa=F.rsa=F.rsa||{};var $e=F.pki,Ze=[6,4,2,4,2,4,6,2],Je={name:"PrivateKeyInfo",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},et={name:"RSAPrivateKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},tt={name:"RSAPublicKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},rt=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:Xe.Class.UNIVERSAL,type:Xe.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},nt=function(e){var t;if(!(e.algorithm in $e.oids)){var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}t=$e.oids[e.algorithm];var n=Xe.oidToDer(t).getBytes(),i=Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[]),a=Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[]);a.value.push(Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OID,!1,n)),a.value.push(Xe.create(Xe.Class.UNIVERSAL,Xe.Type.NULL,!1,""));var o=Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(a),i.value.push(o),Xe.toDer(i).getBytes()},it=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);var n;t.dP||(t.dP=t.d.mod(t.p.subtract(Qe.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(Qe.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));do{n=new Qe(F.util.bytesToHex(F.random.getBytes(t.n.bitLength()/8)),16)}while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(Qe.ONE));for(var i=(e=e.multiply(n.modPow(t.e,t.n)).mod(t.n)).mod(t.p).modPow(t.dP,t.p),a=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(a)<0;)i=i.add(t.p);var o=i.subtract(a).multiply(t.qInv).mod(t.p).multiply(t.q).add(a);return o.multiply(n.modInverse(t.n)).mod(t.n)};function at(e,t,r){var n=F.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var a=new Error("Message is too long for PKCS#1 v1.5 padding.");throw a.length=e.length,a.max=i-11,a}n.putByte(0),n.putByte(r);var o,s=i-3-e.length;if(0===r||1===r){o=0===r?0:255;for(var c=0;c<s;++c)n.putByte(o)}else for(;s>0;){var u=0,l=F.random.getBytes(s);for(c=0;c<s;++c)0===(o=l.charCodeAt(c))?++u:n.putByte(o);s=u}return n.putByte(0),n.putBytes(e),n}function ot(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),a=F.util.createBuffer(e),o=a.getByte(),s=a.getByte();if(0!==o||r&&0!==s&&1!==s||!r&&2!=s||r&&0===s&&void 0===n)throw new Error("Encryption block is invalid.");var c=0;if(0===s){c=i-3-n;for(var u=0;u<c;++u)if(0!==a.getByte())throw new Error("Encryption block is invalid.")}else if(1===s)for(c=0;a.length()>1;){if(255!==a.getByte()){--a.read;break}++c}else if(2===s)for(c=0;a.length()>1;){if(0===a.getByte()){--a.read;break}++c}if(0!==a.getByte()||c!==i-3-a.length())throw new Error("Encryption block is invalid.");return a.getBytes()}function st(e,t,r){"function"==typeof t&&(r=t,t={});var n={algorithm:{name:(t=t||{}).algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};function i(){a(e.pBits,(function(t,n){return t?r(t):(e.p=n,null!==e.q?o(t,e.q):void a(e.qBits,o))}))}function a(e,t){F.prime.generateProbablePrime(e,n,t)}function o(t,n){if(t)return r(t);if(e.q=n,e.p.compareTo(e.q)<0){var s=e.p;e.p=e.q,e.q=s}if(0!==e.p.subtract(Qe.ONE).gcd(e.e).compareTo(Qe.ONE))return e.p=null,void i();if(0!==e.q.subtract(Qe.ONE).gcd(e.e).compareTo(Qe.ONE))return e.q=null,void a(e.qBits,o);if(e.p1=e.p.subtract(Qe.ONE),e.q1=e.q.subtract(Qe.ONE),e.phi=e.p1.multiply(e.q1),0!==e.phi.gcd(e.e).compareTo(Qe.ONE))return e.p=e.q=null,void i();if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits)return e.q=null,void a(e.qBits,o);var c=e.e.modInverse(e.phi);e.keys={privateKey:$e.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:$e.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}"prng"in t&&(n.prng=t.prng),i()}function ct(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=F.util.hexToBytes(t);return r.length>1&&(0===r.charCodeAt(0)&&0==(128&r.charCodeAt(1))||255===r.charCodeAt(0)&&128==(128&r.charCodeAt(1)))?r.substr(1):r}function ut(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function lt(e){return F.util.isNodejs&&"function"==typeof We[e]}function dt(e){return void 0!==Ye.globalScope&&"object"==typeof Ye.globalScope.crypto&&"object"==typeof Ye.globalScope.crypto.subtle&&"function"==typeof Ye.globalScope.crypto.subtle[e]}function ft(e){return void 0!==Ye.globalScope&&"object"==typeof Ye.globalScope.msCrypto&&"object"==typeof Ye.globalScope.msCrypto.subtle&&"function"==typeof Ye.globalScope.msCrypto.subtle[e]}function pt(e){for(var t=F.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}if($e.rsa.encrypt=function(e,t,r){var n,i=r,a=Math.ceil(t.n.bitLength()/8);!1!==r&&!0!==r?(i=2===r,n=at(e,t,r)):(n=F.util.createBuffer()).putBytes(e);for(var o=new Qe(n.toHex(),16),s=it(o,t,i).toString(16),c=F.util.createBuffer(),u=a-Math.ceil(s.length/2);u>0;)c.putByte(0),--u;return c.putBytes(F.util.hexToBytes(s)),c.getBytes()},$e.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var a=new Error("Encrypted message length is invalid.");throw a.length=e.length,a.expected=i,a}var o=new Qe(F.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var s=it(o,t,r).toString(16),c=F.util.createBuffer(),u=i-Math.ceil(s.length/2);u>0;)c.putByte(0),--u;return c.putBytes(F.util.hexToBytes(s)),!1!==n?ot(c.getBytes(),t,r):c.getBytes()},$e.rsa.createKeyPairGenerationState=function(e,t,r){"string"==typeof e&&(e=parseInt(e,10)),e=e||2048;var n,i=(r=r||{}).prng||F.random,a={nextBytes:function(e){for(var t=i.getBytesSync(e.length),r=0;r<e.length;++r)e[r]=t.charCodeAt(r)}},o=r.algorithm||"PRIMEINC";if("PRIMEINC"!==o)throw new Error("Invalid key generation algorithm: "+o);return(n={algorithm:o,state:0,bits:e,rng:a,eInt:t||65537,e:new Qe(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null}).e.fromInt(n.eInt),n},$e.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new Qe(null);r.fromInt(30);for(var n,i=0,a=function(e,t){return e|t},o=+new Date,s=0;null===e.keys&&(t<=0||s<t);){if(0===e.state){var c=null===e.p?e.pBits:e.qBits,u=c-1;0===e.pqState?(e.num=new Qe(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(Qe.ONE.shiftLeft(u),a,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),i=0,++e.pqState):1===e.pqState?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(ut(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Ze[i++%8],0):2===e.pqState?e.pqState=0===e.num.subtract(Qe.ONE).gcd(e.e).compareTo(Qe.ONE)?3:0:3===e.pqState&&(e.pqState=0,null===e.p?e.p=e.num:e.q=e.num,null!==e.p&&null!==e.q&&++e.state,e.num=null)}else if(1===e.state)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(2===e.state)e.p1=e.p.subtract(Qe.ONE),e.q1=e.q.subtract(Qe.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(3===e.state)0===e.phi.gcd(e.e).compareTo(Qe.ONE)?++e.state:(e.p=null,e.q=null,e.state=0);else if(4===e.state)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(5===e.state){var l=e.e.modInverse(e.phi);e.keys={privateKey:$e.rsa.setPrivateKey(e.n,e.e,l,e.p,e.q,l.mod(e.p1),l.mod(e.q1),e.q.modInverse(e.p)),publicKey:$e.rsa.setPublicKey(e.n,e.e)}}s+=(n=+new Date)-o,o=n}return null!==e.keys},$e.rsa.generateKeyPair=function(e,t,r,n){if(1===arguments.length?"object"==typeof e?(r=e,e=void 0):"function"==typeof e&&(n=e,e=void 0):2===arguments.length?"number"==typeof e?"function"==typeof t?(n=t,t=void 0):"number"!=typeof t&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):3===arguments.length&&("number"==typeof t?"function"==typeof r&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},void 0===e&&(e=r.bits||2048),void 0===t&&(t=r.e||65537),!r.prng&&e>=256&&e<=16384&&(65537===t||3===t))if(n){if(lt("generateKeyPair"))return We.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},(function(e,t,r){if(e)return n(e);n(null,{privateKey:$e.privateKeyFromPem(r),publicKey:$e.publicKeyFromPem(t)})}));if(dt("generateKey")&&dt("exportKey"))return Ye.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:pt(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then((function(e){return Ye.globalScope.crypto.subtle.exportKey("pkcs8",e.privateKey)})).then(void 0,(function(e){n(e)})).then((function(e){if(e){var t=$e.privateKeyFromAsn1(Xe.fromDer(F.util.createBuffer(e)));n(null,{privateKey:t,publicKey:$e.setRsaPublicKey(t.n,t.e)})}}));if(ft("generateKey")&&ft("exportKey")){var i=Ye.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:pt(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);return i.oncomplete=function(e){var t=e.target.result,r=Ye.globalScope.msCrypto.subtle.exportKey("pkcs8",t.privateKey);r.oncomplete=function(e){var t=e.target.result,r=$e.privateKeyFromAsn1(Xe.fromDer(F.util.createBuffer(t)));n(null,{privateKey:r,publicKey:$e.setRsaPublicKey(r.n,r.e)})},r.onerror=function(e){n(e)}},void(i.onerror=function(e){n(e)})}}else if(lt("generateKeyPairSync")){var a=We.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:$e.privateKeyFromPem(a.privateKey),publicKey:$e.publicKeyFromPem(a.publicKey)}}var o=$e.rsa.createKeyPairGenerationState(e,t,r);if(!n)return $e.rsa.stepKeyPairGenerationState(o,0),o.keys;st(o,r,n)},$e.setRsaPublicKey=$e.rsa.setPublicKey=function(e,t){var r={n:e,e:t,encrypt:function(e,t,n){if("string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5"),"RSAES-PKCS1-V1_5"===t)t={encode:function(e,t,r){return at(e,t,2).getBytes()}};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={encode:function(e,t){return F.pkcs1.encode_rsa_oaep(t,e,n)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(t))t={encode:function(e){return e}};else if("string"==typeof t)throw new Error('Unsupported encryption scheme: "'+t+'".');var i=t.encode(e,r,!0);return $e.rsa.encrypt(i,r,!0)},verify:function(e,t,n){"string"==typeof n?n=n.toUpperCase():void 0===n&&(n="RSASSA-PKCS1-V1_5"),"RSASSA-PKCS1-V1_5"===n?n={verify:function(e,t){return t=ot(t,r,!0),e===Xe.fromDer(t).value[1].value}}:"NONE"!==n&&"NULL"!==n&&null!==n||(n={verify:function(e,t){return e===ot(t,r,!0)}});var i=$e.rsa.decrypt(t,r,!0,!1);return n.verify(e,i,r.n.bitLength())}};return r},$e.setRsaPrivateKey=$e.rsa.setPrivateKey=function(e,t,r,n,i,a,o,s){var c={n:e,e:t,d:r,p:n,q:i,dP:a,dQ:o,qInv:s,decrypt:function(e,t,r){"string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5");var n=$e.rsa.decrypt(e,c,!1,!1);if("RSAES-PKCS1-V1_5"===t)t={decode:ot};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={decode:function(e,t){return F.pkcs1.decode_rsa_oaep(t,e,r)}};else{if(-1===["RAW","NONE","NULL",null].indexOf(t))throw new Error('Unsupported encryption scheme: "'+t+'".');t={decode:function(e){return e}}}return t.decode(n,c,!1)},sign:function(e,t){var r=!1;"string"==typeof t&&(t=t.toUpperCase()),void 0===t||"RSASSA-PKCS1-V1_5"===t?(t={encode:nt},r=1):"NONE"!==t&&"NULL"!==t&&null!==t||(t={encode:function(){return e}},r=1);var n=t.encode(e,c.n.bitLength());return $e.rsa.encrypt(n,c,r)}};return c},$e.wrapRsaPrivateKey=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,Xe.integerToDer(0).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OID,!1,Xe.oidToDer($e.oids.rsaEncryption).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.NULL,!1,"")]),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OCTETSTRING,!1,Xe.toDer(e).getBytes())])},$e.privateKeyFromAsn1=function(e){var t,r,n,i,a,o,s,c,u={},l=[];if(Xe.validate(e,Je,u,l)&&(e=Xe.fromDer(F.util.createBuffer(u.privateKey))),u={},l=[],!Xe.validate(e,et,u,l)){var d=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw d.errors=l,d}return t=F.util.createBuffer(u.privateKeyModulus).toHex(),r=F.util.createBuffer(u.privateKeyPublicExponent).toHex(),n=F.util.createBuffer(u.privateKeyPrivateExponent).toHex(),i=F.util.createBuffer(u.privateKeyPrime1).toHex(),a=F.util.createBuffer(u.privateKeyPrime2).toHex(),o=F.util.createBuffer(u.privateKeyExponent1).toHex(),s=F.util.createBuffer(u.privateKeyExponent2).toHex(),c=F.util.createBuffer(u.privateKeyCoefficient).toHex(),$e.setRsaPrivateKey(new Qe(t,16),new Qe(r,16),new Qe(n,16),new Qe(i,16),new Qe(a,16),new Qe(o,16),new Qe(s,16),new Qe(c,16))},$e.privateKeyToAsn1=$e.privateKeyToRSAPrivateKey=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,Xe.integerToDer(0).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.n)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.e)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.d)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.p)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.q)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.dP)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.dQ)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.qInv))])},$e.publicKeyFromAsn1=function(e){var t={},r=[];if(Xe.validate(e,rt,t,r)){var n,i=Xe.derToOid(t.publicKeyOid);if(i!==$e.oids.rsaEncryption)throw(n=new Error("Cannot read public key. Unknown OID.")).oid=i,n;e=t.rsaPublicKey}if(r=[],!Xe.validate(e,tt,t,r))throw(n=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.")).errors=r,n;var a=F.util.createBuffer(t.publicKeyModulus).toHex(),o=F.util.createBuffer(t.publicKeyExponent).toHex();return $e.setRsaPublicKey(new Qe(a,16),new Qe(o,16))},$e.publicKeyToAsn1=$e.publicKeyToSubjectPublicKeyInfo=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.OID,!1,Xe.oidToDer($e.oids.rsaEncryption).getBytes()),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.NULL,!1,"")]),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.BITSTRING,!1,[$e.publicKeyToRSAPublicKey(e)])])},$e.publicKeyToRSAPublicKey=function(e){return Xe.create(Xe.Class.UNIVERSAL,Xe.Type.SEQUENCE,!0,[Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.n)),Xe.create(Xe.Class.UNIVERSAL,Xe.Type.INTEGER,!1,ct(e.e))])},void 0===ht)var ht=F.jsbn.BigInteger;var gt=F.asn1,mt=F.pki=F.pki||{},yt=(mt.pbe=F.pbe=F.pbe||{},mt.oids),vt={name:"EncryptedPrivateKeyInfo",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},bt={name:"PBES2Algorithms",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:gt.Class.UNIVERSAL,type:gt.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:gt.Class.UNIVERSAL,type:gt.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Ct={name:"pkcs-12PbeParams",tagClass:gt.Class.UNIVERSAL,type:gt.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:gt.Class.UNIVERSAL,type:gt.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:gt.Class.UNIVERSAL,type:gt.Type.INTEGER,constructed:!1,capture:"iterations"}]};function wt(e,t){return e.start().update(t).digest().getBytes()}function Et(e){var t;if(e){if(!(t=mt.oids[gt.derToOid(e)])){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}}else t="hmacWithSHA1";return kt(t)}function kt(e){var t=F.md;switch(e){case"hmacWithSHA224":t=F.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}mt.encryptPrivateKeyInfo=function(e,t,r){(r=r||{}).saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n,i,a,o=F.random.getBytesSync(r.saltSize),s=r.count,c=gt.integerToDer(s);if(0===r.algorithm.indexOf("aes")||"des"===r.algorithm){var u,l,d;switch(r.algorithm){case"aes128":n=16,u=16,l=yt["aes128-CBC"],d=F.aes.createEncryptionCipher;break;case"aes192":n=24,u=16,l=yt["aes192-CBC"],d=F.aes.createEncryptionCipher;break;case"aes256":n=32,u=16,l=yt["aes256-CBC"],d=F.aes.createEncryptionCipher;break;case"des":n=8,u=8,l=yt.desCBC,d=F.des.createEncryptionCipher;break;default:throw(y=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=r.algorithm,y}var f="hmacWith"+r.prfAlgorithm.toUpperCase(),p=kt(f),h=F.pkcs5.pbkdf2(t,o,s,n,p),g=F.random.getBytesSync(u);(v=d(h)).start(g),v.update(gt.toDer(e)),v.finish(),a=v.output.getBytes();var m=function(e,t,r,n){var i=gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,e),gt.create(gt.Class.UNIVERSAL,gt.Type.INTEGER,!1,t.getBytes())]);return"hmacWithSHA1"!==n&&i.value.push(gt.create(gt.Class.UNIVERSAL,gt.Type.INTEGER,!1,F.util.hexToBytes(r.toString(16))),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(mt.oids[n]).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.NULL,!1,"")])),i}(o,c,n,f);i=gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(yt.pkcs5PBES2).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(yt.pkcs5PBKDF2).getBytes()),m]),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(l).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,g)])])])}else{var y;if("3des"!==r.algorithm)throw(y=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=r.algorithm,y;n=24;var v,b=new F.util.ByteBuffer(o);h=mt.pbe.generatePkcs12Key(t,b,1,s,n),g=mt.pbe.generatePkcs12Key(t,b,2,s,n),(v=F.des.createEncryptionCipher(h)).start(g),v.update(gt.toDer(e)),v.finish(),a=v.output.getBytes(),i=gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OID,!1,gt.oidToDer(yt["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,o),gt.create(gt.Class.UNIVERSAL,gt.Type.INTEGER,!1,c.getBytes())])])}return gt.create(gt.Class.UNIVERSAL,gt.Type.SEQUENCE,!0,[i,gt.create(gt.Class.UNIVERSAL,gt.Type.OCTETSTRING,!1,a)])},mt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!gt.validate(e,vt,n,i)){var a=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw a.errors=i,a}var o=gt.derToOid(n.encryptionOid),s=mt.pbe.getCipher(o,n.encryptionParams,t),c=F.util.createBuffer(n.encryptedData);return s.update(c),s.finish()&&(r=gt.fromDer(s.output)),r},mt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:gt.toDer(e).getBytes()};return F.pem.encode(r,{maxline:t})},mt.encryptedPrivateKeyFromPem=function(e){var t=F.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==t.type){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return gt.fromDer(t.body)},mt.encryptRsaPrivateKey=function(e,t,r){if(!(r=r||{}).legacy){var n=mt.wrapRsaPrivateKey(mt.privateKeyToAsn1(e));return n=mt.encryptPrivateKeyInfo(n,t,r),mt.encryptedPrivateKeyToPem(n)}var i,a,o,s;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,a=F.random.getBytesSync(16),s=F.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,a=F.random.getBytesSync(16),s=F.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,a=F.random.getBytesSync(16),s=F.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,a=F.random.getBytesSync(8),s=F.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,a=F.random.getBytesSync(8),s=F.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=s(F.pbe.opensslDeriveBytes(t,a.substr(0,8),o));u.start(a),u.update(gt.toDer(mt.privateKeyToAsn1(e))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:F.util.bytesToHex(a).toUpperCase()},body:u.output.getBytes()};return F.pem.encode(l)},mt.decryptRsaPrivateKey=function(e,t){var r=null,n=F.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==n.type&&"PRIVATE KEY"!==n.type&&"RSA PRIVATE KEY"!==n.type)throw(o=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".')).headerType=o,o;if(n.procType&&"ENCRYPTED"===n.procType.type){var i,a;switch(n.dekInfo.algorithm){case"DES-CBC":i=8,a=F.des.createDecryptionCipher;break;case"DES-EDE3-CBC":i=24,a=F.des.createDecryptionCipher;break;case"AES-128-CBC":i=16,a=F.aes.createDecryptionCipher;break;case"AES-192-CBC":i=24,a=F.aes.createDecryptionCipher;break;case"AES-256-CBC":i=32,a=F.aes.createDecryptionCipher;break;case"RC2-40-CBC":i=5,a=function(e){return F.rc2.createDecryptionCipher(e,40)};break;case"RC2-64-CBC":i=8,a=function(e){return F.rc2.createDecryptionCipher(e,64)};break;case"RC2-128-CBC":i=16,a=function(e){return F.rc2.createDecryptionCipher(e,128)};break;default:var o;throw(o=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".')).algorithm=n.dekInfo.algorithm,o}var s=F.util.hexToBytes(n.dekInfo.parameters),c=a(F.pbe.opensslDeriveBytes(t,s.substr(0,8),i));if(c.start(s),c.update(F.util.createBuffer(n.body)),!c.finish())return r;r=c.output.getBytes()}else r=n.body;return null!==(r="ENCRYPTED PRIVATE KEY"===n.type?mt.decryptPrivateKeyInfo(gt.fromDer(r),t):gt.fromDer(r))&&(r=mt.privateKeyFromAsn1(r)),r},mt.pbe.generatePkcs12Key=function(e,t,r,n,i,a){var o,s;if(null==a){if(!("sha1"in F.md))throw new Error('"sha1" hash algorithm unavailable.');a=F.md.sha1.create()}var c=a.digestLength,u=a.blockLength,l=new F.util.ByteBuffer,d=new F.util.ByteBuffer;if(null!=e){for(s=0;s<e.length;s++)d.putInt16(e.charCodeAt(s));d.putInt16(0)}var f=d.length(),p=t.length(),h=new F.util.ByteBuffer;h.fillWithByte(r,u);var g=u*Math.ceil(p/u),m=new F.util.ByteBuffer;for(s=0;s<g;s++)m.putByte(t.at(s%p));var y=u*Math.ceil(f/u),v=new F.util.ByteBuffer;for(s=0;s<y;s++)v.putByte(d.at(s%f));var b=m;b.putBuffer(v);for(var C=Math.ceil(i/c),w=1;w<=C;w++){var E=new F.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(b.bytes());for(var k=0;k<n;k++)a.start(),a.update(E.getBytes()),E=a.digest();var S=new F.util.ByteBuffer;for(s=0;s<u;s++)S.putByte(E.at(s%c));var B=Math.ceil(p/u)+Math.ceil(f/u),T=new F.util.ByteBuffer;for(o=0;o<B;o++){var A=new F.util.ByteBuffer(b.getBytes(u)),I=511;for(s=S.length()-1;s>=0;s--)I>>=8,I+=S.at(s)+A.at(s),A.setAt(s,255&I);T.putBuffer(A)}b=T,l.putBuffer(E)}return l.truncate(l.length()-i),l},mt.pbe.getCipher=function(e,t,r){switch(e){case mt.oids.pkcs5PBES2:return mt.pbe.getCipherForPBES2(e,t,r);case mt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case mt.oids["pbewithSHAAnd40BitRC2-CBC"]:return mt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}},mt.pbe.getCipherForPBES2=function(e,t,r){var n,i={},a=[];if(!gt.validate(t,bt,i,a))throw(n=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=a,n;if((e=gt.derToOid(i.kdfOid))!==mt.oids.pkcs5PBKDF2)throw(n=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.")).oid=e,n.supportedOids=["pkcs5PBKDF2"],n;if((e=gt.derToOid(i.encOid))!==mt.oids["aes128-CBC"]&&e!==mt.oids["aes192-CBC"]&&e!==mt.oids["aes256-CBC"]&&e!==mt.oids["des-EDE3-CBC"]&&e!==mt.oids.desCBC)throw(n=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.")).oid=e,n.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],n;var o,s,c=i.kdfSalt,u=F.util.createBuffer(i.kdfIterationCount);switch(u=u.getInt(u.length()<<3),mt.oids[e]){case"aes128-CBC":o=16,s=F.aes.createDecryptionCipher;break;case"aes192-CBC":o=24,s=F.aes.createDecryptionCipher;break;case"aes256-CBC":o=32,s=F.aes.createDecryptionCipher;break;case"des-EDE3-CBC":o=24,s=F.des.createDecryptionCipher;break;case"desCBC":o=8,s=F.des.createDecryptionCipher}var l=Et(i.prfOid),d=F.pkcs5.pbkdf2(r,c,u,o,l),f=i.encIv,p=s(d);return p.start(f),p},mt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!gt.validate(t,Ct,n,i))throw(l=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=i,l;var a,o,s,c=F.util.createBuffer(n.salt),u=F.util.createBuffer(n.iterations);switch(u=u.getInt(u.length()<<3),e){case mt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:a=24,o=8,s=F.des.startDecrypting;break;case mt.oids["pbewithSHAAnd40BitRC2-CBC"]:a=5,o=8,s=function(e,t){var r=F.rc2.createDecryptionCipher(e,40);return r.start(t,null),r};break;default:var l;throw(l=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.")).oid=e,l}var d=Et(n.prfOid),f=mt.pbe.generatePkcs12Key(r,c,1,u,a,d);return d.start(),s(f,mt.pbe.generatePkcs12Key(r,c,2,u,o,d))},mt.pbe.opensslDeriveBytes=function(e,t,r,n){if(null==n){if(!("md5"in F.md))throw new Error('"md5" hash algorithm unavailable.');n=F.md.md5.create()}null===t&&(t="");for(var i=[wt(n,e+t)],a=16,o=1;a<r;++o,a+=16)i.push(wt(n,i[o-1]+e+t));return i.join("").substr(0,r)},w((function(e){var t=F.asn1,r=e.exports=F.pkcs7asn1=F.pkcs7asn1||{};F.pkcs7=F.pkcs7||{},F.pkcs7.asn1=r;var n={name:"ContentInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};r.contentInfoValidator=n;var i={name:"EncryptedContentInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:t.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};r.envelopedDataValidator={name:"EnvelopedData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(i)},r.encryptedDataValidator={name:"EncryptedData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"}].concat(i)};var a={name:"SignerInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:t.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};r.signedDataValidator={name:"SignedData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},n,{name:"SignedData.Certificates",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,capture:"signerInfos",optional:!0,value:[a]}]},r.recipientInfoValidator={name:"RecipientInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:t.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter"}]},{name:"RecipientInfo.encryptedKey",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}})),w((function(e){F.mgf=F.mgf||{},(e.exports=F.mgf.mgf1=F.mgf1=F.mgf1||{}).create=function(e){return{generate:function(t,r){for(var n=new F.util.ByteBuffer,i=Math.ceil(r/e.digestLength),a=0;a<i;a++){var o=new F.util.ByteBuffer;o.putInt32(a),e.start(),e.update(t+o.getBytes()),n.putBuffer(e.digest())}return n.truncate(n.length()-r),n.getBytes()}}}})),F.mgf=F.mgf||{},F.mgf.mgf1=F.mgf1,w((function(e){(e.exports=F.pss=F.pss||{}).create=function(e){3===arguments.length&&(e={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var t,r=e.md,n=e.mgf,i=r.digestLength,a=e.salt||null;if("string"==typeof a&&(a=F.util.createBuffer(a)),"saltLength"in e)t=e.saltLength;else{if(null===a)throw new Error("Salt length not specified or specific salt not given.");t=a.length()}if(null!==a&&a.length()!==t)throw new Error("Given salt length does not match length of given salt.");var o=e.prng||F.random;return{encode:function(e,s){var c,u,l=s-1,d=Math.ceil(l/8),f=e.digest().getBytes();if(d<i+t+2)throw new Error("Message is too long to encrypt.");u=null===a?o.getBytesSync(t):a.bytes();var p=new F.util.ByteBuffer;p.fillWithByte(0,8),p.putBytes(f),p.putBytes(u),r.start(),r.update(p.getBytes());var h=r.digest().getBytes(),g=new F.util.ByteBuffer;g.fillWithByte(0,d-t-i-2),g.putByte(1),g.putBytes(u);var m=g.getBytes(),y=d-i-1,v=n.generate(h,y),b="";for(c=0;c<y;c++)b+=String.fromCharCode(m.charCodeAt(c)^v.charCodeAt(c));var C=65280>>8*d-l&255;return(b=String.fromCharCode(b.charCodeAt(0)&~C)+b.substr(1))+h+String.fromCharCode(188)},verify:function(e,a,o){var s,c=o-1,u=Math.ceil(c/8);if(a=a.substr(-u),u<i+t+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(188!==a.charCodeAt(u-1))throw new Error("Encoded message does not end in 0xBC.");var l=u-i-1,d=a.substr(0,l),f=a.substr(l,i),p=65280>>8*u-c&255;if(0!=(d.charCodeAt(0)&p))throw new Error("Bits beyond keysize not zero as expected.");var h=n.generate(f,l),g="";for(s=0;s<l;s++)g+=String.fromCharCode(d.charCodeAt(s)^h.charCodeAt(s));g=String.fromCharCode(g.charCodeAt(0)&~p)+g.substr(1);var m=u-i-t-2;for(s=0;s<m;s++)if(0!==g.charCodeAt(s))throw new Error("Leftmost octets not zero as expected");if(1!==g.charCodeAt(m))throw new Error("Inconsistent PSS signature, 0x01 marker not found");var y=g.substr(-t),v=new F.util.ByteBuffer;return v.fillWithByte(0,8),v.putBytes(e),v.putBytes(y),r.start(),r.update(v.getBytes()),f===r.digest().getBytes()}}}})),w((function(e){var t=F.asn1,r=e.exports=F.pki=F.pki||{},n=r.oids,i={};i.CN=n.commonName,i.commonName="CN",i.C=n.countryName,i.countryName="C",i.L=n.localityName,i.localityName="L",i.ST=n.stateOrProvinceName,i.stateOrProvinceName="ST",i.O=n.organizationName,i.organizationName="O",i.OU=n.organizationalUnitName,i.organizationalUnitName="OU",i.E=n.emailAddress,i.emailAddress="E";var a=F.pki.rsa.publicKeyValidator,o={name:"Certificate",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:t.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:t.Class.UNIVERSAL,type:t.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:t.Class.UNIVERSAL,type:t.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:t.Class.UNIVERSAL,type:t.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:t.Class.UNIVERSAL,type:t.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},a,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:t.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:t.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:t.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},s={name:"rsapss",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:t.Class.UNIVERSAL,type:t.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:t.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:t.Class.UNIVERSAL,type:t.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:t.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:t.Class.UNIVERSAL,type:t.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:t.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:t.Class.UNIVERSAL,type:t.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},c={name:"CertificationRequestInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},a,{name:"CertificationRequestInfo.attributes",tagClass:t.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0}]}]}]},u={name:"CertificationRequest",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[c,{name:"CertificationRequest.signatureAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:t.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:t.Class.UNIVERSAL,type:t.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};function l(e,t){"string"==typeof t&&(t={shortName:t});for(var r,n=null,i=0;null===n&&i<e.attributes.length;++i)r=e.attributes[i],(t.type&&t.type===r.type||t.name&&t.name===r.name||t.shortName&&t.shortName===r.shortName)&&(n=r);return n}r.RDNAttributesAsArray=function(e,r){for(var a,o,s,c=[],u=0;u<e.value.length;++u){a=e.value[u];for(var l=0;l<a.value.length;++l)s={},o=a.value[l],s.type=t.derToOid(o.value[0].value),s.value=o.value[1].value,s.valueTagClass=o.value[1].type,s.type in n&&(s.name=n[s.type],s.name in i&&(s.shortName=i[s.name])),r&&(r.update(s.type),r.update(s.value)),c.push(s)}return c},r.CRIAttributesAsArray=function(e){for(var a=[],o=0;o<e.length;++o)for(var s=e[o],c=t.derToOid(s.value[0].value),u=s.value[1].value,l=0;l<u.length;++l){var d={};if(d.type=c,d.value=u[l].value,d.valueTagClass=u[l].type,d.type in n&&(d.name=n[d.type],d.name in i&&(d.shortName=i[d.name])),d.type===n.extensionRequest){d.extensions=[];for(var f=0;f<d.value.length;++f)d.extensions.push(r.certificateExtensionFromAsn1(d.value[f]))}a.push(d)}return a};var d=function(e,r,i){var a={};if(e!==n["RSASSA-PSS"])return a;i&&(a={hash:{algorithmOid:n.sha1},mgf:{algorithmOid:n.mgf1,hash:{algorithmOid:n.sha1}},saltLength:20});var o={},c=[];if(!t.validate(r,s,o,c)){var u=new Error("Cannot read RSASSA-PSS parameter block.");throw u.errors=c,u}return void 0!==o.hashOid&&(a.hash=a.hash||{},a.hash.algorithmOid=t.derToOid(o.hashOid)),void 0!==o.maskGenOid&&(a.mgf=a.mgf||{},a.mgf.algorithmOid=t.derToOid(o.maskGenOid),a.mgf.hash=a.mgf.hash||{},a.mgf.hash.algorithmOid=t.derToOid(o.maskGenHashOid)),void 0!==o.saltLength&&(a.saltLength=o.saltLength.charCodeAt(0)),a};function f(e){for(var r,n,i=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),a=e.attributes,o=0;o<a.length;++o){var s=(r=a[o]).value,c=t.Type.PRINTABLESTRING;"valueTagClass"in r&&(c=r.valueTagClass)===t.Type.UTF8&&(s=F.util.encodeUtf8(s)),n=t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.type).getBytes()),t.create(t.Class.UNIVERSAL,c,!1,s)])]),i.value.push(n)}return i}function p(e){for(var a,o=0;o<e.length;++o){if(void 0===(a=e[o]).name&&(a.type&&a.type in r.oids?a.name=r.oids[a.type]:a.shortName&&a.shortName in i&&(a.name=r.oids[i[a.shortName]])),void 0===a.type){if(!a.name||!(a.name in r.oids))throw(c=new Error("Attribute type not specified.")).attribute=a,c;a.type=r.oids[a.name]}if(void 0===a.shortName&&a.name&&a.name in i&&(a.shortName=i[a.name]),a.type===n.extensionRequest&&(a.valueConstructed=!0,a.valueTagClass=t.Type.SEQUENCE,!a.value&&a.extensions)){a.value=[];for(var s=0;s<a.extensions.length;++s)a.value.push(r.certificateExtensionToAsn1(h(a.extensions[s])))}var c;if(void 0===a.value)throw(c=new Error("Attribute value not specified.")).attribute=a,c}}function h(e,i){if(i=i||{},void 0===e.name&&e.id&&e.id in r.oids&&(e.name=r.oids[e.id]),void 0===e.id){if(!e.name||!(e.name in r.oids))throw(C=new Error("Extension ID not specified.")).extension=e,C;e.id=r.oids[e.name]}if(void 0!==e.value)return e;if("keyUsage"===e.name){var a=0,o=0,s=0;e.digitalSignature&&(o|=128,a=7),e.nonRepudiation&&(o|=64,a=6),e.keyEncipherment&&(o|=32,a=5),e.dataEncipherment&&(o|=16,a=4),e.keyAgreement&&(o|=8,a=3),e.keyCertSign&&(o|=4,a=2),e.cRLSign&&(o|=2,a=1),e.encipherOnly&&(o|=1,a=0),e.decipherOnly&&(s|=128,a=7);var c=String.fromCharCode(a);0!==s?c+=String.fromCharCode(o)+String.fromCharCode(s):0!==o&&(c+=String.fromCharCode(o)),e.value=t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,c)}else if("basicConstraints"===e.name)e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),e.cA&&e.value.value.push(t.create(t.Class.UNIVERSAL,t.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in e&&e.value.value.push(t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.pathLenConstraint).getBytes()));else if("extKeyUsage"===e.name){e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);var u=e.value.value;for(var l in e)!0===e[l]&&(l in n?u.push(t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(n[l]).getBytes())):-1!==l.indexOf(".")&&u.push(t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(l).getBytes())))}else if("nsCertType"===e.name)a=0,o=0,e.client&&(o|=128,a=7),e.server&&(o|=64,a=6),e.email&&(o|=32,a=5),e.objsign&&(o|=16,a=4),e.reserved&&(o|=8,a=3),e.sslCA&&(o|=4,a=2),e.emailCA&&(o|=2,a=1),e.objCA&&(o|=1,a=0),c=String.fromCharCode(a),0!==o&&(c+=String.fromCharCode(o)),e.value=t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,c);else if("subjectAltName"===e.name||"issuerAltName"===e.name){e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);for(var d=0;d<e.altNames.length;++d){if(c=(y=e.altNames[d]).value,7===y.type&&y.ip){if(null===(c=F.util.bytesFromIP(y.ip)))throw(C=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,C}else 8===y.type&&(c=y.oid?t.oidToDer(t.oidToDer(y.oid)):t.oidToDer(c));e.value.value.push(t.create(t.Class.CONTEXT_SPECIFIC,y.type,!1,c))}}else if("nsComment"===e.name&&i.cert){if(!/^[\x00-\x7F]*$/.test(e.comment)||e.comment.length<1||e.comment.length>128)throw new Error('Invalid "nsComment" content.');e.value=t.create(t.Class.UNIVERSAL,t.Type.IA5STRING,!1,e.comment)}else if("subjectKeyIdentifier"===e.name&&i.cert){var p=i.cert.generateSubjectKeyIdentifier();e.subjectKeyIdentifier=p.toHex(),e.value=t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,p.getBytes())}else if("authorityKeyIdentifier"===e.name&&i.cert){if(e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),u=e.value.value,e.keyIdentifier){var h=!0===e.keyIdentifier?i.cert.generateSubjectKeyIdentifier().getBytes():e.keyIdentifier;u.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!1,h))}if(e.authorityCertIssuer){var g=[t.create(t.Class.CONTEXT_SPECIFIC,4,!0,[f(!0===e.authorityCertIssuer?i.cert.issuer:e.authorityCertIssuer)])];u.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,g))}if(e.serialNumber){var m=F.util.hexToBytes(!0===e.serialNumber?i.cert.serialNumber:e.serialNumber);u.push(t.create(t.Class.CONTEXT_SPECIFIC,2,!1,m))}}else if("cRLDistributionPoints"===e.name){e.value=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),u=e.value.value;var y,v=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]),b=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[]);for(d=0;d<e.altNames.length;++d){if(c=(y=e.altNames[d]).value,7===y.type&&y.ip){if(null===(c=F.util.bytesFromIP(y.ip)))throw(C=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,C}else 8===y.type&&(c=y.oid?t.oidToDer(t.oidToDer(y.oid)):t.oidToDer(c));b.value.push(t.create(t.Class.CONTEXT_SPECIFIC,y.type,!1,c))}v.value.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[b])),u.push(v)}var C;if(void 0===e.value)throw(C=new Error("Extension value not specified.")).extension=e,C;return e}function g(e,r){switch(e){case n["RSASSA-PSS"]:var i=[];return void 0!==r.hash.algorithmOid&&i.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.hash.algorithmOid).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])])),void 0!==r.mgf.algorithmOid&&i.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.mgf.algorithmOid).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.mgf.hash.algorithmOid).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])])])),void 0!==r.saltLength&&i.push(t.create(t.Class.CONTEXT_SPECIFIC,2,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(r.saltLength).getBytes())])),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,i);default:return t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")}}function m(e){var r=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[]);if(0===e.attributes.length)return r;for(var n=e.attributes,i=0;i<n.length;++i){var a=n[i],o=a.value,s=t.Type.UTF8;"valueTagClass"in a&&(s=a.valueTagClass),s===t.Type.UTF8&&(o=F.util.encodeUtf8(o));var c=!1;"valueConstructed"in a&&(c=a.valueConstructed);var u=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(a.type).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,s,c,o)])]);r.value.push(u)}return r}r.certificateFromPem=function(e,n,i){var a=F.pem.decode(e)[0];if("CERTIFICATE"!==a.type&&"X509 CERTIFICATE"!==a.type&&"TRUSTED CERTIFICATE"!==a.type){var o=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw o.headerType=a.type,o}if(a.procType&&"ENCRYPTED"===a.procType.type)throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var s=t.fromDer(a.body,i);return r.certificateFromAsn1(s,n)},r.certificateToPem=function(e,n){var i={type:"CERTIFICATE",body:t.toDer(r.certificateToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.publicKeyFromPem=function(e){var n=F.pem.decode(e)[0];if("PUBLIC KEY"!==n.type&&"RSA PUBLIC KEY"!==n.type){var i=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw i.headerType=n.type,i}if(n.procType&&"ENCRYPTED"===n.procType.type)throw new Error("Could not convert public key from PEM; PEM is encrypted.");var a=t.fromDer(n.body);return r.publicKeyFromAsn1(a)},r.publicKeyToPem=function(e,n){var i={type:"PUBLIC KEY",body:t.toDer(r.publicKeyToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.publicKeyToRSAPublicKeyPem=function(e,n){var i={type:"RSA PUBLIC KEY",body:t.toDer(r.publicKeyToRSAPublicKey(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.getPublicKeyFingerprint=function(e,n){var i,a=(n=n||{}).md||F.md.sha1.create();switch(n.type||"RSAPublicKey"){case"RSAPublicKey":i=t.toDer(r.publicKeyToRSAPublicKey(e)).getBytes();break;case"SubjectPublicKeyInfo":i=t.toDer(r.publicKeyToAsn1(e)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+n.type+'".')}a.start(),a.update(i);var o=a.digest();if("hex"===n.encoding){var s=o.toHex();return n.delimiter?s.match(/.{2}/g).join(n.delimiter):s}if("binary"===n.encoding)return o.getBytes();if(n.encoding)throw new Error('Unknown encoding "'+n.encoding+'".');return o},r.certificationRequestFromPem=function(e,n,i){var a=F.pem.decode(e)[0];if("CERTIFICATE REQUEST"!==a.type){var o=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw o.headerType=a.type,o}if(a.procType&&"ENCRYPTED"===a.procType.type)throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var s=t.fromDer(a.body,i);return r.certificationRequestFromAsn1(s,n)},r.certificationRequestToPem=function(e,n){var i={type:"CERTIFICATE REQUEST",body:t.toDer(r.certificationRequestToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.createCertificate=function(){var e={version:2,serialNumber:"00",signatureOid:null,signature:null,siginfo:{}};return e.siginfo.algorithmOid=null,e.validity={},e.validity.notBefore=new Date,e.validity.notAfter=new Date,e.issuer={},e.issuer.getField=function(t){return l(e.issuer,t)},e.issuer.addField=function(t){p([t]),e.issuer.attributes.push(t)},e.issuer.attributes=[],e.issuer.hash=null,e.subject={},e.subject.getField=function(t){return l(e.subject,t)},e.subject.addField=function(t){p([t]),e.subject.attributes.push(t)},e.subject.attributes=[],e.subject.hash=null,e.extensions=[],e.publicKey=null,e.md=null,e.setSubject=function(t,r){p(t),e.subject.attributes=t,delete e.subject.uniqueId,r&&(e.subject.uniqueId=r),e.subject.hash=null},e.setIssuer=function(t,r){p(t),e.issuer.attributes=t,delete e.issuer.uniqueId,r&&(e.issuer.uniqueId=r),e.issuer.hash=null},e.setExtensions=function(t){for(var r=0;r<t.length;++r)h(t[r],{cert:e});e.extensions=t},e.getExtension=function(t){"string"==typeof t&&(t={name:t});for(var r,n=null,i=0;null===n&&i<e.extensions.length;++i)r=e.extensions[i],(t.id&&r.id===t.id||t.name&&r.name===t.name)&&(n=r);return n},e.sign=function(i,a){e.md=a||F.md.sha1.create();var o=n[e.md.algorithm+"WithRSAEncryption"];if(!o){var s=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw s.algorithm=e.md.algorithm,s}e.signatureOid=e.siginfo.algorithmOid=o,e.tbsCertificate=r.getTBSCertificate(e);var c=t.toDer(e.tbsCertificate);e.md.update(c.getBytes()),e.signature=i.sign(e.md)},e.verify=function(i){var a=!1;if(!e.issued(i)){var o=i.issuer,s=e.subject;throw(h=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.")).expectedIssuer=o.attributes,h.actualIssuer=s.attributes,h}var c=i.md;if(null===c){if(i.signatureOid in n)switch(n[i.signatureOid]){case"sha1WithRSAEncryption":c=F.md.sha1.create();break;case"md5WithRSAEncryption":c=F.md.md5.create();break;case"sha256WithRSAEncryption":c=F.md.sha256.create();break;case"sha384WithRSAEncryption":c=F.md.sha384.create();break;case"sha512WithRSAEncryption":c=F.md.sha512.create();break;case"RSASSA-PSS":c=F.md.sha256.create()}if(null===c)throw(h=new Error("Could not compute certificate digest. Unknown signature OID.")).signatureOid=i.signatureOid,h;var u=i.tbsCertificate||r.getTBSCertificate(i),l=t.toDer(u);c.update(l.getBytes())}if(null!==c){var d;switch(i.signatureOid){case n.sha1WithRSAEncryption:d=void 0;break;case n["RSASSA-PSS"]:var f,p,h;if(void 0===(f=n[i.signatureParameters.mgf.hash.algorithmOid])||void 0===F.md[f])throw(h=new Error("Unsupported MGF hash function.")).oid=i.signatureParameters.mgf.hash.algorithmOid,h.name=f,h;if(void 0===(p=n[i.signatureParameters.mgf.algorithmOid])||void 0===F.mgf[p])throw(h=new Error("Unsupported MGF function.")).oid=i.signatureParameters.mgf.algorithmOid,h.name=p,h;if(p=F.mgf[p].create(F.md[f].create()),void 0===(f=n[i.signatureParameters.hash.algorithmOid])||void 0===F.md[f])throw{message:"Unsupported RSASSA-PSS hash function.",oid:i.signatureParameters.hash.algorithmOid,name:f};d=F.pss.create(F.md[f].create(),p,i.signatureParameters.saltLength)}a=e.publicKey.verify(c.digest().getBytes(),i.signature,d)}return a},e.isIssuer=function(t){var r=!1,n=e.issuer,i=t.subject;if(n.hash&&i.hash)r=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){var a,o;r=!0;for(var s=0;r&&s<n.attributes.length;++s)a=n.attributes[s],o=i.attributes[s],a.type===o.type&&a.value===o.value||(r=!1)}return r},e.issued=function(t){return t.isIssuer(e)},e.generateSubjectKeyIdentifier=function(){return r.getPublicKeyFingerprint(e.publicKey,{type:"RSAPublicKey"})},e.verifySubjectKeyIdentifier=function(){for(var t=n.subjectKeyIdentifier,r=0;r<e.extensions.length;++r){var i=e.extensions[r];if(i.id===t){var a=e.generateSubjectKeyIdentifier().getBytes();return F.util.hexToBytes(i.subjectKeyIdentifier)===a}}return!1},e},r.certificateFromAsn1=function(e,i){var a={},s=[];if(!t.validate(e,o,a,s))throw(h=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.")).errors=s,h;if(t.derToOid(a.publicKeyOid)!==r.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var c=r.createCertificate();c.version=a.certVersion?a.certVersion.charCodeAt(0):0;var u=F.util.createBuffer(a.certSerialNumber);c.serialNumber=u.toHex(),c.signatureOid=F.asn1.derToOid(a.certSignatureOid),c.signatureParameters=d(c.signatureOid,a.certSignatureParams,!0),c.siginfo.algorithmOid=F.asn1.derToOid(a.certinfoSignatureOid),c.siginfo.parameters=d(c.siginfo.algorithmOid,a.certinfoSignatureParams,!1),c.signature=a.certSignature;var f=[];if(void 0!==a.certValidity1UTCTime&&f.push(t.utcTimeToDate(a.certValidity1UTCTime)),void 0!==a.certValidity2GeneralizedTime&&f.push(t.generalizedTimeToDate(a.certValidity2GeneralizedTime)),void 0!==a.certValidity3UTCTime&&f.push(t.utcTimeToDate(a.certValidity3UTCTime)),void 0!==a.certValidity4GeneralizedTime&&f.push(t.generalizedTimeToDate(a.certValidity4GeneralizedTime)),f.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(f.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(c.validity.notBefore=f[0],c.validity.notAfter=f[1],c.tbsCertificate=a.tbsCertificate,i){var h;if(c.md=null,c.signatureOid in n)switch(n[c.signatureOid]){case"sha1WithRSAEncryption":c.md=F.md.sha1.create();break;case"md5WithRSAEncryption":c.md=F.md.md5.create();break;case"sha256WithRSAEncryption":c.md=F.md.sha256.create();break;case"sha384WithRSAEncryption":c.md=F.md.sha384.create();break;case"sha512WithRSAEncryption":c.md=F.md.sha512.create();break;case"RSASSA-PSS":c.md=F.md.sha256.create()}if(null===c.md)throw(h=new Error("Could not compute certificate digest. Unknown signature OID.")).signatureOid=c.signatureOid,h;var g=t.toDer(c.tbsCertificate);c.md.update(g.getBytes())}var m=F.md.sha1.create();c.issuer.getField=function(e){return l(c.issuer,e)},c.issuer.addField=function(e){p([e]),c.issuer.attributes.push(e)},c.issuer.attributes=r.RDNAttributesAsArray(a.certIssuer,m),a.certIssuerUniqueId&&(c.issuer.uniqueId=a.certIssuerUniqueId),c.issuer.hash=m.digest().toHex();var y=F.md.sha1.create();return c.subject.getField=function(e){return l(c.subject,e)},c.subject.addField=function(e){p([e]),c.subject.attributes.push(e)},c.subject.attributes=r.RDNAttributesAsArray(a.certSubject,y),a.certSubjectUniqueId&&(c.subject.uniqueId=a.certSubjectUniqueId),c.subject.hash=y.digest().toHex(),a.certExtensions?c.extensions=r.certificateExtensionsFromAsn1(a.certExtensions):c.extensions=[],c.publicKey=r.publicKeyFromAsn1(a.subjectPublicKeyInfo),c},r.certificateExtensionsFromAsn1=function(e){for(var t=[],n=0;n<e.value.length;++n)for(var i=e.value[n],a=0;a<i.value.length;++a)t.push(r.certificateExtensionFromAsn1(i.value[a]));return t},r.certificateExtensionFromAsn1=function(e){var r={};if(r.id=t.derToOid(e.value[0].value),r.critical=!1,e.value[1].type===t.Type.BOOLEAN?(r.critical=0!==e.value[1].value.charCodeAt(0),r.value=e.value[2].value):r.value=e.value[1].value,r.id in n)if(r.name=n[r.id],"keyUsage"===r.name){var i=0,a=0;(s=t.fromDer(r.value)).value.length>1&&(i=s.value.charCodeAt(1),a=s.value.length>2?s.value.charCodeAt(2):0),r.digitalSignature=128==(128&i),r.nonRepudiation=64==(64&i),r.keyEncipherment=32==(32&i),r.dataEncipherment=16==(16&i),r.keyAgreement=8==(8&i),r.keyCertSign=4==(4&i),r.cRLSign=2==(2&i),r.encipherOnly=1==(1&i),r.decipherOnly=128==(128&a)}else if("basicConstraints"===r.name){(s=t.fromDer(r.value)).value.length>0&&s.value[0].type===t.Type.BOOLEAN?r.cA=0!==s.value[0].value.charCodeAt(0):r.cA=!1;var o=null;s.value.length>0&&s.value[0].type===t.Type.INTEGER?o=s.value[0].value:s.value.length>1&&(o=s.value[1].value),null!==o&&(r.pathLenConstraint=t.derToInteger(o))}else if("extKeyUsage"===r.name)for(var s=t.fromDer(r.value),c=0;c<s.value.length;++c){var u=t.derToOid(s.value[c].value);u in n?r[n[u]]=!0:r[u]=!0}else if("nsCertType"===r.name)i=0,(s=t.fromDer(r.value)).value.length>1&&(i=s.value.charCodeAt(1)),r.client=128==(128&i),r.server=64==(64&i),r.email=32==(32&i),r.objsign=16==(16&i),r.reserved=8==(8&i),r.sslCA=4==(4&i),r.emailCA=2==(2&i),r.objCA=1==(1&i);else if("subjectAltName"===r.name||"issuerAltName"===r.name){var l;r.altNames=[],s=t.fromDer(r.value);for(var d=0;d<s.value.length;++d){var f={type:(l=s.value[d]).type,value:l.value};switch(r.altNames.push(f),l.type){case 1:case 2:case 6:break;case 7:f.ip=F.util.bytesToIP(l.value);break;case 8:f.oid=t.derToOid(l.value)}}}else"subjectKeyIdentifier"===r.name&&(s=t.fromDer(r.value),r.subjectKeyIdentifier=F.util.bytesToHex(s.value));return r},r.certificationRequestFromAsn1=function(e,i){var a={},o=[];if(!t.validate(e,u,a,o))throw(c=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.")).errors=o,c;if(t.derToOid(a.publicKeyOid)!==r.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var s=r.createCertificationRequest();if(s.version=a.csrVersion?a.csrVersion.charCodeAt(0):0,s.signatureOid=F.asn1.derToOid(a.csrSignatureOid),s.signatureParameters=d(s.signatureOid,a.csrSignatureParams,!0),s.siginfo.algorithmOid=F.asn1.derToOid(a.csrSignatureOid),s.siginfo.parameters=d(s.siginfo.algorithmOid,a.csrSignatureParams,!1),s.signature=a.csrSignature,s.certificationRequestInfo=a.certificationRequestInfo,i){var c;if(s.md=null,s.signatureOid in n)switch(n[s.signatureOid]){case"sha1WithRSAEncryption":s.md=F.md.sha1.create();break;case"md5WithRSAEncryption":s.md=F.md.md5.create();break;case"sha256WithRSAEncryption":s.md=F.md.sha256.create();break;case"sha384WithRSAEncryption":s.md=F.md.sha384.create();break;case"sha512WithRSAEncryption":s.md=F.md.sha512.create();break;case"RSASSA-PSS":s.md=F.md.sha256.create()}if(null===s.md)throw(c=new Error("Could not compute certification request digest. Unknown signature OID.")).signatureOid=s.signatureOid,c;var f=t.toDer(s.certificationRequestInfo);s.md.update(f.getBytes())}var h=F.md.sha1.create();return s.subject.getField=function(e){return l(s.subject,e)},s.subject.addField=function(e){p([e]),s.subject.attributes.push(e)},s.subject.attributes=r.RDNAttributesAsArray(a.certificationRequestInfoSubject,h),s.subject.hash=h.digest().toHex(),s.publicKey=r.publicKeyFromAsn1(a.subjectPublicKeyInfo),s.getAttribute=function(e){return l(s,e)},s.addAttribute=function(e){p([e]),s.attributes.push(e)},s.attributes=r.CRIAttributesAsArray(a.certificationRequestInfoAttributes||[]),s},r.createCertificationRequest=function(){var e={version:0,signatureOid:null,signature:null,siginfo:{}};return e.siginfo.algorithmOid=null,e.subject={},e.subject.getField=function(t){return l(e.subject,t)},e.subject.addField=function(t){p([t]),e.subject.attributes.push(t)},e.subject.attributes=[],e.subject.hash=null,e.publicKey=null,e.attributes=[],e.getAttribute=function(t){return l(e,t)},e.addAttribute=function(t){p([t]),e.attributes.push(t)},e.md=null,e.setSubject=function(t){p(t),e.subject.attributes=t,e.subject.hash=null},e.setAttributes=function(t){p(t),e.attributes=t},e.sign=function(i,a){e.md=a||F.md.sha1.create();var o=n[e.md.algorithm+"WithRSAEncryption"];if(!o){var s=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw s.algorithm=e.md.algorithm,s}e.signatureOid=e.siginfo.algorithmOid=o,e.certificationRequestInfo=r.getCertificationRequestInfo(e);var c=t.toDer(e.certificationRequestInfo);e.md.update(c.getBytes()),e.signature=i.sign(e.md)},e.verify=function(){var i=!1,a=e.md;if(null===a){if(e.signatureOid in n)switch(n[e.signatureOid]){case"sha1WithRSAEncryption":a=F.md.sha1.create();break;case"md5WithRSAEncryption":a=F.md.md5.create();break;case"sha256WithRSAEncryption":a=F.md.sha256.create();break;case"sha384WithRSAEncryption":a=F.md.sha384.create();break;case"sha512WithRSAEncryption":a=F.md.sha512.create();break;case"RSASSA-PSS":a=F.md.sha256.create()}if(null===a)throw(d=new Error("Could not compute certification request digest. Unknown signature OID.")).signatureOid=e.signatureOid,d;var o=e.certificationRequestInfo||r.getCertificationRequestInfo(e),s=t.toDer(o);a.update(s.getBytes())}if(null!==a){var c;switch(e.signatureOid){case n.sha1WithRSAEncryption:break;case n["RSASSA-PSS"]:var u,l,d;if(void 0===(u=n[e.signatureParameters.mgf.hash.algorithmOid])||void 0===F.md[u])throw(d=new Error("Unsupported MGF hash function.")).oid=e.signatureParameters.mgf.hash.algorithmOid,d.name=u,d;if(void 0===(l=n[e.signatureParameters.mgf.algorithmOid])||void 0===F.mgf[l])throw(d=new Error("Unsupported MGF function.")).oid=e.signatureParameters.mgf.algorithmOid,d.name=l,d;if(l=F.mgf[l].create(F.md[u].create()),void 0===(u=n[e.signatureParameters.hash.algorithmOid])||void 0===F.md[u])throw(d=new Error("Unsupported RSASSA-PSS hash function.")).oid=e.signatureParameters.hash.algorithmOid,d.name=u,d;c=F.pss.create(F.md[u].create(),l,e.signatureParameters.saltLength)}i=e.publicKey.verify(a.digest().getBytes(),e.signature,c)}return i},e};var y=new Date("1950-01-01T00:00:00Z"),v=new Date("2050-01-01T00:00:00Z");function b(e){return e>=y&&e<v?t.create(t.Class.UNIVERSAL,t.Type.UTCTIME,!1,t.dateToUtcTime(e)):t.create(t.Class.UNIVERSAL,t.Type.GENERALIZEDTIME,!1,t.dateToGeneralizedTime(e))}r.getTBSCertificate=function(e){var n=b(e.validity.notBefore),i=b(e.validity.notAfter),a=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes())]),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,F.util.hexToBytes(e.serialNumber)),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.siginfo.algorithmOid).getBytes()),g(e.siginfo.algorithmOid,e.siginfo.parameters)]),f(e.issuer),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[n,i]),f(e.subject),r.publicKeyToAsn1(e.publicKey)]);return e.issuer.uniqueId&&a.value.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,[t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.issuer.uniqueId)])),e.subject.uniqueId&&a.value.push(t.create(t.Class.CONTEXT_SPECIFIC,2,!0,[t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.subject.uniqueId)])),e.extensions.length>0&&a.value.push(r.certificateExtensionsToAsn1(e.extensions)),a},r.getCertificationRequestInfo=function(e){return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),f(e.subject),r.publicKeyToAsn1(e.publicKey),m(e)])},r.distinguishedNameToAsn1=function(e){return f(e)},r.certificateToAsn1=function(e){var n=e.tbsCertificate||r.getTBSCertificate(e);return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[n,t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.signatureOid).getBytes()),g(e.signatureOid,e.signatureParameters)]),t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},r.certificateExtensionsToAsn1=function(e){var n=t.create(t.Class.CONTEXT_SPECIFIC,3,!0,[]),i=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);n.value.push(i);for(var a=0;a<e.length;++a)i.value.push(r.certificateExtensionToAsn1(e[a]));return n},r.certificateExtensionToAsn1=function(e){var r=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[]);r.value.push(t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.id).getBytes())),e.critical&&r.value.push(t.create(t.Class.UNIVERSAL,t.Type.BOOLEAN,!1,String.fromCharCode(255)));var n=e.value;return"string"!=typeof e.value&&(n=t.toDer(n).getBytes()),r.value.push(t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,n)),r},r.certificationRequestToAsn1=function(e){var n=e.certificationRequestInfo||r.getCertificationRequestInfo(e);return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[n,t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.signatureOid).getBytes()),g(e.signatureOid,e.signatureParameters)]),t.create(t.Class.UNIVERSAL,t.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},r.createCaStore=function(e){var n={certs:{}};function i(e){return a(e),n.certs[e.hash]||null}function a(e){if(!e.hash){var t=F.md.sha1.create();e.attributes=r.RDNAttributesAsArray(f(e),t),e.hash=t.digest().toHex()}}if(n.getIssuer=function(e){return i(e.issuer)},n.addCertificate=function(e){if("string"==typeof e&&(e=F.pki.certificateFromPem(e)),a(e.subject),!n.hasCertificate(e))if(e.subject.hash in n.certs){var t=n.certs[e.subject.hash];F.util.isArray(t)||(t=[t]),t.push(e),n.certs[e.subject.hash]=t}else n.certs[e.subject.hash]=e},n.hasCertificate=function(e){"string"==typeof e&&(e=F.pki.certificateFromPem(e));var n=i(e.subject);if(!n)return!1;F.util.isArray(n)||(n=[n]);for(var a=t.toDer(r.certificateToAsn1(e)).getBytes(),o=0;o<n.length;++o)if(a===t.toDer(r.certificateToAsn1(n[o])).getBytes())return!0;return!1},n.listAllCertificates=function(){var e=[];for(var t in n.certs)if(n.certs.hasOwnProperty(t)){var r=n.certs[t];if(F.util.isArray(r))for(var i=0;i<r.length;++i)e.push(r[i]);else e.push(r)}return e},n.removeCertificate=function(e){var o;if("string"==typeof e&&(e=F.pki.certificateFromPem(e)),a(e.subject),!n.hasCertificate(e))return null;var s=i(e.subject);if(!F.util.isArray(s))return o=n.certs[e.subject.hash],delete n.certs[e.subject.hash],o;for(var c=t.toDer(r.certificateToAsn1(e)).getBytes(),u=0;u<s.length;++u)c===t.toDer(r.certificateToAsn1(s[u])).getBytes()&&(o=s[u],s.splice(u,1));return 0===s.length&&delete n.certs[e.subject.hash],o},e)for(var o=0;o<e.length;++o){var s=e[o];n.addCertificate(s)}return n},r.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"},r.verifyCertificateChain=function(e,t,n){"function"==typeof n&&(n={verify:n}),n=n||{};var i=(t=t.slice(0)).slice(0),a=n.validityCheckDate;void 0===a&&(a=new Date);var o=!0,s=null,c=0;do{var u=t.shift(),l=null,d=!1;if(a&&(a<u.validity.notBefore||a>u.validity.notAfter)&&(s={message:"Certificate is not valid yet or has expired.",error:r.certificateError.certificate_expired,notBefore:u.validity.notBefore,notAfter:u.validity.notAfter,now:a}),null===s){if(null===(l=t[0]||e.getIssuer(u))&&u.isIssuer(u)&&(d=!0,l=u),l){var f=l;F.util.isArray(f)||(f=[f]);for(var p=!1;!p&&f.length>0;){l=f.shift();try{p=l.verify(u)}catch(e){}}p||(s={message:"Certificate signature is invalid.",error:r.certificateError.bad_certificate})}null!==s||l&&!d||e.hasCertificate(u)||(s={message:"Certificate is not trusted.",error:r.certificateError.unknown_ca})}if(null===s&&l&&!u.isIssuer(l)&&(s={message:"Certificate issuer is invalid.",error:r.certificateError.bad_certificate}),null===s)for(var h={keyUsage:!0,basicConstraints:!0},g=0;null===s&&g<u.extensions.length;++g){var m=u.extensions[g];!m.critical||m.name in h||(s={message:"Certificate has an unsupported critical extension.",error:r.certificateError.unsupported_certificate})}if(null===s&&(!o||0===t.length&&(!l||d))){var y=u.getExtension("basicConstraints"),v=u.getExtension("keyUsage");null!==v&&(v.keyCertSign&&null!==y||(s={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:r.certificateError.bad_certificate})),null!==s||null===y||y.cA||(s={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:r.certificateError.bad_certificate}),null===s&&null!==v&&"pathLenConstraint"in y&&c-1>y.pathLenConstraint&&(s={message:"Certificate basicConstraints pathLenConstraint violated.",error:r.certificateError.bad_certificate})}var b=null===s||s.error,C=n.verify?n.verify(b,c,i):b;if(!0!==C)throw!0===b&&(s={message:"The application rejected the certificate.",error:r.certificateError.bad_certificate}),(C||0===C)&&("object"!=typeof C||F.util.isArray(C)?"string"==typeof C&&(s.error=C):(C.message&&(s.message=C.message),C.error&&(s.error=C.error))),s;s=null,o=!1,++c}while(t.length>0);return!0}})),w((function(e){var t=F.asn1,r=F.pki,n=e.exports=F.pkcs12=F.pkcs12||{},i={name:"ContentInfo",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.contentType",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:t.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"content"}]},a={name:"PFX",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.version",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,capture:"version"},i,{name:"PFX.macData",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"mac",value:[{name:"PFX.macData.mac",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm.algorithm",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"macAlgorithm"},{name:"PFX.macData.mac.digestAlgorithm.parameters",tagClass:t.Class.UNIVERSAL,captureAsn1:"macAlgorithmParameters"}]},{name:"PFX.macData.mac.digest",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"macDigest"}]},{name:"PFX.macData.macSalt",tagClass:t.Class.UNIVERSAL,type:t.Type.OCTETSTRING,constructed:!1,capture:"macSalt"},{name:"PFX.macData.iterations",tagClass:t.Class.UNIVERSAL,type:t.Type.INTEGER,constructed:!1,optional:!0,capture:"macIterations"}]}]},o={name:"SafeBag",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"SafeBag.bagId",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"bagId"},{name:"SafeBag.bagValue",tagClass:t.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"bagValue"},{name:"SafeBag.bagAttributes",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,optional:!0,capture:"bagAttributes"}]},s={name:"Attribute",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"Attribute.attrId",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"oid"},{name:"Attribute.attrValues",tagClass:t.Class.UNIVERSAL,type:t.Type.SET,constructed:!0,capture:"values"}]},c={name:"CertBag",tagClass:t.Class.UNIVERSAL,type:t.Type.SEQUENCE,constructed:!0,value:[{name:"CertBag.certId",tagClass:t.Class.UNIVERSAL,type:t.Type.OID,constructed:!1,capture:"certId"},{name:"CertBag.certValue",tagClass:t.Class.CONTEXT_SPECIFIC,constructed:!0,value:[{name:"CertBag.certValue[0]",tagClass:t.Class.UNIVERSAL,type:t.Class.OCTETSTRING,constructed:!1,capture:"cert"}]}]};function u(e,t,r,n){for(var i=[],a=0;a<e.length;a++)for(var o=0;o<e[a].safeBags.length;o++){var s=e[a].safeBags[o];void 0!==n&&s.type!==n||(null!==t?void 0!==s.attributes[t]&&s.attributes[t].indexOf(r)>=0&&i.push(s):i.push(s))}return i}function l(e){if(e.composed||e.constructed){for(var t=F.util.createBuffer(),r=0;r<e.value.length;++r)t.putBytes(e.value[r].value);e.composed=e.constructed=!1,e.value=t.getBytes()}return e}function d(e,n){var i={},a=[];if(!t.validate(e,F.pkcs7.asn1.encryptedDataValidator,i,a))throw(o=new Error("Cannot read EncryptedContentInfo.")).errors=a,o;var o,s=t.derToOid(i.contentType);if(s!==r.oids.data)throw(o=new Error("PKCS#12 EncryptedContentInfo ContentType is not Data.")).oid=s,o;s=t.derToOid(i.encAlgorithm);var c=r.pbe.getCipher(s,i.encParameter,n),u=l(i.encryptedContentAsn1),d=F.util.createBuffer(u.value);if(c.update(d),!c.finish())throw new Error("Failed to decrypt PKCS#12 SafeContents.");return c.output.getBytes()}function f(e,n,i){if(!n&&0===e.length)return[];if((e=t.fromDer(e,n)).tagClass!==t.Class.UNIVERSAL||e.type!==t.Type.SEQUENCE||!0!==e.constructed)throw new Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var a=[],s=0;s<e.value.length;s++){var u=e.value[s],l={},d=[];if(!t.validate(u,o,l,d))throw(y=new Error("Cannot read SafeBag.")).errors=d,y;var f,h,g={type:t.derToOid(l.bagId),attributes:p(l.bagAttributes)};a.push(g);var m=l.bagValue.value[0];switch(g.type){case r.oids.pkcs8ShroudedKeyBag:if(null===(m=r.decryptPrivateKeyInfo(m,i)))throw new Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");case r.oids.keyBag:try{g.key=r.privateKeyFromAsn1(m)}catch(e){g.key=null,g.asn1=m}continue;case r.oids.certBag:f=c,h=function(){if(t.derToOid(l.certId)!==r.oids.x509Certificate){var e=new Error("Unsupported certificate type, only X.509 supported.");throw e.oid=t.derToOid(l.certId),e}var i=t.fromDer(l.cert,n);try{g.cert=r.certificateFromAsn1(i,!0)}catch(e){g.cert=null,g.asn1=i}};break;default:var y;throw(y=new Error("Unsupported PKCS#12 SafeBag type.")).oid=g.type,y}if(void 0!==f&&!t.validate(m,f,l,d))throw(y=new Error("Cannot read PKCS#12 "+f.name)).errors=d,y;h()}return a}function p(e){var n={};if(void 0!==e)for(var i=0;i<e.length;++i){var a={},o=[];if(!t.validate(e[i],s,a,o)){var c=new Error("Cannot read PKCS#12 BagAttribute.");throw c.errors=o,c}var u=t.derToOid(a.oid);if(void 0!==r.oids[u]){n[r.oids[u]]=[];for(var l=0;l<a.values.length;++l)n[r.oids[u]].push(a.values[l].value)}}return n}n.pkcs12FromAsn1=function(e,o,s){"string"==typeof o?(s=o,o=!0):void 0===o&&(o=!0);var c={};if(!t.validate(e,a,c,[]))throw(p=new Error("Cannot read PKCS#12 PFX. ASN.1 object is not an PKCS#12 PFX.")).errors=p,p;var p,h={version:c.version.charCodeAt(0),safeContents:[],getBags:function(e){var t,r={};return"localKeyId"in e?t=e.localKeyId:"localKeyIdHex"in e&&(t=F.util.hexToBytes(e.localKeyIdHex)),void 0===t&&!("friendlyName"in e)&&"bagType"in e&&(r[e.bagType]=u(h.safeContents,null,null,e.bagType)),void 0!==t&&(r.localKeyId=u(h.safeContents,"localKeyId",t,e.bagType)),"friendlyName"in e&&(r.friendlyName=u(h.safeContents,"friendlyName",e.friendlyName,e.bagType)),r},getBagsByFriendlyName:function(e,t){return u(h.safeContents,"friendlyName",e,t)},getBagsByLocalKeyId:function(e,t){return u(h.safeContents,"localKeyId",e,t)}};if(3!==c.version.charCodeAt(0))throw(p=new Error("PKCS#12 PFX of version other than 3 not supported.")).version=c.version.charCodeAt(0),p;if(t.derToOid(c.contentType)!==r.oids.data)throw(p=new Error("Only PKCS#12 PFX in password integrity mode supported.")).oid=t.derToOid(c.contentType),p;var g=c.content.value[0];if(g.tagClass!==t.Class.UNIVERSAL||g.type!==t.Type.OCTETSTRING)throw new Error("PKCS#12 authSafe content data is not an OCTET STRING.");if(g=l(g),c.mac){var m=null,y=0,v=t.derToOid(c.macAlgorithm);switch(v){case r.oids.sha1:m=F.md.sha1.create(),y=20;break;case r.oids.sha256:m=F.md.sha256.create(),y=32;break;case r.oids.sha384:m=F.md.sha384.create(),y=48;break;case r.oids.sha512:m=F.md.sha512.create(),y=64;break;case r.oids.md5:m=F.md.md5.create(),y=16}if(null===m)throw new Error("PKCS#12 uses unsupported MAC algorithm: "+v);var b=new F.util.ByteBuffer(c.macSalt),C="macIterations"in c?parseInt(F.util.bytesToHex(c.macIterations),16):1,w=n.generateKey(s,b,3,C,y,m),E=F.hmac.create();if(E.start(m,w),E.update(g.value),E.getMac().getBytes()!==c.macDigest)throw new Error("PKCS#12 MAC could not be verified. Invalid password?")}return function(e,n,a,o){if((n=t.fromDer(n,a)).tagClass!==t.Class.UNIVERSAL||n.type!==t.Type.SEQUENCE||!0!==n.constructed)throw new Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");for(var s=0;s<n.value.length;s++){var c=n.value[s],u={},p=[];if(!t.validate(c,i,u,p))throw(y=new Error("Cannot read ContentInfo.")).errors=p,y;var h={encrypted:!1},g=null,m=u.content.value[0];switch(t.derToOid(u.contentType)){case r.oids.data:if(m.tagClass!==t.Class.UNIVERSAL||m.type!==t.Type.OCTETSTRING)throw new Error("PKCS#12 SafeContents Data is not an OCTET STRING.");g=l(m).value;break;case r.oids.encryptedData:g=d(m,o),h.encrypted=!0;break;default:var y;throw(y=new Error("Unsupported PKCS#12 contentType.")).contentType=t.derToOid(u.contentType),y}h.safeBags=f(g,a,o),e.safeContents.push(h)}}(h,g.value,o,s),h},n.toPkcs12Asn1=function(e,i,a,o){(o=o||{}).saltSize=o.saltSize||8,o.count=o.count||2048,o.algorithm=o.algorithm||o.encAlgorithm||"aes128","useMac"in o||(o.useMac=!0),"localKeyId"in o||(o.localKeyId=null),"generateLocalKeyId"in o||(o.generateLocalKeyId=!0);var s,c=o.localKeyId;if(null!==c)c=F.util.hexToBytes(c);else if(o.generateLocalKeyId)if(i){var u=F.util.isArray(i)?i[0]:i;"string"==typeof u&&(u=r.certificateFromPem(u)),(T=F.md.sha1.create()).update(t.toDer(r.certificateToAsn1(u)).getBytes()),c=T.digest().getBytes()}else c=F.random.getBytes(20);var l=[];null!==c&&l.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.localKeyId).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,c)])])),"friendlyName"in o&&l.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.friendlyName).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[t.create(t.Class.UNIVERSAL,t.Type.BMPSTRING,!1,o.friendlyName)])])),l.length>0&&(s=t.create(t.Class.UNIVERSAL,t.Type.SET,!0,l));var d=[],f=[];null!==i&&(f=F.util.isArray(i)?i:[i]);for(var p=[],h=0;h<f.length;++h){"string"==typeof(i=f[h])&&(i=r.certificateFromPem(i));var g=0===h?s:void 0,m=r.certificateToAsn1(i),y=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.certBag).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.x509Certificate).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(m).getBytes())])])]),g]);p.push(y)}if(p.length>0){var v=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,p),b=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.data).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(v).getBytes())])]);d.push(b)}var C=null;if(null!==e){var w=r.wrapRsaPrivateKey(r.privateKeyToAsn1(e));C=null===a?t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.keyBag).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[w]),s]):t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.pkcs8ShroudedKeyBag).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[r.encryptPrivateKeyInfo(w,a,o)]),s]);var E=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[C]),k=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.data).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(E).getBytes())])]);d.push(k)}var S,B=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,d);if(o.useMac){var T=F.md.sha1.create(),A=new F.util.ByteBuffer(F.random.getBytes(o.saltSize)),I=o.count,_=(e=n.generateKey(a,A,3,I,20),F.hmac.create());_.start(T,e),_.update(t.toDer(B).getBytes());var x=_.getMac();S=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.sha1).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")]),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,x.getBytes())]),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,A.getBytes()),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(I).getBytes())])}return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(3).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.oids.data).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,t.toDer(B).getBytes())])]),S])},n.generateKey=F.pbe.generatePkcs12Key})),w((function(e){var t=F.asn1,r=e.exports=F.pki=F.pki||{};r.pemToDer=function(e){var t=F.pem.decode(e)[0];if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert PEM to DER; PEM is encrypted.");return F.util.createBuffer(t.body)},r.privateKeyFromPem=function(e){var n=F.pem.decode(e)[0];if("PRIVATE KEY"!==n.type&&"RSA PRIVATE KEY"!==n.type){var i=new Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');throw i.headerType=n.type,i}if(n.procType&&"ENCRYPTED"===n.procType.type)throw new Error("Could not convert private key from PEM; PEM is encrypted.");var a=t.fromDer(n.body);return r.privateKeyFromAsn1(a)},r.privateKeyToPem=function(e,n){var i={type:"RSA PRIVATE KEY",body:t.toDer(r.privateKeyToAsn1(e)).getBytes()};return F.pem.encode(i,{maxline:n})},r.privateKeyInfoToPem=function(e,r){var n={type:"PRIVATE KEY",body:t.toDer(e).getBytes()};return F.pem.encode(n,{maxline:r})}}));var St=function(e,t,r,n){var i=F.util.createBuffer(),a=e.length>>1,o=a+(1&e.length),s=e.substr(0,o),c=e.substr(a,o),u=F.util.createBuffer(),l=F.hmac.create();r=t+r;var d=Math.ceil(n/16),f=Math.ceil(n/20);l.start("MD5",s);var p=F.util.createBuffer();u.putBytes(r);for(var h=0;h<d;++h)l.start(null,null),l.update(u.getBytes()),u.putBuffer(l.digest()),l.start(null,null),l.update(u.bytes()+r),p.putBuffer(l.digest());l.start("SHA1",c);var g=F.util.createBuffer();for(u.clear(),u.putBytes(r),h=0;h<f;++h)l.start(null,null),l.update(u.getBytes()),u.putBuffer(l.digest()),l.start(null,null),l.update(u.bytes()+r),g.putBuffer(l.digest());return i.putBytes(F.util.xorBytes(p.getBytes(),g.getBytes(),n)),i},Bt=function(e,t,r){var n=!1;try{var i=e.deflate(t.fragment.getBytes());t.fragment=F.util.createBuffer(i),t.length=i.length,n=!0}catch(e){}return n},Tt=function(e,t,r){var n=!1;try{var i=e.inflate(t.fragment.getBytes());t.fragment=F.util.createBuffer(i),t.length=i.length,n=!0}catch(e){}return n},At=function(e,t){var r=0;switch(t){case 1:r=e.getByte();break;case 2:r=e.getInt16();break;case 3:r=e.getInt24();break;case 4:r=e.getInt32()}return F.util.createBuffer(e.getBytes(r))},It=function(e,t,r){e.putInt(r.length(),t<<3),e.putBuffer(r)},_t={Versions:{TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}}};_t.SupportedVersions=[_t.Versions.TLS_1_1,_t.Versions.TLS_1_0],_t.Version=_t.SupportedVersions[0],_t.MaxFragment=15360,_t.ConnectionEnd={server:0,client:1},_t.PRFAlgorithm={tls_prf_sha256:0},_t.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2},_t.CipherType={stream:0,block:1,aead:2},_t.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4},_t.CompressionMethod={none:0,deflate:1},_t.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24},_t.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20},_t.Alert={},_t.Alert.Level={warning:1,fatal:2},_t.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100},_t.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2},_t.CipherSuites={},_t.getCipherSuite=function(e){var t=null;for(var r in _t.CipherSuites){var n=_t.CipherSuites[r];if(n.id[0]===e.charCodeAt(0)&&n.id[1]===e.charCodeAt(1)){t=n;break}}return t},_t.handleUnexpected=function(e,t){!e.open&&e.entity===_t.ConnectionEnd.client||e.error(e,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unexpected_message}})},_t.handleHelloRequest=function(e,t,r){!e.handshaking&&e.handshakes>0&&(_t.queue(e,_t.createAlert(e,{level:_t.Alert.Level.warning,description:_t.Alert.Description.no_renegotiation})),_t.flush(e)),e.process()},_t.parseHelloMessage=function(e,t,r){var n=null,i=e.entity===_t.ConnectionEnd.client;if(r<38)e.error(e,{message:i?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});else{var a=t.fragment,o=a.length();if(n={version:{major:a.getByte(),minor:a.getByte()},random:F.util.createBuffer(a.getBytes(32)),session_id:At(a,1),extensions:[]},i?(n.cipher_suite=a.getBytes(2),n.compression_method=a.getByte()):(n.cipher_suites=At(a,2),n.compression_methods=At(a,1)),(o=r-(o-a.length()))>0){for(var s=At(a,2);s.length()>0;)n.extensions.push({type:[s.getByte(),s.getByte()],data:At(s,2)});if(!i)for(var c=0;c<n.extensions.length;++c){var u=n.extensions[c];if(0===u.type[0]&&0===u.type[1])for(var l=At(u.data,2);l.length()>0&&0===l.getByte();)e.session.extensions.server_name.serverNameList.push(At(l,2).getBytes())}}if(e.session.version&&(n.version.major!==e.session.version.major||n.version.minor!==e.session.version.minor))return e.error(e,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.protocol_version}});if(i)e.session.cipherSuite=_t.getCipherSuite(n.cipher_suite);else for(var d=F.util.createBuffer(n.cipher_suites.bytes());d.length()>0&&(e.session.cipherSuite=_t.getCipherSuite(d.getBytes(2)),null===e.session.cipherSuite););if(null===e.session.cipherSuite)return e.error(e,{message:"No cipher suites in common.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.handshake_failure},cipherSuite:F.util.bytesToHex(n.cipher_suite)});e.session.compressionMethod=i?n.compression_method:_t.CompressionMethod.none}return n},_t.createSecurityParameters=function(e,t){var r=e.entity===_t.ConnectionEnd.client,n=t.random.bytes(),i=r?e.session.sp.client_random:n,a=r?n:_t.createRandom().getBytes();e.session.sp={entity:e.entity,prf_algorithm:_t.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:e.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:i,server_random:a}},_t.handleServerHello=function(e,t,r){var n=_t.parseHelloMessage(e,t,r);if(!e.fail){if(!(n.version.minor<=e.version.minor))return e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.protocol_version}});e.version.minor=n.version.minor,e.session.version=e.version;var i=n.session_id.bytes();i.length>0&&i===e.session.id?(e.expect=Ot,e.session.resuming=!0,e.session.sp.server_random=n.random.bytes()):(e.expect=xt,e.session.resuming=!1,_t.createSecurityParameters(e,n)),e.session.id=i,e.process()}},_t.handleClientHello=function(e,t,r){var n=_t.parseHelloMessage(e,t,r);if(!e.fail){var i=n.session_id.bytes(),a=null;if(e.sessionCache&&(null===(a=e.sessionCache.getSession(i))?i="":(a.version.major!==n.version.major||a.version.minor>n.version.minor)&&(a=null,i="")),0===i.length&&(i=F.random.getBytes(32)),e.session.id=i,e.session.clientHelloVersion=n.version,e.session.sp={},a)e.version=e.session.version=a.version,e.session.sp=a.sp;else{for(var o,s=1;s<_t.SupportedVersions.length&&!((o=_t.SupportedVersions[s]).minor<=n.version.minor);++s);e.version={major:o.major,minor:o.minor},e.session.version=e.version}null!==a?(e.expect=Ft,e.session.resuming=!0,e.session.sp.client_random=n.random.bytes()):(e.expect=!1!==e.verifyClient?Mt:Vt,e.session.resuming=!1,_t.createSecurityParameters(e,n)),e.open=!0,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createServerHello(e)})),e.session.resuming?(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.change_cipher_spec,data:_t.createChangeCipherSpec()})),e.state.pending=_t.createConnectionState(e),e.state.current.write=e.state.pending.write,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createFinished(e)}))):(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificate(e)})),e.fail||(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createServerKeyExchange(e)})),!1!==e.verifyClient&&_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificateRequest(e)})),_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createServerHelloDone(e)})))),_t.flush(e),e.process()}},_t.handleCertificate=function(e,t,r){if(r<3)return e.error(e,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var n,i,a=t.fragment,o={certificate_list:At(a,3)},s=[];try{for(;o.certificate_list.length()>0;)n=At(o.certificate_list,3),i=F.asn1.fromDer(n),n=F.pki.certificateFromAsn1(i,!0),s.push(n)}catch(t){return e.error(e,{message:"Could not parse certificate list.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_certificate}})}var c=e.entity===_t.ConnectionEnd.client;!c&&!0!==e.verifyClient||0!==s.length?0===s.length?e.expect=c?Pt:Vt:(c?e.session.serverCertificate=s[0]:e.session.clientCertificate=s[0],_t.verifyCertificateChain(e,s)&&(e.expect=c?Pt:Vt)):e.error(e,{message:c?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}}),e.process()},_t.handleServerKeyExchange=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unsupported_certificate}});e.expect=Rt,e.process()},_t.handleClientKeyExchange=function(e,t,r){if(r<48)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unsupported_certificate}});var n=t.fragment,i={enc_pre_master_secret:At(n,2).getBytes()},a=null;if(e.getPrivateKey)try{a=e.getPrivateKey(e,e.session.serverCertificate),a=F.pki.privateKeyFromPem(a)}catch(t){e.error(e,{message:"Could not get private key.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}})}if(null===a)return e.error(e,{message:"No private key set.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}});try{var o=e.session.sp;o.pre_master_secret=a.decrypt(i.enc_pre_master_secret);var s=e.session.clientHelloVersion;if(s.major!==o.pre_master_secret.charCodeAt(0)||s.minor!==o.pre_master_secret.charCodeAt(1))throw new Error("TLS version rollback attack detected.")}catch(e){o.pre_master_secret=F.random.getBytes(48)}e.expect=Ft,null!==e.session.clientCertificate&&(e.expect=jt),e.process()},_t.handleCertificateRequest=function(e,t,r){if(r<3)return e.error(e,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var n=t.fragment,i={certificate_types:At(n,1),certificate_authorities:At(n,2)};e.session.certificateRequest=i,e.expect=Nt,e.process()},_t.handleCertificateVerify=function(e,t,r){if(r<2)return e.error(e,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var n=t.fragment;n.read-=4;var i=n.bytes();n.read+=4;var a={signature:At(n,2).getBytes()},o=F.util.createBuffer();o.putBuffer(e.session.md5.digest()),o.putBuffer(e.session.sha1.digest()),o=o.getBytes();try{if(!e.session.clientCertificate.publicKey.verify(o,a.signature,"NONE"))throw new Error("CertificateVerify signature does not match.");e.session.md5.update(i),e.session.sha1.update(i)}catch(t){return e.error(e,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.handshake_failure}})}e.expect=Ft,e.process()},_t.handleServerHelloDone=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.record_overflow}});if(null===e.serverCertificate){var n={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.insufficient_security}},i=e.verify(e,n.alert.description,0,[]);if(!0!==i)return(i||0===i)&&("object"!=typeof i||F.util.isArray(i)?"number"==typeof i&&(n.alert.description=i):(i.message&&(n.message=i.message),i.alert&&(n.alert.description=i.alert))),e.error(e,n)}null!==e.session.certificateRequest&&(t=_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificate(e)}),_t.queue(e,t)),t=_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createClientKeyExchange(e)}),_t.queue(e,t),e.expect=Ut;var a=function(e,t){null!==e.session.certificateRequest&&null!==e.session.clientCertificate&&_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createCertificateVerify(e,t)})),_t.queue(e,_t.createRecord(e,{type:_t.ContentType.change_cipher_spec,data:_t.createChangeCipherSpec()})),e.state.pending=_t.createConnectionState(e),e.state.current.write=e.state.pending.write,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createFinished(e)})),e.expect=Ot,_t.flush(e),e.process()};if(null===e.session.certificateRequest||null===e.session.clientCertificate)return a(e,null);_t.getClientSignature(e,a)},_t.handleChangeCipherSpec=function(e,t){if(1!==t.fragment.getByte())return e.error(e,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.illegal_parameter}});var r=e.entity===_t.ConnectionEnd.client;(e.session.resuming&&r||!e.session.resuming&&!r)&&(e.state.pending=_t.createConnectionState(e)),e.state.current.read=e.state.pending.read,(!e.session.resuming&&r||e.session.resuming&&!r)&&(e.state.pending=null),e.expect=r?Lt:zt,e.process()},_t.handleFinished=function(e,t,r){var n=t.fragment;n.read-=4;var i=n.bytes();n.read+=4;var a=t.fragment.getBytes();(n=F.util.createBuffer()).putBuffer(e.session.md5.digest()),n.putBuffer(e.session.sha1.digest());var o=e.entity===_t.ConnectionEnd.client,s=o?"server finished":"client finished",c=e.session.sp;if((n=St(c.master_secret,s,n.getBytes(),12)).getBytes()!==a)return e.error(e,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.decrypt_error}});e.session.md5.update(i),e.session.sha1.update(i),(e.session.resuming&&o||!e.session.resuming&&!o)&&(_t.queue(e,_t.createRecord(e,{type:_t.ContentType.change_cipher_spec,data:_t.createChangeCipherSpec()})),e.state.current.write=e.state.pending.write,e.state.pending=null,_t.queue(e,_t.createRecord(e,{type:_t.ContentType.handshake,data:_t.createFinished(e)}))),e.expect=o?Dt:Kt,e.handshaking=!1,++e.handshakes,e.peerCertificate=o?e.session.serverCertificate:e.session.clientCertificate,_t.flush(e),e.isConnected=!0,e.connected(e),e.process()},_t.handleAlert=function(e,t){var r,n=t.fragment,i={level:n.getByte(),description:n.getByte()};switch(i.description){case _t.Alert.Description.close_notify:r="Connection closed.";break;case _t.Alert.Description.unexpected_message:r="Unexpected message.";break;case _t.Alert.Description.bad_record_mac:r="Bad record MAC.";break;case _t.Alert.Description.decryption_failed:r="Decryption failed.";break;case _t.Alert.Description.record_overflow:r="Record overflow.";break;case _t.Alert.Description.decompression_failure:r="Decompression failed.";break;case _t.Alert.Description.handshake_failure:r="Handshake failure.";break;case _t.Alert.Description.bad_certificate:r="Bad certificate.";break;case _t.Alert.Description.unsupported_certificate:r="Unsupported certificate.";break;case _t.Alert.Description.certificate_revoked:r="Certificate revoked.";break;case _t.Alert.Description.certificate_expired:r="Certificate expired.";break;case _t.Alert.Description.certificate_unknown:r="Certificate unknown.";break;case _t.Alert.Description.illegal_parameter:r="Illegal parameter.";break;case _t.Alert.Description.unknown_ca:r="Unknown certificate authority.";break;case _t.Alert.Description.access_denied:r="Access denied.";break;case _t.Alert.Description.decode_error:r="Decode error.";break;case _t.Alert.Description.decrypt_error:r="Decrypt error.";break;case _t.Alert.Description.export_restriction:r="Export restriction.";break;case _t.Alert.Description.protocol_version:r="Unsupported protocol version.";break;case _t.Alert.Description.insufficient_security:r="Insufficient security.";break;case _t.Alert.Description.internal_error:r="Internal error.";break;case _t.Alert.Description.user_canceled:r="User canceled.";break;case _t.Alert.Description.no_renegotiation:r="Renegotiation not supported.";break;default:r="Unknown error."}if(i.description===_t.Alert.Description.close_notify)return e.close();e.error(e,{message:r,send:!1,origin:e.entity===_t.ConnectionEnd.client?"server":"client",alert:i}),e.process()},_t.handleHandshake=function(e,t){var r=t.fragment,n=r.getByte(),i=r.getInt24();if(i>r.length())return e.fragmented=t,t.fragment=F.util.createBuffer(),r.read-=4,e.process();e.fragmented=null,r.read-=4;var a=r.bytes(i+4);r.read+=4,n in ir[e.entity][e.expect]?(e.entity!==_t.ConnectionEnd.server||e.open||e.fail||(e.handshaking=!0,e.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:F.md.md5.create(),sha1:F.md.sha1.create()}),n!==_t.HandshakeType.hello_request&&n!==_t.HandshakeType.certificate_verify&&n!==_t.HandshakeType.finished&&(e.session.md5.update(a),e.session.sha1.update(a)),ir[e.entity][e.expect][n](e,t,i)):_t.handleUnexpected(e,t)},_t.handleApplicationData=function(e,t){e.data.putBuffer(t.fragment),e.dataReady(e),e.process()},_t.handleHeartbeat=function(e,t){var r=t.fragment,n=r.getByte(),i=r.getInt16(),a=r.getBytes(i);if(n===_t.HeartbeatMessageType.heartbeat_request){if(e.handshaking||i>a.length)return e.process();_t.queue(e,_t.createRecord(e,{type:_t.ContentType.heartbeat,data:_t.createHeartbeat(_t.HeartbeatMessageType.heartbeat_response,a)})),_t.flush(e)}else if(n===_t.HeartbeatMessageType.heartbeat_response){if(a!==e.expectedHeartbeatPayload)return e.process();e.heartbeatReceived&&e.heartbeatReceived(e,F.util.createBuffer(a))}e.process()};var xt=1,Pt=2,Rt=3,Nt=4,Ot=5,Lt=6,Dt=7,Ut=8,Mt=1,Vt=2,jt=3,Ft=4,zt=5,Kt=6,qt=_t.handleUnexpected,Ht=_t.handleChangeCipherSpec,Gt=_t.handleAlert,Qt=_t.handleHandshake,Wt=_t.handleApplicationData,Xt=_t.handleHeartbeat,Yt=[];Yt[_t.ConnectionEnd.client]=[[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[Ht,Gt,qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,Wt,Xt],[qt,Gt,Qt,qt,Xt]],Yt[_t.ConnectionEnd.server]=[[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[Ht,Gt,qt,qt,Xt],[qt,Gt,Qt,qt,Xt],[qt,Gt,Qt,Wt,Xt],[qt,Gt,Qt,qt,Xt]];var $t=_t.handleHelloRequest,Zt=_t.handleServerHello,Jt=_t.handleCertificate,er=_t.handleServerKeyExchange,tr=_t.handleCertificateRequest,rr=_t.handleServerHelloDone,nr=_t.handleFinished,ir=[];ir[_t.ConnectionEnd.client]=[[qt,qt,Zt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,Jt,er,tr,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,er,tr,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,tr,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,rr,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,nr],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[$t,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt]];var ar=_t.handleClientHello,or=_t.handleClientKeyExchange,sr=_t.handleCertificateVerify;ir[_t.ConnectionEnd.server]=[[qt,ar,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,Jt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,or,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,sr,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,nr],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt],[qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt,qt]],_t.generateKeys=function(e,t){var r=St,n=t.client_random+t.server_random;e.session.resuming||(t.master_secret=r(t.pre_master_secret,"master secret",n,48).bytes(),t.pre_master_secret=null),n=t.server_random+t.client_random;var i=2*t.mac_key_length+2*t.enc_key_length,a=e.version.major===_t.Versions.TLS_1_0.major&&e.version.minor===_t.Versions.TLS_1_0.minor;a&&(i+=2*t.fixed_iv_length);var o=r(t.master_secret,"key expansion",n,i),s={client_write_MAC_key:o.getBytes(t.mac_key_length),server_write_MAC_key:o.getBytes(t.mac_key_length),client_write_key:o.getBytes(t.enc_key_length),server_write_key:o.getBytes(t.enc_key_length)};return a&&(s.client_write_IV=o.getBytes(t.fixed_iv_length),s.server_write_IV=o.getBytes(t.fixed_iv_length)),s},_t.createConnectionState=function(e){var t=e.entity===_t.ConnectionEnd.client,r=function(){var e={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(e){return!0},compressionState:null,compressFunction:function(e){return!0},updateSequenceNumber:function(){4294967295===e.sequenceNumber[1]?(e.sequenceNumber[1]=0,++e.sequenceNumber[0]):++e.sequenceNumber[1]}};return e},n={read:r(),write:r()};if(n.read.update=function(e,t){return n.read.cipherFunction(t,n.read)?n.read.compressFunction(e,t,n.read)||e.error(e,{message:"Could not decompress record.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.decompression_failure}}):e.error(e,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_record_mac}}),!e.fail},n.write.update=function(e,t){return n.write.compressFunction(e,t,n.write)?n.write.cipherFunction(t,n.write)||e.error(e,{message:"Could not encrypt record.",send:!1,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}}):e.error(e,{message:"Could not compress record.",send:!1,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}}),!e.fail},e.session){var i=e.session.sp;switch(e.session.cipherSuite.initSecurityParameters(i),i.keys=_t.generateKeys(e,i),n.read.macKey=t?i.keys.server_write_MAC_key:i.keys.client_write_MAC_key,n.write.macKey=t?i.keys.client_write_MAC_key:i.keys.server_write_MAC_key,e.session.cipherSuite.initConnectionState(n,e,i),i.compression_algorithm){case _t.CompressionMethod.none:break;case _t.CompressionMethod.deflate:n.read.compressFunction=Tt,n.write.compressFunction=Bt;break;default:throw new Error("Unsupported compression algorithm.")}}return n},_t.createRandom=function(){var e=new Date,t=+e+6e4*e.getTimezoneOffset(),r=F.util.createBuffer();return r.putInt32(t),r.putBytes(F.random.getBytes(28)),r},_t.createRecord=function(e,t){return t.data?{type:t.type,version:{major:e.version.major,minor:e.version.minor},length:t.data.length(),fragment:t.data}:null},_t.createAlert=function(e,t){var r=F.util.createBuffer();return r.putByte(t.level),r.putByte(t.description),_t.createRecord(e,{type:_t.ContentType.alert,data:r})},_t.createClientHello=function(e){e.session.clientHelloVersion={major:e.version.major,minor:e.version.minor};for(var t=F.util.createBuffer(),r=0;r<e.cipherSuites.length;++r){var n=e.cipherSuites[r];t.putByte(n.id[0]),t.putByte(n.id[1])}var i=t.length(),a=F.util.createBuffer();a.putByte(_t.CompressionMethod.none);var o=a.length(),s=F.util.createBuffer();if(e.virtualHost){var c=F.util.createBuffer();c.putByte(0),c.putByte(0);var u=F.util.createBuffer();u.putByte(0),It(u,2,F.util.createBuffer(e.virtualHost));var l=F.util.createBuffer();It(l,2,u),It(c,2,l),s.putBuffer(c)}var d=s.length();d>0&&(d+=2);var f=e.session.id,p=f.length+1+2+4+28+2+i+1+o+d,h=F.util.createBuffer();return h.putByte(_t.HandshakeType.client_hello),h.putInt24(p),h.putByte(e.version.major),h.putByte(e.version.minor),h.putBytes(e.session.sp.client_random),It(h,1,F.util.createBuffer(f)),It(h,2,t),It(h,1,a),d>0&&It(h,2,s),h},_t.createServerHello=function(e){var t=e.session.id,r=t.length+1+2+4+28+2+1,n=F.util.createBuffer();return n.putByte(_t.HandshakeType.server_hello),n.putInt24(r),n.putByte(e.version.major),n.putByte(e.version.minor),n.putBytes(e.session.sp.server_random),It(n,1,F.util.createBuffer(t)),n.putByte(e.session.cipherSuite.id[0]),n.putByte(e.session.cipherSuite.id[1]),n.putByte(e.session.compressionMethod),n},_t.createCertificate=function(e){var t,r=e.entity===_t.ConnectionEnd.client,n=null;e.getCertificate&&(t=r?e.session.certificateRequest:e.session.extensions.server_name.serverNameList,n=e.getCertificate(e,t));var i=F.util.createBuffer();if(null!==n)try{F.util.isArray(n)||(n=[n]);for(var a=null,o=0;o<n.length;++o){var s=F.pem.decode(n[o])[0];if("CERTIFICATE"!==s.type&&"X509 CERTIFICATE"!==s.type&&"TRUSTED CERTIFICATE"!==s.type){var c=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw c.headerType=s.type,c}if(s.procType&&"ENCRYPTED"===s.procType.type)throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var u=F.util.createBuffer(s.body);null===a&&(a=F.asn1.fromDer(u.bytes(),!1));var l=F.util.createBuffer();It(l,3,u),i.putBuffer(l)}n=F.pki.certificateFromAsn1(a),r?e.session.clientCertificate=n:e.session.serverCertificate=n}catch(t){return e.error(e,{message:"Could not send certificate list.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_certificate}})}var d=3+i.length(),f=F.util.createBuffer();return f.putByte(_t.HandshakeType.certificate),f.putInt24(d),It(f,3,i),f},_t.createClientKeyExchange=function(e){var t=F.util.createBuffer();t.putByte(e.session.clientHelloVersion.major),t.putByte(e.session.clientHelloVersion.minor),t.putBytes(F.random.getBytes(46));var r=e.session.sp;r.pre_master_secret=t.getBytes();var n=(t=e.session.serverCertificate.publicKey.encrypt(r.pre_master_secret)).length+2,i=F.util.createBuffer();return i.putByte(_t.HandshakeType.client_key_exchange),i.putInt24(n),i.putInt16(t.length),i.putBytes(t),i},_t.createServerKeyExchange=function(e){return F.util.createBuffer()},_t.getClientSignature=function(e,t){var r=F.util.createBuffer();r.putBuffer(e.session.md5.digest()),r.putBuffer(e.session.sha1.digest()),r=r.getBytes(),e.getSignature=e.getSignature||function(e,t,r){var n=null;if(e.getPrivateKey)try{n=e.getPrivateKey(e,e.session.clientCertificate),n=F.pki.privateKeyFromPem(n)}catch(t){e.error(e,{message:"Could not get private key.",cause:t,send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}})}null===n?e.error(e,{message:"No private key set.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.internal_error}}):t=n.sign(t,null),r(e,t)},e.getSignature(e,r,t)},_t.createCertificateVerify=function(e,t){var r=t.length+2,n=F.util.createBuffer();return n.putByte(_t.HandshakeType.certificate_verify),n.putInt24(r),n.putInt16(t.length),n.putBytes(t),n},_t.createCertificateRequest=function(e){var t=F.util.createBuffer();t.putByte(1);var r=F.util.createBuffer();for(var n in e.caStore.certs){var i=e.caStore.certs[n],a=F.pki.distinguishedNameToAsn1(i.subject),o=F.asn1.toDer(a);r.putInt16(o.length()),r.putBuffer(o)}var s=1+t.length()+2+r.length(),c=F.util.createBuffer();return c.putByte(_t.HandshakeType.certificate_request),c.putInt24(s),It(c,1,t),It(c,2,r),c},_t.createServerHelloDone=function(e){var t=F.util.createBuffer();return t.putByte(_t.HandshakeType.server_hello_done),t.putInt24(0),t},_t.createChangeCipherSpec=function(){var e=F.util.createBuffer();return e.putByte(1),e},_t.createFinished=function(e){var t=F.util.createBuffer();t.putBuffer(e.session.md5.digest()),t.putBuffer(e.session.sha1.digest());var r=e.entity===_t.ConnectionEnd.client,n=e.session.sp,i=r?"client finished":"server finished";t=St(n.master_secret,i,t.getBytes(),12);var a=F.util.createBuffer();return a.putByte(_t.HandshakeType.finished),a.putInt24(t.length()),a.putBuffer(t),a},_t.createHeartbeat=function(e,t,r){void 0===r&&(r=t.length);var n=F.util.createBuffer();n.putByte(e),n.putInt16(r),n.putBytes(t);var i=n.length(),a=Math.max(16,i-r-3);return n.putBytes(F.random.getBytes(a)),n},_t.queue=function(e,t){if(t&&(0!==t.fragment.length()||t.type!==_t.ContentType.handshake&&t.type!==_t.ContentType.alert&&t.type!==_t.ContentType.change_cipher_spec)){if(t.type===_t.ContentType.handshake){var r=t.fragment.bytes();e.session.md5.update(r),e.session.sha1.update(r),r=null}var n;if(t.fragment.length()<=_t.MaxFragment)n=[t];else{n=[];for(var i=t.fragment.bytes();i.length>_t.MaxFragment;)n.push(_t.createRecord(e,{type:t.type,data:F.util.createBuffer(i.slice(0,_t.MaxFragment))})),i=i.slice(_t.MaxFragment);i.length>0&&n.push(_t.createRecord(e,{type:t.type,data:F.util.createBuffer(i)}))}for(var a=0;a<n.length&&!e.fail;++a){var o=n[a];e.state.current.write.update(e,o)&&e.records.push(o)}}},_t.flush=function(e){for(var t=0;t<e.records.length;++t){var r=e.records[t];e.tlsData.putByte(r.type),e.tlsData.putByte(r.version.major),e.tlsData.putByte(r.version.minor),e.tlsData.putInt16(r.fragment.length()),e.tlsData.putBuffer(e.records[t].fragment)}return e.records=[],e.tlsDataReady(e)};var cr=function(e){switch(e){case!0:return!0;case F.pki.certificateError.bad_certificate:return _t.Alert.Description.bad_certificate;case F.pki.certificateError.unsupported_certificate:return _t.Alert.Description.unsupported_certificate;case F.pki.certificateError.certificate_revoked:return _t.Alert.Description.certificate_revoked;case F.pki.certificateError.certificate_expired:return _t.Alert.Description.certificate_expired;case F.pki.certificateError.certificate_unknown:return _t.Alert.Description.certificate_unknown;case F.pki.certificateError.unknown_ca:return _t.Alert.Description.unknown_ca;default:return _t.Alert.Description.bad_certificate}};for(var ur in _t.verifyCertificateChain=function(e,t){try{var r={};for(var n in e.verifyOptions)r[n]=e.verifyOptions[n];r.verify=function(t,r,n){cr(t);var i=e.verify(e,t,r,n);if(!0!==i){if("object"==typeof i&&!F.util.isArray(i)){var a=new Error("The application rejected the certificate.");throw a.send=!0,a.alert={level:_t.Alert.Level.fatal,description:_t.Alert.Description.bad_certificate},i.message&&(a.message=i.message),i.alert&&(a.alert.description=i.alert),a}i!==t&&(i=function(e){switch(e){case!0:return!0;case _t.Alert.Description.bad_certificate:return F.pki.certificateError.bad_certificate;case _t.Alert.Description.unsupported_certificate:return F.pki.certificateError.unsupported_certificate;case _t.Alert.Description.certificate_revoked:return F.pki.certificateError.certificate_revoked;case _t.Alert.Description.certificate_expired:return F.pki.certificateError.certificate_expired;case _t.Alert.Description.certificate_unknown:return F.pki.certificateError.certificate_unknown;case _t.Alert.Description.unknown_ca:return F.pki.certificateError.unknown_ca;default:return F.pki.certificateError.bad_certificate}}(i))}return i},F.pki.verifyCertificateChain(e.caStore,t,r)}catch(t){var i=t;("object"!=typeof i||F.util.isArray(i))&&(i={send:!0,alert:{level:_t.Alert.Level.fatal,description:cr(t)}}),"send"in i||(i.send=!0),"alert"in i||(i.alert={level:_t.Alert.Level.fatal,description:cr(i.error)}),e.error(e,i)}return!e.fail},_t.createSessionCache=function(e,t){var r=null;if(e&&e.getSession&&e.setSession&&e.order)r=e;else{for(var n in(r={}).cache=e||{},r.capacity=Math.max(t||100,1),r.order=[],e)r.order.length<=t?r.order.push(n):delete e[n];r.getSession=function(e){var t=null,n=null;if(e?n=F.util.bytesToHex(e):r.order.length>0&&(n=r.order[0]),null!==n&&n in r.cache)for(var i in t=r.cache[n],delete r.cache[n],r.order)if(r.order[i]===n){r.order.splice(i,1);break}return t},r.setSession=function(e,t){if(r.order.length===r.capacity){var n=r.order.shift();delete r.cache[n]}n=F.util.bytesToHex(e),r.order.push(n),r.cache[n]=t}}return r},_t.createConnection=function(e){var t=null;t=e.caStore?F.util.isArray(e.caStore)?F.pki.createCaStore(e.caStore):e.caStore:F.pki.createCaStore();var r=e.cipherSuites||null;if(null===r)for(var n in r=[],_t.CipherSuites)r.push(_t.CipherSuites[n]);var i=e.server?_t.ConnectionEnd.server:_t.ConnectionEnd.client,a=e.sessionCache?_t.createSessionCache(e.sessionCache):null,o={version:{major:_t.Version.major,minor:_t.Version.minor},entity:i,sessionId:e.sessionId,caStore:t,sessionCache:a,cipherSuites:r,connected:e.connected,virtualHost:e.virtualHost||null,verifyClient:e.verifyClient||!1,verify:e.verify||function(e,t,r,n){return t},verifyOptions:e.verifyOptions||{},getCertificate:e.getCertificate||null,getPrivateKey:e.getPrivateKey||null,getSignature:e.getSignature||null,input:F.util.createBuffer(),tlsData:F.util.createBuffer(),data:F.util.createBuffer(),tlsDataReady:e.tlsDataReady,dataReady:e.dataReady,heartbeatReceived:e.heartbeatReceived,closed:e.closed,error:function(t,r){r.origin=r.origin||(t.entity===_t.ConnectionEnd.client?"client":"server"),r.send&&(_t.queue(t,_t.createAlert(t,r.alert)),_t.flush(t));var n=!1!==r.fatal;n&&(t.fail=!0),e.error(t,r),n&&t.close(!1)},deflate:e.deflate||null,inflate:e.inflate||null,reset:function(e){o.version={major:_t.Version.major,minor:_t.Version.minor},o.record=null,o.session=null,o.peerCertificate=null,o.state={pending:null,current:null},o.expect=(_t.ConnectionEnd.client,0),o.fragmented=null,o.records=[],o.open=!1,o.handshakes=0,o.handshaking=!1,o.isConnected=!1,o.fail=!(e||void 0===e),o.input.clear(),o.tlsData.clear(),o.data.clear(),o.state.current=_t.createConnectionState(o)}};return o.reset(),o.handshake=function(e){if(o.entity!==_t.ConnectionEnd.client)o.error(o,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(o.handshaking)o.error(o,{message:"Handshake already in progress.",fatal:!1});else{o.fail&&!o.open&&0===o.handshakes&&(o.fail=!1),o.handshaking=!0;var t=null;(e=e||"").length>0&&(o.sessionCache&&(t=o.sessionCache.getSession(e)),null===t&&(e="")),0===e.length&&o.sessionCache&&null!==(t=o.sessionCache.getSession())&&(e=t.id),o.session={id:e,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:F.md.md5.create(),sha1:F.md.sha1.create()},t&&(o.version=t.version,o.session.sp=t.sp),o.session.sp.client_random=_t.createRandom().getBytes(),o.open=!0,_t.queue(o,_t.createRecord(o,{type:_t.ContentType.handshake,data:_t.createClientHello(o)})),_t.flush(o)}},o.process=function(e){var t=0;return e&&o.input.putBytes(e),o.fail||(null!==o.record&&o.record.ready&&o.record.fragment.isEmpty()&&(o.record=null),null===o.record&&(t=function(e){var t=0,r=e.input,n=r.length();if(n<5)t=5-n;else{e.record={type:r.getByte(),version:{major:r.getByte(),minor:r.getByte()},length:r.getInt16(),fragment:F.util.createBuffer(),ready:!1};var i=e.record.version.major===e.version.major;i&&e.session&&e.session.version&&(i=e.record.version.minor===e.version.minor),i||e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.protocol_version}})}return t}(o)),o.fail||null===o.record||o.record.ready||(t=function(e){var t=0,r=e.input,n=r.length();return n<e.record.length?t=e.record.length-n:(e.record.fragment.putBytes(r.getBytes(e.record.length)),r.compact(),e.state.current.read.update(e,e.record)&&(null!==e.fragmented&&(e.fragmented.type===e.record.type?(e.fragmented.fragment.putBuffer(e.record.fragment),e.record=e.fragmented):e.error(e,{message:"Invalid fragmented record.",send:!0,alert:{level:_t.Alert.Level.fatal,description:_t.Alert.Description.unexpected_message}})),e.record.ready=!0)),t}(o)),!o.fail&&null!==o.record&&o.record.ready&&function(e,t){var r=t.type-_t.ContentType.change_cipher_spec,n=Yt[e.entity][e.expect];r in n?n[r](e,t):_t.handleUnexpected(e,t)}(o,o.record)),t},o.prepare=function(e){return _t.queue(o,_t.createRecord(o,{type:_t.ContentType.application_data,data:F.util.createBuffer(e)})),_t.flush(o)},o.prepareHeartbeatRequest=function(e,t){return e instanceof F.util.ByteBuffer&&(e=e.bytes()),void 0===t&&(t=e.length),o.expectedHeartbeatPayload=e,_t.queue(o,_t.createRecord(o,{type:_t.ContentType.heartbeat,data:_t.createHeartbeat(_t.HeartbeatMessageType.heartbeat_request,e,t)})),_t.flush(o)},o.close=function(e){if(!o.fail&&o.sessionCache&&o.session){var t={id:o.session.id,version:o.session.version,sp:o.session.sp};t.sp.keys=null,o.sessionCache.setSession(t.id,t)}o.open&&(o.open=!1,o.input.clear(),(o.isConnected||o.handshaking)&&(o.isConnected=o.handshaking=!1,_t.queue(o,_t.createAlert(o,{level:_t.Alert.Level.warning,description:_t.Alert.Description.close_notify})),_t.flush(o)),o.closed(o)),o.reset(e)},o},F.tls=F.tls||{},_t)"function"!=typeof _t[ur]&&(F.tls[ur]=_t[ur]);F.tls.prf_tls1=St,F.tls.hmac_sha1=function(e,t,r){var n=F.hmac.create();n.start("SHA1",e);var i=F.util.createBuffer();return i.putInt32(t[0]),i.putInt32(t[1]),i.putByte(r.type),i.putByte(r.version.major),i.putByte(r.version.minor),i.putInt16(r.length),i.putBytes(r.fragment.bytes()),n.update(i.getBytes()),n.digest().getBytes()},F.tls.createSessionCache=_t.createSessionCache,F.tls.createConnection=_t.createConnection,w((function(e){var t=e.exports=F.tls;function r(e,r,i){var a=r.entity===F.tls.ConnectionEnd.client;e.read.cipherState={init:!1,cipher:F.cipher.createDecipher("AES-CBC",a?i.keys.server_write_key:i.keys.client_write_key),iv:a?i.keys.server_write_IV:i.keys.client_write_IV},e.write.cipherState={init:!1,cipher:F.cipher.createCipher("AES-CBC",a?i.keys.client_write_key:i.keys.server_write_key),iv:a?i.keys.client_write_IV:i.keys.server_write_IV},e.read.cipherFunction=o,e.write.cipherFunction=n,e.read.macLength=e.write.macLength=i.mac_length,e.read.macFunction=e.write.macFunction=t.hmac_sha1}function n(e,r){var n,a=!1,o=r.macFunction(r.macKey,r.sequenceNumber,e);e.fragment.putBytes(o),r.updateSequenceNumber(),n=e.version.minor===t.Versions.TLS_1_0.minor?r.cipherState.init?null:r.cipherState.iv:F.random.getBytesSync(16),r.cipherState.init=!0;var s=r.cipherState.cipher;return s.start({iv:n}),e.version.minor>=t.Versions.TLS_1_1.minor&&s.output.putBytes(n),s.update(e.fragment),s.finish(i)&&(e.fragment=s.output,e.length=e.fragment.length(),a=!0),a}function i(e,t,r){if(!r){var n=e-t.length()%e;t.fillWithByte(n-1,n)}return!0}function a(e,t,r){var n=!0;if(r){for(var i=t.length(),a=t.last(),o=i-1-a;o<i-1;++o)n=n&&t.at(o)==a;n&&t.truncate(a+1)}return n}function o(e,r){var n,i=!1;n=e.version.minor===t.Versions.TLS_1_0.minor?r.cipherState.init?null:r.cipherState.iv:e.fragment.getBytes(16),r.cipherState.init=!0;var o=r.cipherState.cipher;o.start({iv:n}),o.update(e.fragment),i=o.finish(a);var s=r.macLength,c=F.random.getBytesSync(s),u=o.output.length();u>=s?(e.fragment=o.output.getBytes(u-s),c=o.output.getBytes(s)):e.fragment=o.output.getBytes(),e.fragment=F.util.createBuffer(e.fragment),e.length=e.fragment.length();var l=r.macFunction(r.macKey,r.sequenceNumber,e);return r.updateSequenceNumber(),function(e,t,r){var n=F.hmac.create();return n.start("SHA1",e),n.update(t),t=n.digest().getBytes(),n.start(null,null),n.update(r),t===(r=n.digest().getBytes())}(r.macKey,c,l)&&i}t.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=t.BulkCipherAlgorithm.aes,e.cipher_type=t.CipherType.block,e.enc_key_length=16,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=t.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:r},t.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=t.BulkCipherAlgorithm.aes,e.cipher_type=t.CipherType.block,e.enc_key_length=32,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=t.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:r}})),F.debug=F.debug||{},F.debug.storage={},F.debug.get=function(e,t){var r;return void 0===e?r=F.debug.storage:e in F.debug.storage&&(r=void 0===t?F.debug.storage[e]:F.debug.storage[e][t]),r},F.debug.set=function(e,t,r){e in F.debug.storage||(F.debug.storage[e]={}),F.debug.storage[e][t]=r},F.debug.clear=function(e,t){void 0===e?F.debug.storage={}:e in F.debug.storage&&(void 0===t?delete F.debug.storage[e]:delete F.debug.storage[e][t])},w((function(e){var t=e.exports=F.sha512=F.sha512||{};F.md.sha512=F.md.algorithms.sha512=t;var r=F.sha384=F.sha512.sha384=F.sha512.sha384||{};r.create=function(){return t.create("SHA-384")},F.md.sha384=F.md.algorithms.sha384=r,F.sha512.sha256=F.sha512.sha256||{create:function(){return t.create("SHA-512/256")}},F.md["sha512/256"]=F.md.algorithms["sha512/256"]=F.sha512.sha256,F.sha512.sha224=F.sha512.sha224||{create:function(){return t.create("SHA-512/224")}},F.md["sha512/224"]=F.md.algorithms["sha512/224"]=F.sha512.sha224,t.create=function(e){if(i||(n=String.fromCharCode(128),n+=F.util.fillString(String.fromCharCode(0),128),a=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],(o={})["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],o["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],o["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],o["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],i=!0),void 0===e&&(e="SHA-512"),!(e in o))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=o[e],r=null,c=F.util.createBuffer(),u=new Array(80),l=0;l<80;++l)u[l]=new Array(2);var d=64;switch(e){case"SHA-384":d=48;break;case"SHA-512/256":d=32;break;case"SHA-512/224":d=28}var f={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:d,messageLength:0,fullMessageLength:null,messageLengthSize:16,start:function(){f.messageLength=0,f.fullMessageLength=f.messageLength128=[];for(var e=f.messageLengthSize/4,n=0;n<e;++n)f.fullMessageLength.push(0);for(c=F.util.createBuffer(),r=new Array(t.length),n=0;n<t.length;++n)r[n]=t[n].slice(0);return f}};return f.start(),f.update=function(e,t){"utf8"===t&&(e=F.util.encodeUtf8(e));var n=e.length;f.messageLength+=n,n=[n/4294967296>>>0,n>>>0];for(var i=f.fullMessageLength.length-1;i>=0;--i)f.fullMessageLength[i]+=n[1],n[1]=n[0]+(f.fullMessageLength[i]/4294967296>>>0),f.fullMessageLength[i]=f.fullMessageLength[i]>>>0,n[0]=n[1]/4294967296>>>0;return c.putBytes(e),s(r,u,c),(c.read>2048||0===c.length())&&c.compact(),f},f.digest=function(){var t=F.util.createBuffer();t.putBytes(c.bytes());var i,a=f.fullMessageLength[f.fullMessageLength.length-1]+f.messageLengthSize&f.blockLength-1;t.putBytes(n.substr(0,f.blockLength-a));for(var o=8*f.fullMessageLength[0],l=0;l<f.fullMessageLength.length-1;++l)o+=(i=8*f.fullMessageLength[l+1])/4294967296>>>0,t.putInt32(o>>>0),o=i>>>0;t.putInt32(o);var d=new Array(r.length);for(l=0;l<r.length;++l)d[l]=r[l].slice(0);s(d,u,t);var p,h=F.util.createBuffer();for(p="SHA-512"===e?d.length:"SHA-384"===e?d.length-2:d.length-4,l=0;l<p;++l)h.putInt32(d[l][0]),l===p-1&&"SHA-512/224"===e||h.putInt32(d[l][1]);return h},f};var n=null,i=!1,a=null,o=null;function s(e,t,r){for(var n,i,o,s,c,u,l,d,f,p,h,g,m,y,v,b,C,w,E,k,S,B,T,A,I,_,x,P,R,N,O,L,D,U=r.length();U>=128;){for(x=0;x<16;++x)t[x][0]=r.getInt32()>>>0,t[x][1]=r.getInt32()>>>0;for(;x<80;++x)n=(((P=(N=t[x-2])[0])>>>19|(R=N[1])<<13)^(R>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|R>>>19)^(R<<3|P>>>29)^(P<<26|R>>>6))>>>0,o=(((P=(L=t[x-15])[0])>>>1|(R=L[1])<<31)^(P>>>8|R<<24)^P>>>7)>>>0,s=((P<<31|R>>>1)^(P<<24|R>>>8)^(P<<25|R>>>7))>>>0,O=t[x-7],D=t[x-16],R=i+O[1]+s+D[1],t[x][0]=n+O[0]+o+D[0]+(R/4294967296>>>0)>>>0,t[x][1]=R>>>0;for(h=e[0][0],g=e[0][1],m=e[1][0],y=e[1][1],v=e[2][0],b=e[2][1],C=e[3][0],w=e[3][1],E=e[4][0],k=e[4][1],S=e[5][0],B=e[5][1],T=e[6][0],A=e[6][1],I=e[7][0],_=e[7][1],x=0;x<80;++x)l=((E>>>14|k<<18)^(E>>>18|k<<14)^(k>>>9|E<<23))>>>0,d=(T^E&(S^T))>>>0,c=((h>>>28|g<<4)^(g>>>2|h<<30)^(g>>>7|h<<25))>>>0,u=((h<<4|g>>>28)^(g<<30|h>>>2)^(g<<25|h>>>7))>>>0,f=(h&m|v&(h^m))>>>0,p=(g&y|b&(g^y))>>>0,R=_+(((E<<18|k>>>14)^(E<<14|k>>>18)^(k<<23|E>>>9))>>>0)+((A^k&(B^A))>>>0)+a[x][1]+t[x][1],n=I+l+d+a[x][0]+t[x][0]+(R/4294967296>>>0)>>>0,i=R>>>0,o=c+f+((R=u+p)/4294967296>>>0)>>>0,s=R>>>0,I=T,_=A,T=S,A=B,S=E,B=k,E=C+n+((R=w+i)/4294967296>>>0)>>>0,k=R>>>0,C=v,w=b,v=m,b=y,m=h,y=g,h=n+o+((R=i+s)/4294967296>>>0)>>>0,g=R>>>0;R=e[0][1]+g,e[0][0]=e[0][0]+h+(R/4294967296>>>0)>>>0,e[0][1]=R>>>0,R=e[1][1]+y,e[1][0]=e[1][0]+m+(R/4294967296>>>0)>>>0,e[1][1]=R>>>0,R=e[2][1]+b,e[2][0]=e[2][0]+v+(R/4294967296>>>0)>>>0,e[2][1]=R>>>0,R=e[3][1]+w,e[3][0]=e[3][0]+C+(R/4294967296>>>0)>>>0,e[3][1]=R>>>0,R=e[4][1]+k,e[4][0]=e[4][0]+E+(R/4294967296>>>0)>>>0,e[4][1]=R>>>0,R=e[5][1]+B,e[5][0]=e[5][0]+S+(R/4294967296>>>0)>>>0,e[5][1]=R>>>0,R=e[6][1]+A,e[6][0]=e[6][0]+T+(R/4294967296>>>0)>>>0,e[6][1]=R>>>0,R=e[7][1]+_,e[7][0]=e[7][0]+I+(R/4294967296>>>0)>>>0,e[7][1]=R>>>0,U-=128}}}));var lr=F.asn1,dr={privateKeyValidator:{name:"PrivateKeyInfo",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:lr.Class.UNIVERSAL,type:lr.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:lr.Class.UNIVERSAL,type:lr.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:lr.Class.UNIVERSAL,type:lr.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},publicKeyValidator:{name:"SubjectPublicKeyInfo",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:lr.Class.UNIVERSAL,type:lr.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:lr.Class.UNIVERSAL,type:lr.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{tagClass:lr.Class.UNIVERSAL,type:lr.Type.BITSTRING,constructed:!1,composed:!0,captureBitStringValue:"ed25519PublicKey"}]}},fr=dr.publicKeyValidator,pr=dr.privateKeyValidator;if(void 0===hr)var hr=F.jsbn.BigInteger;var gr=F.util.ByteBuffer,mr="undefined"==typeof Buffer?Uint8Array:Buffer;F.pki=F.pki||{},F.pki.ed25519=F.ed25519=F.ed25519||{};var yr=F.ed25519;function vr(e){var t=e.message;if(t instanceof Uint8Array||t instanceof mr)return t;var r=e.encoding;if(void 0===t){if(!e.md)throw new TypeError('"options.message" or "options.md" not specified.');t=e.md.digest().getBytes(),r="binary"}if("string"==typeof t&&!r)throw new TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof t){if("undefined"!=typeof Buffer)return Buffer.from(t,r);t=new gr(t,r)}else if(!(t instanceof gr))throw new TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var n=new mr(t.length()),i=0;i<n.length;++i)n[i]=t.at(i);return n}yr.constants={},yr.constants.PUBLIC_KEY_BYTE_LENGTH=32,yr.constants.PRIVATE_KEY_BYTE_LENGTH=64,yr.constants.SEED_BYTE_LENGTH=32,yr.constants.SIGN_BYTE_LENGTH=64,yr.constants.HASH_BYTE_LENGTH=64,yr.generateKeyPair=function(e){var t=(e=e||{}).seed;if(void 0===t)t=F.random.getBytesSync(yr.constants.SEED_BYTE_LENGTH);else if("string"==typeof t){if(t.length!==yr.constants.SEED_BYTE_LENGTH)throw new TypeError('"seed" must be '+yr.constants.SEED_BYTE_LENGTH+" bytes in length.")}else if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, Uint8Array, or a binary string.');t=vr({message:t,encoding:"binary"});for(var r=new mr(yr.constants.PUBLIC_KEY_BYTE_LENGTH),n=new mr(yr.constants.PRIVATE_KEY_BYTE_LENGTH),i=0;i<32;++i)n[i]=t[i];return function(e,t){var r,n=[zr(),zr(),zr(),zr()],i=Ar(t,32);for(i[0]&=248,i[31]&=127,i[31]|=64,Mr(n,i),Rr(e,n),r=0;r<32;++r)t[r+32]=e[r]}(r,n),{publicKey:r,privateKey:n}},yr.privateKeyFromAsn1=function(e){var t={},r=[];if(!F.asn1.validate(e,pr,t,r)){var n=new Error("Invalid Key.");throw n.errors=r,n}var i=F.asn1.derToOid(t.privateKeyOid),a=F.oids.EdDSA25519;if(i!==a)throw new Error('Invalid OID "'+i+'"; OID must be "'+a+'".');var o=t.privateKey;return{privateKeyBytes:vr({message:F.asn1.fromDer(o).value,encoding:"binary"})}},yr.publicKeyFromAsn1=function(e){var t={},r=[];if(!F.asn1.validate(e,fr,t,r)){var n=new Error("Invalid Key.");throw n.errors=r,n}var i=F.asn1.derToOid(t.publicKeyOid),a=F.oids.EdDSA25519;if(i!==a)throw new Error('Invalid OID "'+i+'"; OID must be "'+a+'".');var o=t.ed25519PublicKey;if(o.length!==yr.constants.PUBLIC_KEY_BYTE_LENGTH)throw new Error("Key length is invalid.");return vr({message:o,encoding:"binary"})},yr.publicKeyFromPrivateKey=function(e){var t=vr({message:(e=e||{}).privateKey,encoding:"binary"});if(t.length!==yr.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+yr.constants.PRIVATE_KEY_BYTE_LENGTH);for(var r=new mr(yr.constants.PUBLIC_KEY_BYTE_LENGTH),n=0;n<r.length;++n)r[n]=t[32+n];return r},yr.sign=function(e){var t=vr(e=e||{}),r=vr({message:e.privateKey,encoding:"binary"});if(r.length===yr.constants.SEED_BYTE_LENGTH)r=yr.generateKeyPair({seed:r}).privateKey;else if(r.length!==yr.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+yr.constants.SEED_BYTE_LENGTH+" or "+yr.constants.PRIVATE_KEY_BYTE_LENGTH);var n=new mr(yr.constants.SIGN_BYTE_LENGTH+t.length);!function(e,t,r,n){var i,a,o=new Float64Array(64),s=[zr(),zr(),zr(),zr()],c=Ar(n,32);for(c[0]&=248,c[31]&=127,c[31]|=64,i=0;i<r;++i)e[64+i]=t[i];for(i=0;i<32;++i)e[32+i]=c[32+i];var u=Ar(e.subarray(32),r+32);for(_r(u),Mr(s,u),Rr(e,s),i=32;i<64;++i)e[i]=n[i];var l=Ar(e,r+64);for(_r(l),i=32;i<64;++i)o[i]=0;for(i=0;i<32;++i)o[i]=u[i];for(i=0;i<32;++i)for(a=0;a<32;a++)o[i+a]+=l[i]*c[a];Ir(e.subarray(32),o)}(n,t,t.length,r);for(var i=new mr(yr.constants.SIGN_BYTE_LENGTH),a=0;a<i.length;++a)i[a]=n[a];return i},yr.verify=function(e){var t=vr(e=e||{});if(void 0===e.signature)throw new TypeError('"options.signature" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a binary string.');var r=vr({message:e.signature,encoding:"binary"});if(r.length!==yr.constants.SIGN_BYTE_LENGTH)throw new TypeError('"options.signature" must have a byte length of '+yr.constants.SIGN_BYTE_LENGTH);var n=vr({message:e.publicKey,encoding:"binary"});if(n.length!==yr.constants.PUBLIC_KEY_BYTE_LENGTH)throw new TypeError('"options.publicKey" must have a byte length of '+yr.constants.PUBLIC_KEY_BYTE_LENGTH);var i,a=new mr(yr.constants.SIGN_BYTE_LENGTH+t.length),o=new mr(yr.constants.SIGN_BYTE_LENGTH+t.length);for(i=0;i<yr.constants.SIGN_BYTE_LENGTH;++i)a[i]=r[i];for(i=0;i<t.length;++i)a[i+yr.constants.SIGN_BYTE_LENGTH]=t[i];return function(e,t,r,n){var i,a=new mr(32),o=[zr(),zr(),zr(),zr()],s=[zr(),zr(),zr(),zr()];if(r<64)return-1;if(function(e,t){var r=zr(),n=zr(),i=zr(),a=zr(),o=zr(),s=zr(),c=zr();return Vr(e[2],Cr),function(e,t){var r;for(r=0;r<16;++r)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}(e[1],t),Hr(i,e[1]),Gr(a,i,wr),qr(i,i,e[2]),Kr(a,e[2],a),Hr(o,a),Hr(s,o),Gr(c,s,o),Gr(r,c,i),Gr(r,r,a),function(e,t){var r,n=zr();for(r=0;r<16;++r)n[r]=t[r];for(r=250;r>=0;--r)Hr(n,n),1!==r&&Gr(n,n,t);for(r=0;r<16;++r)e[r]=n[r]}(r,r),Gr(r,r,i),Gr(r,r,a),Gr(r,r,a),Gr(e[0],r,a),Hr(n,e[0]),Gr(n,n,a),Or(n,i)&&Gr(e[0],e[0],Tr),Hr(n,e[0]),Gr(n,n,a),Or(n,i)?-1:(Dr(e[0])===t[31]>>7&&qr(e[0],br,e[0]),Gr(e[3],e[0],e[1]),0)}(s,n))return-1;for(i=0;i<r;++i)e[i]=t[i];for(i=0;i<32;++i)e[i+32]=n[i];var c=Ar(e,r);if(_r(c),Ur(o,s,c),Mr(s,t.subarray(32)),xr(o,s),Rr(a,o),r-=64,Lr(t,0,a,0)){for(i=0;i<r;++i)e[i]=0;return-1}for(i=0;i<r;++i)e[i]=t[i+64];return r}(o,a,a.length,n)>=0};var br=zr(),Cr=zr([1]),wr=zr([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),Er=zr([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),kr=zr([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Sr=zr([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),Br=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),Tr=zr([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function Ar(e,t){var r=F.md.sha512.create(),n=new gr(e);r.update(n.getBytes(t),"binary");var i=r.digest().getBytes();if("undefined"!=typeof Buffer)return Buffer.from(i,"binary");for(var a=new mr(yr.constants.HASH_BYTE_LENGTH),o=0;o<64;++o)a[o]=i.charCodeAt(o);return a}function Ir(e,t){var r,n,i,a;for(n=63;n>=32;--n){for(r=0,i=n-32,a=n-12;i<a;++i)t[i]+=r-16*t[n]*Br[i-(n-32)],r=t[i]+128>>8,t[i]-=256*r;t[i]+=r,t[n]=0}for(r=0,i=0;i<32;++i)t[i]+=r-(t[31]>>4)*Br[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;++i)t[i]-=r*Br[i];for(n=0;n<32;++n)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function _r(e){for(var t=new Float64Array(64),r=0;r<64;++r)t[r]=e[r],e[r]=0;Ir(e,t)}function xr(e,t){var r=zr(),n=zr(),i=zr(),a=zr(),o=zr(),s=zr(),c=zr(),u=zr(),l=zr();qr(r,e[1],e[0]),qr(l,t[1],t[0]),Gr(r,r,l),Kr(n,e[0],e[1]),Kr(l,t[0],t[1]),Gr(n,n,l),Gr(i,e[3],t[3]),Gr(i,i,Er),Gr(a,e[2],t[2]),Kr(a,a,a),qr(o,n,r),qr(s,a,i),Kr(c,a,i),Kr(u,n,r),Gr(e[0],o,s),Gr(e[1],u,c),Gr(e[2],c,s),Gr(e[3],o,u)}function Pr(e,t,r){for(var n=0;n<4;++n)Fr(e[n],t[n],r)}function Rr(e,t){var r=zr(),n=zr(),i=zr();!function(e,t){var r,n=zr();for(r=0;r<16;++r)n[r]=t[r];for(r=253;r>=0;--r)Hr(n,n),2!==r&&4!==r&&Gr(n,n,t);for(r=0;r<16;++r)e[r]=n[r]}(i,t[2]),Gr(r,t[0],i),Gr(n,t[1],i),Nr(e,n),e[31]^=Dr(r)<<7}function Nr(e,t){var r,n,i,a=zr(),o=zr();for(r=0;r<16;++r)o[r]=t[r];for(jr(o),jr(o),jr(o),n=0;n<2;++n){for(a[0]=o[0]-65517,r=1;r<15;++r)a[r]=o[r]-65535-(a[r-1]>>16&1),a[r-1]&=65535;a[15]=o[15]-32767-(a[14]>>16&1),i=a[15]>>16&1,a[14]&=65535,Fr(o,a,1-i)}for(r=0;r<16;r++)e[2*r]=255&o[r],e[2*r+1]=o[r]>>8}function Or(e,t){var r=new mr(32),n=new mr(32);return Nr(r,e),Nr(n,t),Lr(r,0,n,0)}function Lr(e,t,r,n){return function(e,t,r,n,i){var a,o=0;for(a=0;a<i;++a)o|=e[t+a]^r[n+a];return(1&o-1>>>8)-1}(e,t,r,n,32)}function Dr(e){var t=new mr(32);return Nr(t,e),1&t[0]}function Ur(e,t,r){var n,i;for(Vr(e[0],br),Vr(e[1],Cr),Vr(e[2],Cr),Vr(e[3],br),i=255;i>=0;--i)Pr(e,t,n=r[i/8|0]>>(7&i)&1),xr(t,e),xr(e,e),Pr(e,t,n)}function Mr(e,t){var r=[zr(),zr(),zr(),zr()];Vr(r[0],kr),Vr(r[1],Sr),Vr(r[2],Cr),Gr(r[3],kr,Sr),Ur(e,r,t)}function Vr(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function jr(e){var t,r,n=1;for(t=0;t<16;++t)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function Fr(e,t,r){for(var n,i=~(r-1),a=0;a<16;++a)n=i&(e[a]^t[a]),e[a]^=n,t[a]^=n}function zr(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;++t)r[t]=e[t];return r}function Kr(e,t,r){for(var n=0;n<16;++n)e[n]=t[n]+r[n]}function qr(e,t,r){for(var n=0;n<16;++n)e[n]=t[n]-r[n]}function Hr(e,t){Gr(e,t,t)}function Gr(e,t,r){var n,i,a=0,o=0,s=0,c=0,u=0,l=0,d=0,f=0,p=0,h=0,g=0,m=0,y=0,v=0,b=0,C=0,w=0,E=0,k=0,S=0,B=0,T=0,A=0,I=0,_=0,x=0,P=0,R=0,N=0,O=0,L=0,D=r[0],U=r[1],M=r[2],V=r[3],j=r[4],F=r[5],z=r[6],K=r[7],q=r[8],H=r[9],G=r[10],Q=r[11],W=r[12],X=r[13],Y=r[14],$=r[15];a+=(n=t[0])*D,o+=n*U,s+=n*M,c+=n*V,u+=n*j,l+=n*F,d+=n*z,f+=n*K,p+=n*q,h+=n*H,g+=n*G,m+=n*Q,y+=n*W,v+=n*X,b+=n*Y,C+=n*$,o+=(n=t[1])*D,s+=n*U,c+=n*M,u+=n*V,l+=n*j,d+=n*F,f+=n*z,p+=n*K,h+=n*q,g+=n*H,m+=n*G,y+=n*Q,v+=n*W,b+=n*X,C+=n*Y,w+=n*$,s+=(n=t[2])*D,c+=n*U,u+=n*M,l+=n*V,d+=n*j,f+=n*F,p+=n*z,h+=n*K,g+=n*q,m+=n*H,y+=n*G,v+=n*Q,b+=n*W,C+=n*X,w+=n*Y,E+=n*$,c+=(n=t[3])*D,u+=n*U,l+=n*M,d+=n*V,f+=n*j,p+=n*F,h+=n*z,g+=n*K,m+=n*q,y+=n*H,v+=n*G,b+=n*Q,C+=n*W,w+=n*X,E+=n*Y,k+=n*$,u+=(n=t[4])*D,l+=n*U,d+=n*M,f+=n*V,p+=n*j,h+=n*F,g+=n*z,m+=n*K,y+=n*q,v+=n*H,b+=n*G,C+=n*Q,w+=n*W,E+=n*X,k+=n*Y,S+=n*$,l+=(n=t[5])*D,d+=n*U,f+=n*M,p+=n*V,h+=n*j,g+=n*F,m+=n*z,y+=n*K,v+=n*q,b+=n*H,C+=n*G,w+=n*Q,E+=n*W,k+=n*X,S+=n*Y,B+=n*$,d+=(n=t[6])*D,f+=n*U,p+=n*M,h+=n*V,g+=n*j,m+=n*F,y+=n*z,v+=n*K,b+=n*q,C+=n*H,w+=n*G,E+=n*Q,k+=n*W,S+=n*X,B+=n*Y,T+=n*$,f+=(n=t[7])*D,p+=n*U,h+=n*M,g+=n*V,m+=n*j,y+=n*F,v+=n*z,b+=n*K,C+=n*q,w+=n*H,E+=n*G,k+=n*Q,S+=n*W,B+=n*X,T+=n*Y,A+=n*$,p+=(n=t[8])*D,h+=n*U,g+=n*M,m+=n*V,y+=n*j,v+=n*F,b+=n*z,C+=n*K,w+=n*q,E+=n*H,k+=n*G,S+=n*Q,B+=n*W,T+=n*X,A+=n*Y,I+=n*$,h+=(n=t[9])*D,g+=n*U,m+=n*M,y+=n*V,v+=n*j,b+=n*F,C+=n*z,w+=n*K,E+=n*q,k+=n*H,S+=n*G,B+=n*Q,T+=n*W,A+=n*X,I+=n*Y,_+=n*$,g+=(n=t[10])*D,m+=n*U,y+=n*M,v+=n*V,b+=n*j,C+=n*F,w+=n*z,E+=n*K,k+=n*q,S+=n*H,B+=n*G,T+=n*Q,A+=n*W,I+=n*X,_+=n*Y,x+=n*$,m+=(n=t[11])*D,y+=n*U,v+=n*M,b+=n*V,C+=n*j,w+=n*F,E+=n*z,k+=n*K,S+=n*q,B+=n*H,T+=n*G,A+=n*Q,I+=n*W,_+=n*X,x+=n*Y,P+=n*$,y+=(n=t[12])*D,v+=n*U,b+=n*M,C+=n*V,w+=n*j,E+=n*F,k+=n*z,S+=n*K,B+=n*q,T+=n*H,A+=n*G,I+=n*Q,_+=n*W,x+=n*X,P+=n*Y,R+=n*$,v+=(n=t[13])*D,b+=n*U,C+=n*M,w+=n*V,E+=n*j,k+=n*F,S+=n*z,B+=n*K,T+=n*q,A+=n*H,I+=n*G,_+=n*Q,x+=n*W,P+=n*X,R+=n*Y,N+=n*$,b+=(n=t[14])*D,C+=n*U,w+=n*M,E+=n*V,k+=n*j,S+=n*F,B+=n*z,T+=n*K,A+=n*q,I+=n*H,_+=n*G,x+=n*Q,P+=n*W,R+=n*X,N+=n*Y,O+=n*$,C+=(n=t[15])*D,o+=38*(E+=n*M),s+=38*(k+=n*V),c+=38*(S+=n*j),u+=38*(B+=n*F),l+=38*(T+=n*z),d+=38*(A+=n*K),f+=38*(I+=n*q),p+=38*(_+=n*H),h+=38*(x+=n*G),g+=38*(P+=n*Q),m+=38*(R+=n*W),y+=38*(N+=n*X),v+=38*(O+=n*Y),b+=38*(L+=n*$),a=(n=(a+=38*(w+=n*U))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),v=(n=v+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),C=(n=C+i+65535)-65536*(i=Math.floor(n/65536)),a=(n=(a+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),v=(n=v+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),C=(n=C+i+65535)-65536*(i=Math.floor(n/65536)),a+=i-1+37*(i-1),e[0]=a,e[1]=o,e[2]=s,e[3]=c,e[4]=u,e[5]=l,e[6]=d,e[7]=f,e[8]=p,e[9]=h,e[10]=g,e[11]=m,e[12]=y,e[13]=v,e[14]=b,e[15]=C}F.kem=F.kem||{};var Qr=F.jsbn.BigInteger;function Wr(e,t,r,n){e.generate=function(e,i){for(var a=new F.util.ByteBuffer,o=Math.ceil(i/n)+r,s=new F.util.ByteBuffer,c=r;c<o;++c){s.putInt32(c),t.start(),t.update(e+s.getBytes());var u=t.digest();a.putBytes(u.getBytes(n))}return a.truncate(a.length()-i),a.getBytes()}}F.kem.rsa={},F.kem.rsa.create=function(e,t){var r=(t=t||{}).prng||F.random;return{encrypt:function(t,n){var i,a=Math.ceil(t.n.bitLength()/8);do{i=new Qr(F.util.bytesToHex(r.getBytesSync(a)),16).mod(t.n)}while(i.compareTo(Qr.ONE)<=0);var o=a-(i=F.util.hexToBytes(i.toString(16))).length;return o>0&&(i=F.util.fillString(String.fromCharCode(0),o)+i),{encapsulation:t.encrypt(i,"NONE"),key:e.generate(i,n)}},decrypt:function(t,r,n){var i=t.decrypt(r,"NONE");return e.generate(i,n)}}},F.kem.kdf1=function(e,t){Wr(this,e,0,t||e.digestLength)},F.kem.kdf2=function(e,t){Wr(this,e,1,t||e.digestLength)},F.log=F.log||{},F.log.levels=["none","error","warning","info","debug","verbose","max"];var Xr={},Yr=[],$r=null;F.log.LEVEL_LOCKED=2,F.log.NO_LEVEL_CHECK=4,F.log.INTERPOLATE=8;for(var Zr=0;Zr<F.log.levels.length;++Zr){var Jr=F.log.levels[Zr];Xr[Jr]={index:Zr,name:Jr.toUpperCase()}}F.log.logMessage=function(e){for(var t=Xr[e.level].index,r=0;r<Yr.length;++r){var n=Yr[r];n.flags&F.log.NO_LEVEL_CHECK?n.f(e):t<=Xr[n.level].index&&n.f(n,e)}},F.log.prepareStandard=function(e){"standard"in e||(e.standard=Xr[e.level].name+" ["+e.category+"] "+e.message)},F.log.prepareFull=function(e){if(!("full"in e)){var t=[e.message];t=t.concat([]||e.arguments),e.full=F.util.format.apply(this,t)}},F.log.prepareStandardFull=function(e){"standardFull"in e||(F.log.prepareStandard(e),e.standardFull=e.standard)};var en=["error","warning","info","debug","verbose"];for(Zr=0;Zr<en.length;++Zr)!function(e){F.log[e]=function(t,r){var n=Array.prototype.slice.call(arguments).slice(2),i={timestamp:new Date,level:e,category:t,message:r,arguments:n};F.log.logMessage(i)}}(en[Zr]);if(F.log.makeLogger=function(e){var t={flags:0,f:e};return F.log.setLevel(t,"none"),t},F.log.setLevel=function(e,t){var r=!1;if(e&&!(e.flags&F.log.LEVEL_LOCKED))for(var n=0;n<F.log.levels.length;++n)if(t==F.log.levels[n]){e.level=t,r=!0;break}return r},F.log.lock=function(e,t){void 0===t||t?e.flags|=F.log.LEVEL_LOCKED:e.flags&=~F.log.LEVEL_LOCKED},F.log.addLogger=function(e){Yr.push(e)},"undefined"!=typeof console&&"log"in console){var tn;if(console.error&&console.warn&&console.info&&console.debug){var rn={error:console.error,warning:console.warn,info:console.info,debug:console.debug,verbose:console.debug},nn=function(e,t){F.log.prepareStandard(t);var r=rn[t.level],n=[t.standard];n=n.concat(t.arguments.slice()),r.apply(console,n)};tn=F.log.makeLogger(nn)}else nn=function(e,t){F.log.prepareStandardFull(t),console.log(t.standardFull)},tn=F.log.makeLogger(nn);F.log.setLevel(tn,"debug"),F.log.addLogger(tn),$r=tn}else console={log:function(){}};if(null!==$r){var an=F.util.getQueryVariables();"console.level"in an&&F.log.setLevel($r,an["console.level"].slice(-1)[0]),"console.lock"in an&&"true"==an["console.lock"].slice(-1)[0]&&F.log.lock($r)}F.log.consoleLogger=$r,w((function(e){var t=F.asn1,r=e.exports=F.pkcs7=F.pkcs7||{};function n(e){var n={},i=[];if(!t.validate(e,r.asn1.recipientInfoValidator,n,i)){var a=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw a.errors=i,a}return{version:n.version.charCodeAt(0),issuer:F.pki.RDNAttributesAsArray(n.issuer),serialNumber:F.util.createBuffer(n.serial).toHex(),encryptedContent:{algorithm:t.derToOid(n.encAlgorithm),parameter:n.encParameter.value,content:n.encKey}}}function i(e){for(var r,n=[],i=0;i<e.length;++i)n.push((r=e[i],t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(r.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[F.pki.distinguishedNameToAsn1({attributes:r.issuer}),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,F.util.hexToBytes(r.serialNumber))]),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.encryptedContent.algorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")]),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,r.encryptedContent.content)])));return n}function a(e){var r=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[F.pki.distinguishedNameToAsn1({attributes:e.issuer}),t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,F.util.hexToBytes(e.serialNumber))]),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.digestAlgorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])]);if(e.authenticatedAttributesAsn1&&r.value.push(e.authenticatedAttributesAsn1),r.value.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.signatureAlgorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")])),r.value.push(t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,e.signature)),e.unauthenticatedAttributes.length>0){for(var n=t.create(t.Class.CONTEXT_SPECIFIC,1,!0,[]),i=0;i<e.unauthenticatedAttributes.length;++i){var a=e.unauthenticatedAttributes[i];n.values.push(o(a))}r.value.push(n)}return r}function o(e){var r;if(e.type===F.pki.oids.contentType)r=t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.value).getBytes());else if(e.type===F.pki.oids.messageDigest)r=t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,e.value.bytes());else if(e.type===F.pki.oids.signingTime){var n=new Date("1950-01-01T00:00:00Z"),i=new Date("2050-01-01T00:00:00Z"),a=e.value;if("string"==typeof a){var o=Date.parse(a);a=isNaN(o)?13===a.length?t.utcTimeToDate(a):t.generalizedTimeToDate(a):new Date(o)}r=a>=n&&a<i?t.create(t.Class.UNIVERSAL,t.Type.UTCTIME,!1,t.dateToUtcTime(a)):t.create(t.Class.UNIVERSAL,t.Type.GENERALIZEDTIME,!1,t.dateToGeneralizedTime(a))}return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.type).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[r])])}function s(e,r,n){var i={};if(!t.validate(r,n,i,[])){var a=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw a.errors=a,a}if(t.derToOid(i.contentType)!==F.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(i.encryptedContent){var o="";if(F.util.isArray(i.encryptedContent))for(var s=0;s<i.encryptedContent.length;++s){if(i.encryptedContent[s].type!==t.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");o+=i.encryptedContent[s].value}else o=i.encryptedContent;e.encryptedContent={algorithm:t.derToOid(i.encAlgorithm),parameter:F.util.createBuffer(i.encParameter.value),content:F.util.createBuffer(o)}}if(i.content){if(o="",F.util.isArray(i.content))for(s=0;s<i.content.length;++s){if(i.content[s].type!==t.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");o+=i.content[s].value}else o=i.content;e.content=F.util.createBuffer(o)}return e.version=i.version.charCodeAt(0),e.rawCapture=i,i}function c(e){if(void 0===e.encryptedContent.key)throw new Error("Symmetric key not available.");if(void 0===e.content){var t;switch(e.encryptedContent.algorithm){case F.pki.oids["aes128-CBC"]:case F.pki.oids["aes192-CBC"]:case F.pki.oids["aes256-CBC"]:t=F.aes.createDecryptionCipher(e.encryptedContent.key);break;case F.pki.oids.desCBC:case F.pki.oids["des-EDE3-CBC"]:t=F.des.createDecryptionCipher(e.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+e.encryptedContent.algorithm)}if(t.start(e.encryptedContent.parameter),t.update(e.encryptedContent.content),!t.finish())throw new Error("Symmetric decryption failed.");e.content=t.output}}r.messageFromPem=function(e){var n=F.pem.decode(e)[0];if("PKCS7"!==n.type){var i=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw i.headerType=n.type,i}if(n.procType&&"ENCRYPTED"===n.procType.type)throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var a=t.fromDer(n.body);return r.messageFromAsn1(a)},r.messageToPem=function(e,r){var n={type:"PKCS7",body:t.toDer(e.toAsn1()).getBytes()};return F.pem.encode(n,{maxline:r})},r.messageFromAsn1=function(e){var n={},i=[];if(!t.validate(e,r.asn1.contentInfoValidator,n,i)){var a=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw a.errors=i,a}var o,s=t.derToOid(n.contentType);switch(s){case F.pki.oids.envelopedData:o=r.createEnvelopedData();break;case F.pki.oids.encryptedData:o=r.createEncryptedData();break;case F.pki.oids.signedData:o=r.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+s+" is not (yet) supported.")}return o.fromAsn1(n.content.value[0]),o},r.createSignedData=function(){var e=null;return e={type:F.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(t){if(s(e,t,r.asn1.signedDataValidator),e.certificates=[],e.crls=[],e.digestAlgorithmIdentifiers=[],e.contentInfo=null,e.signerInfos=[],e.rawCapture.certificates)for(var n=e.rawCapture.certificates.value,i=0;i<n.length;++i)e.certificates.push(F.pki.certificateFromAsn1(n[i]))},toAsn1:function(){e.contentInfo||e.sign();for(var r=[],n=0;n<e.certificates.length;++n)r.push(F.pki.certificateToAsn1(e.certificates[n]));var i=[],a=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,e.digestAlgorithmIdentifiers),e.contentInfo])]);return r.length>0&&a.value[0].value.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,r)),i.length>0&&a.value[0].value.push(t.create(t.Class.CONTEXT_SPECIFIC,1,!0,i)),a.value[0].value.push(t.create(t.Class.UNIVERSAL,t.Type.SET,!0,e.signerInfos)),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.type).getBytes()),a])},addSigner:function(t){var r=t.issuer,n=t.serialNumber;if(t.certificate){var i=t.certificate;"string"==typeof i&&(i=F.pki.certificateFromPem(i)),r=i.issuer.attributes,n=i.serialNumber}var a=t.key;if(!a)throw new Error("Could not add PKCS#7 signer; no private key specified.");"string"==typeof a&&(a=F.pki.privateKeyFromPem(a));var o=t.digestAlgorithm||F.pki.oids.sha1;switch(o){case F.pki.oids.sha1:case F.pki.oids.sha256:case F.pki.oids.sha384:case F.pki.oids.sha512:case F.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+o)}var s=t.authenticatedAttributes||[];if(s.length>0){for(var c=!1,u=!1,l=0;l<s.length;++l){var d=s[l];if(c||d.type!==F.pki.oids.contentType){if(u||d.type!==F.pki.oids.messageDigest);else if(u=!0,c)break}else if(c=!0,u)break}if(!c||!u)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}e.signers.push({key:a,version:1,issuer:r,serialNumber:n,digestAlgorithm:o,signatureAlgorithm:F.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:s,unauthenticatedAttributes:[]})},sign:function(r){var n;r=r||{},("object"!=typeof e.content||null===e.contentInfo)&&(e.contentInfo=t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(F.pki.oids.data).getBytes())]),"content"in e&&(e.content instanceof F.util.ByteBuffer?n=e.content.bytes():"string"==typeof e.content&&(n=F.util.encodeUtf8(e.content)),r.detached?e.detachedContent=t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,n):e.contentInfo.value.push(t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,n)])))),0!==e.signers.length&&function(r){var n;if(!(n=e.detachedContent?e.detachedContent:(n=e.contentInfo.value[1]).value[0]))throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var i=t.derToOid(e.contentInfo.value[0].value),s=t.toDer(n);for(var c in s.getByte(),t.getBerValueLength(s),s=s.getBytes(),r)r[c].start().update(s);for(var u=new Date,l=0;l<e.signers.length;++l){var d=e.signers[l];if(0===d.authenticatedAttributes.length){if(i!==F.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{d.authenticatedAttributesAsn1=t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var f=t.create(t.Class.UNIVERSAL,t.Type.SET,!0,[]),p=0;p<d.authenticatedAttributes.length;++p){var h=d.authenticatedAttributes[p];h.type===F.pki.oids.messageDigest?h.value=r[d.digestAlgorithm].digest():h.type===F.pki.oids.signingTime&&(h.value||(h.value=u)),f.value.push(o(h)),d.authenticatedAttributesAsn1.value.push(o(h))}s=t.toDer(f).getBytes(),d.md.start().update(s)}d.signature=d.key.sign(d.md,"RSASSA-PKCS1-V1_5")}e.signerInfos=function(e){for(var t=[],r=0;r<e.length;++r)t.push(a(e[r]));return t}(e.signers)}(function(){for(var r={},n=0;n<e.signers.length;++n){var i=e.signers[n];(a=i.digestAlgorithm)in r||(r[a]=F.md[F.pki.oids[a]].create()),0===i.authenticatedAttributes.length?i.md=r[a]:i.md=F.md[F.pki.oids[a]].create()}for(var a in e.digestAlgorithmIdentifiers=[],r)e.digestAlgorithmIdentifiers.push(t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(a).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.NULL,!1,"")]));return r}())},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(t){"string"==typeof t&&(t=F.pki.certificateFromPem(t)),e.certificates.push(t)},addCertificateRevokationList:function(e){throw new Error("PKCS#7 CRL support not yet implemented.")}}},r.createEncryptedData=function(){var e=null;return e={type:F.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:F.pki.oids["aes256-CBC"]},fromAsn1:function(t){s(e,t,r.asn1.encryptedDataValidator)},decrypt:function(t){void 0!==t&&(e.encryptedContent.key=t),c(e)}}},r.createEnvelopedData=function(){var e=null;return e={type:F.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:F.pki.oids["aes256-CBC"]},fromAsn1:function(t){var i=s(e,t,r.asn1.envelopedDataValidator);e.recipients=function(e){for(var t=[],r=0;r<e.length;++r)t.push(n(e[r]));return t}(i.recipientInfos.value)},toAsn1:function(){return t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(e.type).getBytes()),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.INTEGER,!1,t.integerToDer(e.version).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SET,!0,i(e.recipients)),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,(r=e.encryptedContent,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(F.pki.oids.data).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.SEQUENCE,!0,[t.create(t.Class.UNIVERSAL,t.Type.OID,!1,t.oidToDer(r.algorithm).getBytes()),t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,r.parameter.getBytes())]),t.create(t.Class.CONTEXT_SPECIFIC,0,!0,[t.create(t.Class.UNIVERSAL,t.Type.OCTETSTRING,!1,r.content.getBytes())])]))])])]);var r},findRecipient:function(t){for(var r=t.issuer.attributes,n=0;n<e.recipients.length;++n){var i=e.recipients[n],a=i.issuer;if(i.serialNumber===t.serialNumber&&a.length===r.length){for(var o=!0,s=0;s<r.length;++s)if(a[s].type!==r[s].type||a[s].value!==r[s].value){o=!1;break}if(o)return i}}return null},decrypt:function(t,r){if(void 0===e.encryptedContent.key&&void 0!==t&&void 0!==r)switch(t.encryptedContent.algorithm){case F.pki.oids.rsaEncryption:case F.pki.oids.desCBC:var n=r.decrypt(t.encryptedContent.content);e.encryptedContent.key=F.util.createBuffer(n);break;default:throw new Error("Unsupported asymmetric cipher, OID "+t.encryptedContent.algorithm)}c(e)},addRecipient:function(t){e.recipients.push({version:0,issuer:t.issuer.attributes,serialNumber:t.serialNumber,encryptedContent:{algorithm:F.pki.oids.rsaEncryption,key:t.publicKey}})},encrypt:function(t,r){if(void 0===e.encryptedContent.content){var n,i,a;switch(r=r||e.encryptedContent.algorithm,t=t||e.encryptedContent.key,r){case F.pki.oids["aes128-CBC"]:n=16,i=16,a=F.aes.createEncryptionCipher;break;case F.pki.oids["aes192-CBC"]:n=24,i=16,a=F.aes.createEncryptionCipher;break;case F.pki.oids["aes256-CBC"]:n=32,i=16,a=F.aes.createEncryptionCipher;break;case F.pki.oids["des-EDE3-CBC"]:n=24,i=8,a=F.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+r)}if(void 0===t)t=F.util.createBuffer(F.random.getBytes(n));else if(t.length()!=n)throw new Error("Symmetric key has wrong length; got "+t.length()+" bytes, expected "+n+".");e.encryptedContent.algorithm=r,e.encryptedContent.key=t,e.encryptedContent.parameter=F.util.createBuffer(F.random.getBytes(i));var o=a(t);if(o.start(e.encryptedContent.parameter.copy()),o.update(e.content),!o.finish())throw new Error("Symmetric encryption failed.");e.encryptedContent.content=o.output}for(var s=0;s<e.recipients.length;++s){var c=e.recipients[s];if(void 0===c.encryptedContent.content)switch(c.encryptedContent.algorithm){case F.pki.oids.rsaEncryption:c.encryptedContent.content=c.encryptedContent.key.encrypt(e.encryptedContent.key.data);break;default:throw new Error("Unsupported asymmetric cipher, OID "+c.encryptedContent.algorithm)}}}}}})),w((function(e){var t=e.exports=F.ssh=F.ssh||{};function r(e,t){var r=t.toString(16);r[0]>="8"&&(r="00"+r);var n=F.util.hexToBytes(r);e.putInt32(n.length),e.putBytes(n)}function n(e,t){e.putInt32(t.length),e.putString(t)}function i(){for(var e=F.md.sha1.create(),t=arguments.length,r=0;r<t;++r)e.update(arguments[r]);return e.digest()}t.privateKeyToPutty=function(e,t,a){var o=""===(t=t||"")?"none":"aes256-cbc",s="PuTTY-User-Key-File-2: ssh-rsa\r\n";s+="Encryption: "+o+"\r\n",s+="Comment: "+(a=a||"")+"\r\n";var c=F.util.createBuffer();n(c,"ssh-rsa"),r(c,e.e),r(c,e.n);var u=F.util.encode64(c.bytes(),64),l=Math.floor(u.length/66)+1;s+="Public-Lines: "+l+"\r\n",s+=u;var d,f=F.util.createBuffer();if(r(f,e.d),r(f,e.p),r(f,e.q),r(f,e.qInv),t){var p=f.length()+16-1;p-=p%16;var h=i(f.bytes());h.truncate(h.length()-p+f.length()),f.putBuffer(h);var g=F.util.createBuffer();g.putBuffer(i("\0\0\0\0",t)),g.putBuffer(i("\0\0\0",t));var m=F.aes.createEncryptionCipher(g.truncate(8),"CBC");m.start(F.util.createBuffer().fillWithByte(0,16)),m.update(f.copy()),m.finish();var y=m.output;y.truncate(16),d=F.util.encode64(y.bytes(),64)}else d=F.util.encode64(f.bytes(),64);s+="\r\nPrivate-Lines: "+(l=Math.floor(d.length/66)+1)+"\r\n",s+=d;var v=i("putty-private-key-file-mac-key",t),b=F.util.createBuffer();n(b,"ssh-rsa"),n(b,o),n(b,a),b.putInt32(c.length()),b.putBuffer(c),b.putInt32(f.length()),b.putBuffer(f);var C=F.hmac.create();return C.start("sha1",v),C.update(b.bytes()),s+"\r\nPrivate-MAC: "+C.digest().toHex()+"\r\n"},t.publicKeyToOpenSSH=function(e,t){t=t||"";var i=F.util.createBuffer();return n(i,"ssh-rsa"),r(i,e.e),r(i,e.n),"ssh-rsa "+F.util.encode64(i.bytes())+" "+t},t.privateKeyToOpenSSH=function(e,t){return t?F.pki.encryptRsaPrivateKey(e,t,{legacy:!0,algorithm:"aes128"}):F.pki.privateKeyToPem(e)},t.getPublicKeyFingerprint=function(e,t){var i=(t=t||{}).md||F.md.md5.create(),a=F.util.createBuffer();n(a,"ssh-rsa"),r(a,e.e),r(a,e.n),i.start(),i.update(a.getBytes());var o=i.digest();if("hex"===t.encoding){var s=o.toHex();return t.delimiter?s.match(/.{2}/g).join(t.delimiter):s}if("binary"===t.encoding)return o.getBytes();if(t.encoding)throw new Error('Unknown encoding "'+t.encoding+'".');return o}}));var on="forge.task",sn={},cn=0;F.debug.set(on,"tasks",sn);var un={};F.debug.set(on,"queues",un);var ln="ready",dn="running",fn="blocked",pn="sleeping",hn="done",gn="error",mn={ready:{}};mn.ready.stop=ln,mn.ready.start=dn,mn.ready.cancel=hn,mn.ready.fail=gn,mn.running={},mn.running.stop=ln,mn.running.start=dn,mn.running.block=fn,mn.running.unblock=dn,mn.running.sleep=pn,mn.running.wakeup=dn,mn.running.cancel=hn,mn.running.fail=gn,mn.blocked={},mn.blocked.stop=fn,mn.blocked.start=fn,mn.blocked.block=fn,mn.blocked.unblock=fn,mn.blocked.sleep=fn,mn.blocked.wakeup=fn,mn.blocked.cancel=hn,mn.blocked.fail=gn,mn.sleeping={},mn.sleeping.stop=pn,mn.sleeping.start=pn,mn.sleeping.block=pn,mn.sleeping.unblock=pn,mn.sleeping.sleep=pn,mn.sleeping.wakeup=pn,mn.sleeping.cancel=hn,mn.sleeping.fail=gn,mn.done={},mn.done.stop=hn,mn.done.start=hn,mn.done.block=hn,mn.done.unblock=hn,mn.done.sleep=hn,mn.done.wakeup=hn,mn.done.cancel=hn,mn.done.fail=gn,mn.error={},mn.error.stop=gn,mn.error.start=gn,mn.error.block=gn,mn.error.unblock=gn,mn.error.sleep=gn,mn.error.wakeup=gn,mn.error.cancel=gn,mn.error.fail=gn;var yn=function(e){this.id=-1,this.name=e.name||"?",this.parent=e.parent||null,this.run=e.run,this.subtasks=[],this.error=!1,this.state=ln,this.blocks=0,this.timeoutId=null,this.swapTime=null,this.userData=null,this.id=cn++,sn[this.id]=this};yn.prototype.debug=function(e){e=e||"",F.log.debug(on,e,"[%s][%s] task:",this.id,this.name,this,"subtasks:",this.subtasks.length,"queue:",un)},yn.prototype.next=function(e,t){"function"==typeof e&&(t=e,e=this.name);var r=new yn({run:t,name:e,parent:this});return r.state=dn,r.type=this.type,r.successCallback=this.successCallback||null,r.failureCallback=this.failureCallback||null,this.subtasks.push(r),this},yn.prototype.parallel=function(e,t){return F.util.isArray(e)&&(t=e,e=this.name),this.next(e,(function(r){var n=r;n.block(t.length);for(var i=function(e,r){F.task.start({type:e,run:function(e){t[r](e)},success:function(e){n.unblock()},failure:function(e){n.unblock()}})},a=0;a<t.length;a++)i(e+"__parallel-"+r.id+"-"+a,a)}))},yn.prototype.stop=function(){this.state=mn[this.state].stop},yn.prototype.start=function(){this.error=!1,this.state=mn[this.state].start,this.state===dn&&(this.start=new Date,this.run(this),vn(this,0))},yn.prototype.block=function(e){e=void 0===e?1:e,this.blocks+=e,this.blocks>0&&(this.state=mn[this.state].block)},yn.prototype.unblock=function(e){return e=void 0===e?1:e,this.blocks-=e,0===this.blocks&&this.state!==hn&&(this.state=dn,vn(this,0)),this.blocks},yn.prototype.sleep=function(e){e=void 0===e?0:e,this.state=mn[this.state].sleep;var t=this;this.timeoutId=setTimeout((function(){t.timeoutId=null,t.state=dn,vn(t,0)}),e)},yn.prototype.wait=function(e){e.wait(this)},yn.prototype.wakeup=function(){this.state===pn&&(cancelTimeout(this.timeoutId),this.timeoutId=null,this.state=dn,vn(this,0))},yn.prototype.cancel=function(){this.state=mn[this.state].cancel,this.permitsNeeded=0,null!==this.timeoutId&&(cancelTimeout(this.timeoutId),this.timeoutId=null),this.subtasks=[]},yn.prototype.fail=function(e){if(this.error=!0,bn(this,!0),e)e.error=this.error,e.swapTime=this.swapTime,e.userData=this.userData,vn(e,0);else{if(null!==this.parent){for(var t=this.parent;null!==t.parent;)t.error=this.error,t.swapTime=this.swapTime,t.userData=this.userData,t=t.parent;bn(t,!0)}this.failureCallback&&this.failureCallback(this)}};var vn=function(e,t){var r=t>30||+new Date-e.swapTime>20,n=function(t){if(t++,e.state===dn)if(r&&(e.swapTime=+new Date),e.subtasks.length>0){var n=e.subtasks.shift();n.error=e.error,n.swapTime=e.swapTime,n.userData=e.userData,n.run(n),n.error||vn(n,t)}else bn(e),e.error||null!==e.parent&&(e.parent.error=e.error,e.parent.swapTime=e.swapTime,e.parent.userData=e.userData,vn(e.parent,t))};r?setTimeout(n,0):n(t)},bn=function(e,t){e.state=hn,delete sn[e.id],null===e.parent&&(e.type in un?0===un[e.type].length?F.log.error(on,"[%s][%s] task queue empty [%s]",e.id,e.name,e.type):un[e.type][0]!==e?F.log.error(on,"[%s][%s] task not first in queue [%s]",e.id,e.name,e.type):(un[e.type].shift(),0===un[e.type].length?delete un[e.type]:un[e.type][0].start()):F.log.error(on,"[%s][%s] task queue missing [%s]",e.id,e.name,e.type),t||(e.error&&e.failureCallback?e.failureCallback(e):!e.error&&e.successCallback&&e.successCallback(e)))};F.task=F.task||{},F.task.start=function(e){var t=new yn({run:e.run,name:e.name||"?"});t.type=e.type,t.successCallback=e.success||null,t.failureCallback=e.failure||null,t.type in un?un[e.type].push(t):(un[t.type]=[t],function(e){e.error=!1,e.state=mn[e.state].start,setTimeout((function(){e.state===dn&&(e.swapTime=+new Date,e.run(e),vn(e,0))}),0)}(t))},F.task.cancel=function(e){e in un&&(un[e]=[un[e][0]])},F.task.createCondition=function(){var e={tasks:{},wait:function(t){t.id in e.tasks||(t.block(),e.tasks[t.id]=t)},notify:function(){var t=e.tasks;for(var r in e.tasks={},t)t[r].unblock()}};return e};var Cn=F,wn=function(){function e(e){this.secretKey=e}return e.prototype.encrypt=function(e,t){throw new Error("Method not implemented.")},e.prototype.decrypt=function(e,t){return function(e,t,r){void 0===r&&(r=Cn.util.createBuffer(Uint8Array.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]).buffer));var n,i,a=Cn.cipher.createDecipher("AES-CBC",t);return a.start({iv:r}),a.update(Cn.util.createBuffer(Cn.util.hexToBytes(e))),i=(n=a.output.data).charCodeAt(n.length-1),n.slice(0,-i)}(e,(r=this.secretKey,n=t.transactionID,""+r.slice(0,16)+n.slice(0,16)));var r,n},e}(),En=function(){function e(e,t,n,i){void 0===n&&(n="production"),void 0===i&&(i={supportTransaction:!1,enableEncryption:!1}),this.transactionEnabled=i.supportTransaction||!1,this.encryptionEnabled=i.enableEncryption||!1;var a=D(e,t,n,{headers:i.httpHeaders});this.transactionManager=new j(a),this.encryptionService=new wn(t),this.compareFaceService=new d(a),this.clientSettingsService=new f(a),this.convertPDFService=new v(a),this.ekycPDFService=new b(a),this.readIDCardService=new r(a),this.requestVerifyIDCardService=new h(a),this.requestVerifyPortraitSerivce=new g(a),this.imagesService=new u(a),this.fileService=new l(a),this.verifyFaceLivenessService=new p(a),this.searchFaceService=new y(a),this.detectIDTamperingService=new m(a),this.httpClient=a}return e.prototype.enableTransaction=function(){this.transactionEnabled=!0},e.prototype.disableTransaction=function(){this.transactionEnabled=!1},e.prototype.enableEncryption=function(){this.encryptionEnabled=!0},e.prototype.disableEncryption=function(){this.encryptionEnabled=!1},e.prototype.compareFaces=function(e,t){return this.compareFaceService.request(e,t)},e.prototype.clientSettings=function(){return this.clientSettingsService.request()},e.prototype.uploadImage=function(e){return this.imagesService.request(e)},e.prototype.uploadFile=function(e){return this.fileService.uploadFile(e)},e.prototype.convertPDF=function(e,t){return this.convertPDFService.request(e,t)},e.prototype.ekycPDF=function(e,t){return this.ekycPDFService.request(e,t)},e.prototype.readIDCard=function(e,t){return this.readIDCardService.request(e,t)},e.prototype.requestVerifyIDCard=function(e,t){return this.requestVerifyIDCardService.request(e,t)},e.prototype.requestVerifyPortrait=function(e,t){return this.requestVerifyPortraitSerivce.request(e,t)},e.prototype.verifyFaceLiveness=function(e,t){return this.verifyFaceLivenessService.request(e,t)},e.prototype.searchFaces=function(e,t){return this.searchFaceService.request(e,t)},e.prototype.deleteFaces=function(e,t){return this.searchFaceService.deleteFaces(e,t)},e.prototype.indexFaces=function(e,t){return this.searchFaceService.indexFaces(e,t)},e.prototype.downloadFaceImage=function(e){return this.searchFaceService.downloadFaceImage(e)},e.prototype.downloadImage=function(e){return this.imagesService.download(e)},e.prototype.updateMetadata=function(e,t){return this.imagesService.updateMetadata(e,t)},e.prototype.detectIDTampering=function(e,t){return this.detectIDTamperingService.request(e,t)},a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"compareFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"convertPDF",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"readIDCard",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"requestVerifyIDCard",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"requestVerifyPortrait",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"verifyFaceLiveness",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"searchFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"deleteFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"indexFaces",null),a([M({headerIndex:1}),V(),o("design:type",Function),o("design:paramtypes",[Object,Object]),o("design:returntype",Promise)],e.prototype,"detectIDTampering",null),e}();e.ReadIDCard=r,e.UploadImage=u,e.UploadFile=l,e.CompareFaces=d,e.ClientSettings=f,e.VerifyFaceLiveness=p,e.RequestVerifyIDCard=h,e.RequestVerifyPortrait=g,e.DetectIDTampering=m,e.SearchFaces=y,e.ConvertPDF=v,e.EkycPDF=b,e.HttpClient=_,e.MockClient=x,e.TVAuthorizer=O,e.createHelpers=function(e,t,r){void 0===r&&(r="production");var n=new O(e,t),i=function(e){switch(e){case"testing":return"https://tv-testing.trustingsocial.com/api";case"staging":return"https://tv-staging.trustingsocial.com/api";case"production":default:return"https://vn-vision.trustingsocial.com/api"}}(r);return new _({authorizer:n,domain:i})},e.createHttpClient=D,e.SimpleTrustVisionAPI=U,e.default=En,Object.defineProperty(e,"__esModule",{value:!0})}(t,r.default)})));function k$(e){var t=e.className;return oy.createElement("svg",{className:t,width:"320",height:"320",viewBox:"0 0 320 320",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M320 0H0V320H320V0ZM160 296C235.111 296 296 235.111 296 160C296 84.8893 235.111 24 160 24C84.8893 24 24 84.8893 24 160C24 235.111 84.8893 296 160 296Z",fill:"currentColor"}))}function S$(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{x:"0.5",width:"44",height:"44",rx:"8",fill:"url(#paint0_linear_1680_23125)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23125)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C16.9772 12 12.5 16.4772 12.5 22C12.5 27.5228 16.9772 32 22.5 32C28.0228 32 32.5 27.5228 32.5 22C32.5 16.4772 28.0228 12 22.5 12ZM10.5 22C10.5 15.3726 15.8726 10 22.5 10C29.1274 10 34.5 15.3726 34.5 22C34.5 28.6274 29.1274 34 22.5 34C15.8726 34 10.5 28.6274 10.5 22Z",fill:"white"}),oy.createElement("path",{d:"M18.5 19.5C18.5 20.3284 17.8284 21 17 21C16.1716 21 15.5 20.3284 15.5 19.5C15.5 18.6716 16.1716 18 17 18C17.8284 18 18.5 18.6716 18.5 19.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.5 27C12.5 26.4477 12.9477 26 13.5 26H19C19.5523 26 20 26.4477 20 27C20 27.5523 19.5523 28 19 28H13.5C12.9477 28 12.5 27.5523 12.5 27Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23125",x1:"22.5",y1:"0",x2:"22.5",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23125"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"translate(10.5 10)"}))))}function B$(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{width:"44",height:"44",rx:"8",transform:"matrix(-1 0 0 1 44.5 0)",fill:"url(#paint0_linear_1680_23314)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23314)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C28.0228 12 32.5 16.4772 32.5 22C32.5 27.5228 28.0228 32 22.5 32C16.9772 32 12.5 27.5228 12.5 22C12.5 16.4772 16.9772 12 22.5 12ZM34.5 22C34.5 15.3726 29.1274 10 22.5 10C15.8726 10 10.5 15.3726 10.5 22C10.5 28.6274 15.8726 34 22.5 34C29.1274 34 34.5 28.6274 34.5 22Z",fill:"white"}),oy.createElement("path",{d:"M26.5 19.5C26.5 20.3284 27.1716 21 28 21C28.8284 21 29.5 20.3284 29.5 19.5C29.5 18.6716 28.8284 18 28 18C27.1716 18 26.5 18.6716 26.5 19.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M32.5 27C32.5 26.4477 32.0523 26 31.5 26H26C25.4477 26 25 26.4477 25 27C25 27.5523 25.4477 28 26 28H31.5C32.0523 28 32.5 27.5523 32.5 27Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23314",x1:"22",y1:"0",x2:"22",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23314"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"matrix(-1 0 0 1 34.5 10)"}))))}function T$(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{x:"0.5",width:"44",height:"44",rx:"8",fill:"url(#paint0_linear_1680_23117)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23117)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C28.0228 12 32.5 16.4772 32.5 22C32.5 27.5228 28.0228 32 22.5 32C16.9772 32 12.5 27.5228 12.5 22C12.5 16.4772 16.9772 12 22.5 12ZM34.5 22C34.5 15.3726 29.1274 10 22.5 10C15.8726 10 10.5 15.3726 10.5 22C10.5 28.6274 15.8726 34 22.5 34C29.1274 34 34.5 28.6274 34.5 22Z",fill:"white"}),oy.createElement("path",{d:"M25.5 16.5C25.5 17.3284 26.1716 18 27 18C27.8284 18 28.5 17.3284 28.5 16.5C28.5 15.6716 27.8284 15 27 15C26.1716 15 25.5 15.6716 25.5 16.5Z",fill:"white"}),oy.createElement("path",{d:"M16.5 16.5C16.5 17.3284 17.1716 18 18 18C18.8284 18 19.5 17.3284 19.5 16.5C19.5 15.6716 18.8284 15 18 15C17.1716 15 16.5 15.6716 16.5 16.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M26.5 22C26.5 21.4477 26.0224 21 25.4333 21H19.5667C18.9776 21 18.5 21.4477 18.5 22C18.5 22.5523 18.9776 23 19.5667 23H25.4333C26.0224 23 26.5 22.5523 26.5 22Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23117",x1:"22.5",y1:"0",x2:"22.5",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23117"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"matrix(-1 0 0 1 34.5 10)"}))))}function A$(e){var t=e.isActive;return oy.createElement("svg",{width:"45",height:"44",viewBox:"0 0 45 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oy.createElement("g",{opacity:t?1:.3},oy.createElement("rect",{x:"0.5",width:"44",height:"44",rx:"8",fill:"url(#paint0_linear_1680_23140)"}),oy.createElement("g",{clipPath:"url(#clip0_1680_23140)"},oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 12C28.0228 12 32.5 16.4772 32.5 22C32.5 27.5228 28.0228 32 22.5 32C16.9772 32 12.5 27.5228 12.5 22C12.5 16.4772 16.9772 12 22.5 12ZM34.5 22C34.5 15.3726 29.1274 10 22.5 10C15.8726 10 10.5 15.3726 10.5 22C10.5 28.6274 15.8726 34 22.5 34C29.1274 34 34.5 28.6274 34.5 22Z",fill:"white"}),oy.createElement("path",{d:"M25.5 18.5C25.5 19.3284 26.1716 20 27 20C27.8284 20 28.5 19.3284 28.5 18.5C28.5 17.6716 27.8284 17 27 17C26.1716 17 25.5 17.6716 25.5 18.5Z",fill:"white"}),oy.createElement("path",{d:"M16.5 18.5C16.5 19.3284 17.1716 20 18 20C18.8284 20 19.5 19.3284 19.5 18.5C19.5 17.6716 18.8284 17 18 17C17.1716 17 16.5 17.6716 16.5 18.5Z",fill:"white"}),oy.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M26.5 26C26.5 25.4477 26.0224 25 25.4333 25H19.5667C18.9776 25 18.5 25.4477 18.5 26C18.5 26.5523 18.9776 27 19.5667 27H25.4333C26.0224 27 26.5 26.5523 26.5 26Z",fill:"white"}))),oy.createElement("defs",null,oy.createElement("linearGradient",{id:"paint0_linear_1680_23140",x1:"22.5",y1:"0",x2:"22.5",y2:"44",gradientUnits:"userSpaceOnUse"},oy.createElement("stop",{stopColor:"#1797FF"}),oy.createElement("stop",{offset:"1",stopColor:"#7DD8FF"})),oy.createElement("clipPath",{id:"clip0_1680_23140"},oy.createElement("rect",{width:"24",height:"24",fill:"white",transform:"matrix(-1 0 0 1 34.5 10)"}))))}k$.propTypes={className:Py.string},k$.defaultProps={className:""},S$.propTypes={isActive:Py.bool},S$.defaultProps={isActive:!0},B$.propTypes={isActive:Py.bool},B$.defaultProps={isActive:!0},T$.propTypes={isActive:Py.bool},T$.defaultProps={isActive:!0},A$.propTypes={isActive:Py.bool},A$.defaultProps={isActive:!0};var I$=FF.Camera,_$=bG.Text,x$=bG.FaceDetectionError,P$=bG.FaceVerificationInstructions,R$=bG.FaceVerificationStepsWrapper,N$=bG.StepItem,O$=bG.BottomButtonsOverlay,L$=bG.Button,D$=bG.CountDownOverlay,U$=bG.CountdownTime,M$=eC(Uj)(u$||(u$=dm(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"]))),V$=eC(k$)(l$||(l$=dm(["\n width: 100%;\n height: 100%;\n vertical-align: middle;\n margin: 0;\n color: ",";\n"])),(function(e){var t=e.color;return null!=t?t:"rgba(0, 0, 0, 0.6)"})),j$=eC(P$)(d$||(d$=dm(["\n font-size: 18px;\n color: #38383d;\n text-shadow: none;\n font-weight: 600;\n"]))),F$=eC(x$)(f$||(f$=dm(["\n color: #ff424e;\n background-color: unset;\n"]))),z$=eC(U$)(p$||(p$=dm(["\n background-color: unset;\n color: #ff424e;\n font-size: 18px;\n"]))),K$=eC(N$)(h$||(h$=dm(["\n /* border-color: #1aa7ff;\n color: #1aa7ff; */\n width: 44px;\n height: 44px;\n opacity: 1;\n img {\n border-radius: 8px;\n width: 44px;\n }\n"]))),q$=eC(L$)(g$||(g$=dm(["\n z-index: ",";\n position: absolute;\n top: 20px;\n left: 20px;\n width: 12px;\n"])),1100),H$=eC(_$)(m$||(m$=dm(["\n position: absolute;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n text-align: center;\n padding: 0 1.75rem;\n color: #38383d;\n\n ","\n"])),(function(e){var t=e.top;return t&&Vb(["top:","px;"],t)})),G$=eC.span(y$||(y$=dm(["\n position: absolute;\n bottom: 5px;\n color: #38383d;\n font-size: 14px;\n z-index: ",";\n"])),1020),Q$=nC(["from{opacity:1;}to{opacity:0;}"]),W$=eC.div(v$||(v$=dm(["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n z-index: -1;\n background: rgba(255, 255, 255, 0.3);\n animation: "," 1s infinite;\n"])),Q$),X$=FG.isMobile?{width:640}:null,Y$={background:"#fff",opacity:1};function $$(e){var t,r,n=e.apiCheck,i=e.mode,a=e.onLivenessDetectionDone,o=e.onClose,s=e.onError,c=e.captureFrameSettings,u=e.onFramesCaptured,l=e.frontCamera,d=e.customStepTimeConstraints,f=e.onProcessing,p=e.customErrors,h=e.customMessages,g=e.livenessSettings,m=e.customInstructions,y=e.apiCredentials,v=e.title,b=e.subInstructions,C=Hk.useAsset("bg_camera_mask.png"),w=Hk.useAsset("bg_camera_mask_red.png"),E=Hk.useAsset("ic_close_black.png"),k=fm(oy.useState({}),2),S=k[0],B=k[1],T=S.yFaceVerificationStepsWrapper,A=fm(oy.useState(""),2),I=A[0],_=A[1],x=fm(oy.useState(!1),2),P=x[0],R=x[1],N=oy.useCallback((function(e){var t=e.lostY,r=e.height,n=t+25,i=n+30;return B({yFaceDetectionError:n,yFaceVerificationStepsWrapper:i+r-45*r/350/2-8}),{y:Math.floor(i)}}),[]),O=vG({apiCheck:n,mode:i,bgCameraMask:C,bgCameraMaskRed:w,surroundStyle:Y$,onLivenessDetectionDone:a,onError:s,cropAreaDimension:N,captureFrameSettings:c,onFramesCaptured:u,livenessSettings:g,setRemainingTime:_,customStepTimeConstraints:d,onProcessing:f,customErrors:p,customMessages:h,customInstructions:m,apiCredentials:y}),L=O.countdownToTakePicture,D=O.cropArea,U=O.curStepIndex,M=O.faceDetectionError,V=O.handleTriggerPassiveMode,j=O.handleVideoPlayed,F=O.instructions,z=O.isActiveMode,K=O.refVideo,q=O.showCountdown,H=O.steps,G=O.videoPlayed,Q=O.isFirstValidFrameFound,W=O.warmupDone,X=O.activeCapturing,Y=oy.useRef(0);if(window.innerHeight-((null===(t=D.current)||void 0===t?void 0:t.y)+(null===(r=D.current)||void 0===r?void 0:r.height))-110<60){var $,Z=window.innerHeight-(null===($=D.current)||void 0===$?void 0:$.y)-170;Y.current=(D.current.height-Z)/2,D.current.width=Z,D.current.height=Z}oy.useEffect((function(){Promise.all(H.map((function(e){return t=e.directionIcon,new Promise((function(e){var r=new Image;r.onload=e,r.onerror=e,r.src=t}));var t}))).then((function(){return R(!0)}))}),[H]);var J=oy.useRef(!1);oy.useEffect((function(){Q||(J.current=!1)}),[Q]),M&&M.code.includes("terminated")&&(J.current=!0);var ee=oy.useCallback((function(e,t){switch(e){case"left":return oy.createElement(S$,{isActive:t});case"right":return oy.createElement(B$,{isActive:t});case"up":return oy.createElement(T$,{isActive:t});case"frontal":return oy.createElement(A$,{isActive:t});default:return null}}),[]);return oy.createElement(gU,{frontCamera:l,onVideoPlayed:j,flipHorizontal:l,ref:K,videoSettings:X$,onError:s,onClose:o,closeButton:oy.createElement(q$,null,oy.createElement("img",{src:E,alt:""}))},!W&&oy.createElement(gF,null),G&&P?oy.createElement(oy.Fragment,null,oy.createElement(H$,{top:20},"".concat(v)),oy.createElement(F$,{top:T-Y.current,className:"face-detection-error",error:M}),I&&oy.createElement(z$,{top:D.current.y-15},I),D.current?oy.createElement(wU,{x:"".concat(D.current.x+Y.current,"px"),y:"".concat(D.current.y,"px"),width:"".concat(D.current.width,"px"),height:"".concat(D.current.height,"px"),surroundStyle:D.current.surroundStyle},oy.createElement(V$,{color:"#fff"}),oy.createElement(M$,{progress:U/H.length*100,hasError:!!M,showDashedRing:!1,showOutsideRing:!1,insideRingWidth:5,errorRingWidth:0,insideRingStrokeDash:"none",insideRingColor:"#1AA7FF"}),q?oy.createElement(D$,null,L):null,z&&X?oy.createElement(W$,null):null):null,z?oy.createElement(oy.Fragment,null,Q&&!J.current&&oy.createElement(R$,{bottom:60},H.map((function(e,t){var r=e.name,n=e.image.objUrl;return oy.createElement(K$,{key:r,className:"step-item"},n?oy.createElement("img",{src:n,alt:""}):ee(e.name,U>=t))}))),F?oy.createElement(oy.Fragment,null,oy.createElement(j$,{bottom:30,className:"instructions"},"".concat(F)),oy.createElement(G$,null,b)):null):oy.createElement(oy.Fragment,null,M?null:oy.createElement(O$,null,oy.createElement(L$,{onClick:V},oy.createElement(I$,null))))):null)}function Z$(e){return oy.createElement(WF,im({},e,{livenessComponent:$$}))}$$.propTypes={apiCheck:Py.bool,mode:Py.string,onLivenessDetectionDone:Py.func,onClose:Py.func,onError:Py.func,captureFrameSettings:Py.shape({}),onFramesCaptured:Py.func,frontCamera:Py.bool,customStepTimeConstraints:Py.shape({}),onProcessing:Py.func,customErrors:Py.shape({}),customMessages:Py.shape({}),livenessSettings:Py.shape({}),customInstructions:Py.shape({}),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string}),title:Py.string,subInstructions:Py.string},$$.defaultProps={apiCheck:!1,mode:null,onLivenessDetectionDone:null,onClose:null,onError:function(){},captureFrameSettings:{enable:!1,framesIntervalTime:180,framesBatchLength:0},onFramesCaptured:function(){},frontCamera:!0,customStepTimeConstraints:(b$={},nm(b$,oC.FaceDirection.UP,{delayTime:0}),nm(b$,oC.FaceDirection.LEFT,{delayTime:0}),nm(b$,oC.FaceDirection.RIGHT,{delayTime:0}),nm(b$,oC.FaceDirection.FRONTAL,{delayTime:2e3}),b$),onProcessing:function(){},customErrors:{no_face:{code:"no_face",msg:{en:"Face is not detected.",vi:"Không nhận diện được khuôn mặt."}},multiple_faces:{code:"multiple_faces",msg:{en:"There are more than one face in the frame",vi:"Nhiều khuôn mặt xuất hiện trong khung hình"}},face_too_small:{code:"face_too_small",msg:{en:"The face is too small",vi:"Khuôn mặt quá nhỏ"}},face_too_large:{code:"face_too_large",msg:{en:"The face is too big",vi:"Khuôn mặt quá lớn"}},face_out_of_box:{code:"face_out_of_box",msg:{en:"Face is out of box",vi:"Khuôn mặt nằm ngoài khung ảnh"}},liveness_terminated_time_out:{code:"liveness_terminated_time_out",msg:{en:"The face verification need to be completed in <%= x %> seconds.\nPlease try again.",vi:"Xác thực khuôn mặt cần thực hiện trong <%= x %> giây.\nVui lòng thử lại."}}},customMessages:{REMAIN_TIME:{en:"Remaining time: <%= x %> seconds",vi:"Thời gian còn lại: <%= x %>"}},customInstructions:(C$={},nm(C$,oC.FaceDirection.LEFT,{en:"Please turn to the left",vi:"Xoay trái"}),nm(C$,oC.FaceDirection.RIGHT,{en:"Please turn to the right",vi:"Xoay phải"}),nm(C$,oC.FaceDirection.UP,{en:"Please look up",vi:"Ngẩng lên"}),nm(C$,oC.FaceDirection.FRONTAL,{en:"Please look straight to camera",vi:"Nhìn thẳng"}),C$),livenessSettings:null,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"},title:"Chụp khuôn mặt",subInstructions:"Xin giữ khuôn mặt nằm trong khung ảnh"};var J$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,eZ=/^\w*$/;var tZ=function(e,t){if(HQ(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!RW(e))||(eZ.test(e)||!J$.test(e)||null!=t&&e in Object(t))},rZ=mQ(Object,"create");var nZ=function(){this.__data__=rZ?rZ(null):{},this.size=0};var iZ=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},aZ=Object.prototype.hasOwnProperty;var oZ=function(e){var t=this.__data__;if(rZ){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return aZ.call(t,e)?t[e]:void 0},sZ=Object.prototype.hasOwnProperty;var cZ=function(e){var t=this.__data__;return rZ?void 0!==t[e]:sZ.call(t,e)};var uZ=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=rZ&&void 0===t?"__lodash_hash_undefined__":t,this};function lZ(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}lZ.prototype.clear=nZ,lZ.prototype.delete=iZ,lZ.prototype.get=oZ,lZ.prototype.has=cZ,lZ.prototype.set=uZ;var dZ=lZ;var fZ=function(){this.__data__=[],this.size=0};var pZ=function(e,t){for(var r=e.length;r--;)if(bQ(e[r][0],t))return r;return-1},hZ=Array.prototype.splice;var gZ=function(e){var t=this.__data__,r=pZ(t,e);return!(r<0)&&(r==t.length-1?t.pop():hZ.call(t,r,1),--this.size,!0)};var mZ=function(e){var t=this.__data__,r=pZ(t,e);return r<0?void 0:t[r][1]};var yZ=function(e){return pZ(this.__data__,e)>-1};var vZ=function(e,t){var r=this.__data__,n=pZ(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function bZ(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}bZ.prototype.clear=fZ,bZ.prototype.delete=gZ,bZ.prototype.get=mZ,bZ.prototype.has=yZ,bZ.prototype.set=vZ;var CZ=bZ,wZ=mQ(qG,"Map");var EZ=function(){this.size=0,this.__data__={hash:new dZ,map:new(wZ||CZ),string:new dZ}};var kZ=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var SZ=function(e,t){var r=e.__data__;return kZ(t)?r["string"==typeof t?"string":"hash"]:r.map};var BZ=function(e){var t=SZ(this,e).delete(e);return this.size-=t?1:0,t};var TZ=function(e){return SZ(this,e).get(e)};var AZ=function(e){return SZ(this,e).has(e)};var IZ=function(e,t){var r=SZ(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function _Z(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}_Z.prototype.clear=EZ,_Z.prototype.delete=BZ,_Z.prototype.get=TZ,_Z.prototype.has=AZ,_Z.prototype.set=IZ;var xZ=_Z;function PZ(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(PZ.Cache||xZ),r}PZ.Cache=xZ;var RZ=PZ;var NZ=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,OZ=/\\(\\)?/g,LZ=function(e){var t=RZ(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(NZ,(function(e,r,n,i){t.push(n?i.replace(OZ,"$1"):r||e)})),t}));var DZ=function(e,t){return HQ(e)?e:tZ(e,t)?[e]:LZ(DW(e))};var UZ=function(e){if("string"==typeof e||RW(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};var MZ=function(e,t){for(var r=0,n=(t=DZ(t,e)).length;null!=e&&r<n;)e=e[UZ(t[r++])];return r&&r==n?e:void 0};var VZ=function(e,t,r){var n=null==e?void 0:MZ(e,t);return void 0===n?r:n},jZ=["tracking","clientSettings"];function FZ(e){var t=e.tracking,r=e.clientSettings,n=lm(e,jZ),i=oy.useMemo((function(){return VZ(r,"data.settings.sdk_settings.server_log_settings.enable",null==t?void 0:t.enable)}),[r,t]);return oy.createElement(zk.SDKTrackingProvider,{value:{tracking:om(om({},t),{},{enable:i})}},oy.createElement(c$,im({},n,{clientSettings:r})))}FZ.propTypes={tracking:Py.shape({}),clientSettings:Py.shape({})},FZ.defaultProps={tracking:void 0,clientSettings:void 0};var zZ=oC.Errors,KZ=function(e){var t=e.onClose,r=e.onError,n=e.detectIdCard,i=e.steps,a=e.onStepDone,o=e.apiCredentials,s=e.tracking,c=fm(oy.useState(null),2),u=c[0],l=c[1],d=YB.useApiClient({apiCredentials:o,tracking:s}).apiClient,f=oy.useRef(""),p=oy.useRef("");oy.useEffect((function(){function e(){return(e=Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.clientSettings();case 2:t=e.sent,l(t);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[d]);var h=oy.useCallback(function(){var e=Jg(regeneratorRuntime.mark((function e(t){var n,o,s,c,u,l,h,g;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.stepNumber,o=t.recordedVideos,s=t.qrScannedResult,c=t.image,u=i[n],l=u.cardType,h=u.cardSide,g=null,e.prev=3,e.next=6,lG({image:c,cardSide:h,frontCardId:f.current,qrImageId:p.current,onError:r,apiClient:d,cardType:l,recordedVideos:o,qrScannedResult:s});case 6:g=e.sent,h===oC.IDCardSide.FRONT&&(f.current=g.cardInfo.image1.id),p.current=g.qrImageId,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(3),r(om(om({},zZ.api_call_error),{},{details:e.t0}));case 14:g&&a(om(om({},t),{},{apiResult:g}));case 15:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t){return e.apply(this,arguments)}}(),[d,r,i,a]);return u&&oy.createElement(FZ,{tracking:s,onClose:t,onError:r,clientSettings:u,detectIdCard:n,onStepDone:h,steps:i})};KZ.propTypes={onClose:Py.func,onError:Py.func,detectIdCard:Py.func,onStepDone:Py.func,steps:Py.arrayOf(Py.shape({})),apiCredentials:Py.shape({accessKey:Py.string,secretKey:Py.string,apiUrl:Py.string}),tracking:Py.shape({})},KZ.defaultProps={onClose:function(){},onError:function(){},detectIdCard:function(){return Promise.resolve({card_label:""})},onStepDone:function(){},steps:s$,apiCredentials:{accessKey:"5767c20d-87aa-4cad-8dbb-f5429f76c34b",secretKey:"c1446919-e60a-4575-a05d-304318212a1b",apiUrl:"https://tv-testing.trustingsocial.com/api"},tracking:void 0};var qZ=["apiCheck","mode","accessKey","secretKey","apiUrl","onLivenessDetectionDone","onError"],HZ=kk.getUAMetadata(),GZ=function(){function e(t){var r=this,n=t.container,i=t.lang,a=void 0===i?"en":i,o=t.assetRoot,s=void 0===o?"https://unpkg.com/@tsocial/tvweb-sdk@latest/assets":o,c=t.resourceRoot,u=t.customUrls,l=void 0===u?{}:u,d=t.enableAntiDebug,f=void 0===d||d;em(this,e),nm(this,"checkCamera",UF),nm(this,"initNativeCamera",(function(e){var t=document.createElement("div");document.body.appendChild(t);var r=oy.createRef();return yD.render(oy.createElement(VF,im({},e,{ref:r})),t),{openCamera:function(){r.current.click()}}})),nm(this,"runWarmUpReadIDCard",Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.commonSettings.customUrls,e.abrupt("return",zK(t));case 2:case"end":return e.stop()}}),e)})))),nm(this,"runPreloadEKYCResources",Jg(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=r.commonSettings.customUrls,mG(t);case 2:case"end":return e.stop()}}),e)})))),nm(this,"destroyView",(function(){yD.unmountComponentAtNode(r.container)})),w$(n,"container is a required parameter"),this.container=n;var p=ak({resourceRoot:c,initCustomUrls:l});this.commonSettings={lang:a,assetRoot:s,customUrls:p,enableAntiDebug:f,debug:!1}}return rm(e,[{key:"readIDCardWithApiCall",value:function(e){yD.render(oy.createElement(lk.SDKSettingsProvider,{value:om({},this.commonSettings)},oy.createElement(KZ,im({onClose:this.destroyView},e))),this.container)}},{key:"readIDCardUIOnly",value:function(e){yD.render(oy.createElement(lk.SDKSettingsProvider,{value:this.commonSettings},oy.createElement(FZ,im({onClose:this.destroyView},e))),this.container)}},{key:"livenessDetection",value:function(e){var t=e.apiCheck,r=e.mode,n=(e.accessKey,e.secretKey,e.apiUrl,e.onLivenessDetectionDone),i=e.onError,a=lm(e,qZ);yD.render(oy.createElement(lk.SDKSettingsProvider,{value:om({},this.commonSettings)},oy.createElement(Z$,im({},a,{apiCheck:t,mode:r,onLivenessDetectionDone:n,onClose:this.destroyView,onError:i}))),this.container)}},{key:"compareFaces",value:function(e){var t=e.accessKey,r=e.secretKey,n=e.apiUrl,i=e.image1,a=e.image2,o=e.onSuccess,s=e.onError;YB.createRetryAPIClient(new E$(t,r,n,{httpHeaders:HZ})).compareFaces({image1:{id:i},image2:{id:a}}).then((function(e){o(e)})).catch((function(e){s(e)}))}}]),e}();exports.APIUtils=YB,exports.Animations=Gz,exports.AntiDebugUtils=bT,exports.AssetUtils=Hk,exports.AsyncUtils=Qk,exports.BASE_Z_INDEX=1e3,exports.BlurUtils=yS,exports.Button=fq,exports.ButtonLink=pq,exports.Camera=gU,exports.CameraUtils=bS,exports.CommonUtils=wS,exports.Constants=oC,exports.CoordinateUtils=TS,exports.CropAreaOverlayWrapper=wU,exports.CryptoUtils=ET,exports.FaceUtils=OS,exports.GlareUtils=jB,exports.HashUtils=Nk,exports.HighlightResult=vH,exports.HighlightResultType=dH,exports.Icons=FF,exports.ImageUtils=DB,exports.LivenessDetection=WF,exports.LivenessDetectionComponents=bG,exports.LoadResourceUtils=aT,exports.LocalStorageUtils=_k,exports.MobileDetect=WD,exports.ModelUtils=vT,exports.NativeCamera=VF,exports.PlacementArea=CU,exports.Popup=Yj,exports.PredictionUtils=MS,exports.ProgressCircle=Uj,exports.RatioWrapper=Pq,exports.ReadIDCardUIOnly=$H,exports.ReadIDCardWithApiCall=hG,exports.RectangleMask=pz,exports.RectangleMaskType=fz,exports.SDK=GZ,exports.ScannerType=GH,exports.SettingsContext=lk,exports.Spacing=aq,exports.ThemeUtils=CT,exports.TimeUtils=Tk,exports.TrackingContext=zk,exports.UserAgentUtils=kk,exports.WarmupPopup=gF,exports.checkCamera=UF,exports.defaultClientSettings=jH,exports.defaultReadIDCardSteps=s$,exports.getCustomUrlsBySettings=ak,exports.getQrScannerWorkerPath=kT,exports.handleApiCheckReadIdCard=lG,exports.preloadEKYCResources=mG,exports.readIdCardFromImage=yG,exports.readQRCodeFromImage=nH,exports.useLivenessDetection=vG,exports.useMainProcessQRCodeScanner=iH,exports.useMainProcessReadIdCard=XK,exports.useSettingsReadIdCard=FH,exports.useShowPopup=pK,exports.warmUpQRCodeScanner=Kq,exports.warmUpReadIdCard=zK,exports.warmupSelfieActive=dj;
|