settings-vue-settings-personal-webauthn.js 42 KB

12
  1. (()=>{var e,n,r,i={96846:(e,n,r)=>{"use strict";var i=r(85471),a=r(32981);function o(t){const e=new Uint8Array(t);let n="";for(const t of e)n+=String.fromCharCode(t);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function s(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),n=(4-e.length%4)%4,r=e.padEnd(e.length+n,"="),i=atob(r),a=new ArrayBuffer(i.length),o=new Uint8Array(a);for(let t=0;t<i.length;t++)o[t]=i.charCodeAt(t);return a}function c(){return void 0!==window?.PublicKeyCredential&&"function"==typeof window.PublicKeyCredential}function l(t){const{id:e}=t;return{...t,id:s(e),transports:t.transports}}class u extends Error{constructor({message:t,code:e,cause:n,name:r}){super(t,{cause:n}),this.name=r??n.name,this.code=e}}const d=new class{createNewAbortSignal(){if(this.controller){const t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}},p=["cross-platform","platform"];function h(t){if(t&&!(p.indexOf(t)<0))return t}function f(t,e){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${t}. You should report this error to them.\n`,e)}var v=r(56760),g=r(80910),m=r(10854),y=r.n(m),A=r(85168),b=r(18740),w=r(82182);const _=(0,r(35947).YK)().setApp("settings").detectUser().build();var x=r(53334),R=r(63814),E=r(65043);r(51257);const C=t=>e=>(_.debug(t),e),I=Object.freeze({READY:1,REGISTRATION:2,NAMING:3,PERSIST:4}),W={name:"AddDevice",components:{NcButton:b.A,NcTextField:w.A},props:{httpWarning:Boolean,isHttps:{type:Boolean,default:!1},isLocalhost:{type:Boolean,default:!1}},setup:()=>({RegistrationSteps:I}),data:()=>({name:"",credential:{},step:I.READY}),watch:{step(){this.step===I.NAMING&&this.$nextTick((()=>this.$refs.nameInput?.focus()))}},methods:{async start(){this.step=I.REGISTRATION,console.debug("Starting WebAuthn registration");try{await(0,v.C)(),this.credential=await async function(){const t=(0,R.Jv)("/settings/api/personal/webauthn/registration");try{_.debug("Fetching webauthn registration data");const{data:e}=await E.Ay.get(t);return _.debug("Start webauthn registration"),await async function(t){if(!c())throw new Error("WebAuthn is not supported in this browser");const e={publicKey:{...t,challenge:s(t.challenge),user:{...t.user,id:s(t.user.id)},excludeCredentials:t.excludeCredentials?.map(l)}};let n;e.signal=d.createNewAbortSignal();try{n=await navigator.credentials.create(e)}catch(t){throw function({error:t,options:e}){const{publicKey:n}=e;if(!n)throw Error("options was missing required publicKey property");if("AbortError"===t.name){if(e.signal instanceof AbortSignal)return new u({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:t})}else if("ConstraintError"===t.name){if(!0===n.authenticatorSelection?.requireResidentKey)return new u({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:t});if("required"===n.authenticatorSelection?.userVerification)return new u({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:t})}else{if("InvalidStateError"===t.name)return new u({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:t});if("NotAllowedError"===t.name)return new u({message:t.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t});if("NotSupportedError"===t.name)return 0===n.pubKeyCredParams.filter((t=>"public-key"===t.type)).length?new u({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:t}):new u({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:t});if("SecurityError"===t.name){const e=window.location.hostname;if("localhost"!==(r=e)&&!/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(r))return new u({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:t});if(n.rp.id!==e)return new u({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:t})}else if("TypeError"===t.name){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new u({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:t})}else if("UnknownError"===t.name)return new u({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:t})}var r;return t}({error:t,options:e})}if(!n)throw new Error("Registration was not completed");const{id:r,rawId:i,response:a,type:p}=n;let v,g,m,y;if("function"==typeof a.getTransports&&(v=a.getTransports()),"function"==typeof a.getPublicKeyAlgorithm)try{g=a.getPublicKeyAlgorithm()}catch(t){f("getPublicKeyAlgorithm()",t)}if("function"==typeof a.getPublicKey)try{const t=a.getPublicKey();null!==t&&(m=o(t))}catch(t){f("getPublicKey()",t)}if("function"==typeof a.getAuthenticatorData)try{y=o(a.getAuthenticatorData())}catch(t){f("getAuthenticatorData()",t)}return{id:r,rawId:o(i),response:{attestationObject:o(a.attestationObject),clientDataJSON:o(a.clientDataJSON),transports:v,publicKeyAlgorithm:g,publicKey:m,authenticatorData:y},type:p,clientExtensionResults:n.getClientExtensionResults(),authenticatorAttachment:h(n.authenticatorAttachment)}}(e)}catch(t){if(_.error(t),(0,E.F0)(t))throw new Error((0,x.Tl)("settings","Could not register device: Network error"));if("InvalidStateError"===t.name)throw new Error((0,x.Tl)("settings","Could not register device: Probably already registered"));throw new Error((0,x.Tl)("settings","Could not register device"))}}(),this.step=I.NAMING}catch(t){(0,A.Qg)(t),this.step=I.READY}},submit(){return this.step=I.PERSIST,(0,v.C)().then(C("confirmed password")).then(this.saveRegistrationData).then(C("registration data saved")).then((()=>this.reset())).then(C("app reset")).catch(console.error)},async saveRegistrationData(){try{const t=await async function(t,e){const n=(0,R.Jv)("/settings/api/personal/webauthn/registration");return(await E.Ay.post(n,{name:t,data:JSON.stringify(e)})).data}(this.name,this.credential);_.info("new device added",{device:t}),this.$emit("added",t)}catch(e){throw _.error("Error persisting webauthn registration",{error:e}),new Error(t("settings","Server error while trying to complete WebAuthn device registration"))}},reset(){this.name="",this.registrationData={},this.step=I.READY}}};var O=r(85072),S=r.n(O),N=r(97825),D=r.n(N),T=r(77659),k=r.n(T),P=r(55056),B=r.n(P),L=r(10540),M=r.n(L),j=r(41113),F=r.n(j),q=r(82720),K={};K.styleTagTransform=F(),K.setAttributes=B(),K.insert=k().bind(null,"head"),K.domAPI=D(),K.insertStyleElement=M(),S()(q.A,K),q.A&&q.A.locals&&q.A.locals;var U=r(14486);const z=(0,U.A)(W,(function(){var t=this,e=t._self._c;return t.isHttps||t.isLocalhost?e("div",[t.step===t.RegistrationSteps.READY?e("NcButton",{attrs:{type:"primary"},on:{click:t.start}},[t._v("\n\t\t"+t._s(t.t("settings","Add WebAuthn device"))+"\n\t")]):t.step===t.RegistrationSteps.REGISTRATION?e("div",{staticClass:"new-webauthn-device"},[e("span",{staticClass:"icon-loading-small webauthn-loading"}),t._v("\n\t\t"+t._s(t.t("settings","Please authorize your WebAuthn device."))+"\n\t")]):t.step===t.RegistrationSteps.NAMING?e("div",{staticClass:"new-webauthn-device"},[e("span",{staticClass:"icon-loading-small webauthn-loading"}),t._v(" "),e("form",{on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("NcTextField",{ref:"nameInput",staticClass:"new-webauthn-device__name",attrs:{label:t.t("settings","Device name"),value:t.name,"show-trailing-button":"","trailing-button-label":t.t("settings","Add"),"trailing-button-icon":"arrowRight"},on:{"update:value":function(e){t.name=e},"trailing-button-click":t.submit}})],1)]):t.step===t.RegistrationSteps.PERSIST?e("div",{staticClass:"new-webauthn-device"},[e("span",{staticClass:"icon-loading-small webauthn-loading"}),t._v("\n\t\t"+t._s(t.t("settings","Adding your device …"))+"\n\t")]):e("div",[t._v("\n\t\tInvalid registration step. This should not have happened.\n\t")])],1):e("div",[t._v("\n\t"+t._s(t.t("settings","Passwordless authentication requires a secure connection."))+"\n")])}),[],!1,null,"c0c703c4",null).exports;var G=r(24764);const $={name:"Device",components:{NcActionButton:r(89257).A,NcActions:G.A},props:{name:{type:String,required:!0}}};var H=r(42328),Y={};Y.styleTagTransform=F(),Y.setAttributes=B(),Y.insert=k().bind(null,"head"),Y.domAPI=D(),Y.insertStyleElement=M(),S()(H.A,Y),H.A&&H.A.locals&&H.A.locals;const V=(0,U.A)($,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"webauthn-device"},[e("span",{staticClass:"icon-webauthn-device"}),t._v("\n\t"+t._s(t.name||t.t("settings","Unnamed device"))+"\n\t"),e("NcActions",{attrs:{"force-menu":!0}},[e("NcActionButton",{attrs:{icon:"icon-delete"},on:{click:function(e){return t.$emit("delete")}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Delete"))+"\n\t\t")])],1)],1)}),[],!1,null,"60aaa94c",null).exports,J=y()("name"),X={components:{AddDevice:z,Device:V,NcNoteCard:g.A},props:{initialDevices:{type:Array,required:!0},isHttps:{type:Boolean,default:!1},isLocalhost:{type:Boolean,default:!1}},setup:()=>({supportsWebauthn:c()}),data(){return{devices:this.initialDevices}},computed:{sortedDevices(){return J(this.devices)}},methods:{deviceAdded(t){_.debug(`adding new device to the list ${t.id}`),this.devices.push(t)},async deleteDevice(t){_.info(`deleting webauthn device ${t}`),await(0,v.C)(),await async function(t){const e=(0,R.Jv)(`/settings/api/personal/webauthn/registration/${t}`);await E.Ay.delete(e)}(t),this.devices=this.devices.filter((e=>e.id!==t)),_.info(`webauthn device ${t} removed successfully`)}}};var Q=r(8327),Z={};Z.styleTagTransform=F(),Z.setAttributes=B(),Z.insert=k().bind(null,"head"),Z.domAPI=D(),Z.insertStyleElement=M(),S()(Q.A,Z),Q.A&&Q.A.locals&&Q.A.locals;const tt=(0,U.A)(X,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"section",attrs:{id:"security-webauthn"}},[e("h2",[t._v(t._s(t.t("settings","Passwordless Authentication")))]),t._v(" "),e("p",{staticClass:"settings-hint hidden-when-empty"},[t._v("\n\t\t"+t._s(t.t("settings","Set up your account for passwordless authentication following the FIDO2 standard."))+"\n\t")]),t._v(" "),0===t.devices.length?e("NcNoteCard",{attrs:{type:"info"}},[t._v("\n\t\t"+t._s(t.t("settings","No devices configured."))+"\n\t")]):e("h3",{attrs:{id:"security-webauthn__active-devices"}},[t._v("\n\t\t"+t._s(t.t("settings","The following devices are configured for your account:"))+"\n\t")]),t._v(" "),e("ul",{staticClass:"security-webauthn__device-list",attrs:{"aria-labelledby":"security-webauthn__active-devices"}},t._l(t.sortedDevices,(function(n){return e("Device",{key:n.id,attrs:{name:n.name},on:{delete:function(e){return t.deleteDevice(n.id)}}})})),1),t._v(" "),t.supportsWebauthn?t._e():e("NcNoteCard",{attrs:{type:"warning"}},[t._v("\n\t\t"+t._s(t.t("settings","Your browser does not support WebAuthn."))+"\n\t")]),t._v(" "),t.supportsWebauthn?e("AddDevice",{attrs:{"is-https":t.isHttps,"is-localhost":t.isLocalhost},on:{added:t.deviceAdded}}):t._e()],1)}),[],!1,null,"e3727450",null).exports;r.nc=btoa(OC.requestToken),i.Ay.prototype.t=t,new(i.Ay.extend(tt))({propsData:{initialDevices:(0,a.C)("settings","webauthn-devices"),isHttps:"https:"===window.location.protocol,isLocalhost:"localhost"===window.location.hostname}}).$mount("#security-webauthn")},82720:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(71354),i=n.n(r),a=n(76314),o=n.n(a)()(i());o.push([t.id,".webauthn-loading[data-v-c0c703c4]{display:inline-block;vertical-align:sub;margin-inline:2px}.new-webauthn-device[data-v-c0c703c4]{display:flex;gap:22px;align-items:center}.new-webauthn-device__name[data-v-c0c703c4]{max-width:min(100vw,400px)}","",{version:3,sources:["webpack://./apps/settings/src/components/WebAuthn/AddDevice.vue"],names:[],mappings:"AACA,mCACC,oBAAA,CACA,kBAAA,CACA,iBAAA,CAGD,sCACC,YAAA,CACA,QAAA,CACA,kBAAA,CAEA,4CACC,0BAAA",sourceRoot:""}]);const s=o},42328:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(71354),i=n.n(r),a=n(76314),o=n.n(a)()(i());o.push([t.id,"\n.webauthn-device[data-v-60aaa94c] {\n\tline-height: 300%;\n\tdisplay: flex;\n}\n.icon-webauthn-device[data-v-60aaa94c] {\n\tdisplay: inline-block;\n\tbackground-size: 100%;\n\tpadding: 3px;\n\tmargin: 3px;\n}\n","",{version:3,sources:["webpack://./apps/settings/src/components/WebAuthn/Device.vue"],names:[],mappings:";AAkDA;CACA,iBAAA;CACA,aAAA;AACA;AAEA;CACA,qBAAA;CACA,qBAAA;CACA,YAAA;CACA,WAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n<template>\n\t<li class=\"webauthn-device\">\n\t\t<span class=\"icon-webauthn-device\" />\n\t\t{{ name || t('settings', 'Unnamed device') }}\n\t\t<NcActions :force-menu=\"true\">\n\t\t\t<NcActionButton icon=\"icon-delete\" @click=\"$emit('delete')\">\n\t\t\t\t{{ t('settings', 'Delete') }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</li>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\n\nexport default {\n\tname: 'Device',\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActions,\n\t},\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n\t.webauthn-device {\n\t\tline-height: 300%;\n\t\tdisplay: flex;\n\t}\n\n\t.icon-webauthn-device {\n\t\tdisplay: inline-block;\n\t\tbackground-size: 100%;\n\t\tpadding: 3px;\n\t\tmargin: 3px;\n\t}\n</style>\n"],sourceRoot:""}]);const s=o},8327:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(71354),i=n.n(r),a=n(76314),o=n.n(a)()(i());o.push([t.id,"\n.security-webauthn__device-list[data-v-e3727450] {\n\tmargin-block: 12px 18px;\n}\n","",{version:3,sources:["webpack://./apps/settings/src/components/WebAuthn/Section.vue"],names:[],mappings:";AA8GA;CACA,uBAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n<template>\n\t<div id=\"security-webauthn\" class=\"section\">\n\t\t<h2>{{ t('settings', 'Passwordless Authentication') }}</h2>\n\t\t<p class=\"settings-hint hidden-when-empty\">\n\t\t\t{{ t('settings', 'Set up your account for passwordless authentication following the FIDO2 standard.') }}\n\t\t</p>\n\t\t<NcNoteCard v-if=\"devices.length === 0\" type=\"info\">\n\t\t\t{{ t('settings', 'No devices configured.') }}\n\t\t</NcNoteCard>\n\n\t\t<h3 v-else id=\"security-webauthn__active-devices\">\n\t\t\t{{ t('settings', 'The following devices are configured for your account:') }}\n\t\t</h3>\n\t\t<ul aria-labelledby=\"security-webauthn__active-devices\" class=\"security-webauthn__device-list\">\n\t\t\t<Device v-for=\"device in sortedDevices\"\n\t\t\t\t:key=\"device.id\"\n\t\t\t\t:name=\"device.name\"\n\t\t\t\t@delete=\"deleteDevice(device.id)\" />\n\t\t</ul>\n\n\t\t<NcNoteCard v-if=\"!supportsWebauthn\" type=\"warning\">\n\t\t\t{{ t('settings', 'Your browser does not support WebAuthn.') }}\n\t\t</NcNoteCard>\n\n\t\t<AddDevice v-if=\"supportsWebauthn\"\n\t\t\t:is-https=\"isHttps\"\n\t\t\t:is-localhost=\"isLocalhost\"\n\t\t\t@added=\"deviceAdded\" />\n\t</div>\n</template>\n\n<script>\nimport { browserSupportsWebAuthn } from '@simplewebauthn/browser'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\nimport sortBy from 'lodash/fp/sortBy.js'\n\nimport AddDevice from './AddDevice.vue'\nimport Device from './Device.vue'\nimport logger from '../../logger.ts'\nimport { removeRegistration } from '../../service/WebAuthnRegistrationSerice.js'\n\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sortByName = sortBy('name')\n\nexport default {\n\tcomponents: {\n\t\tAddDevice,\n\t\tDevice,\n\t\tNcNoteCard,\n\t},\n\tprops: {\n\t\tinitialDevices: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tisHttps: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisLocalhost: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tsetup() {\n\t\t// Non reactive properties\n\t\treturn {\n\t\t\tsupportsWebauthn: browserSupportsWebAuthn(),\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdevices: this.initialDevices,\n\t\t}\n\t},\n\tcomputed: {\n\t\tsortedDevices() {\n\t\t\treturn sortByName(this.devices)\n\t\t},\n\t},\n\tmethods: {\n\t\tdeviceAdded(device) {\n\t\t\tlogger.debug(`adding new device to the list ${device.id}`)\n\n\t\t\tthis.devices.push(device)\n\t\t},\n\t\tasync deleteDevice(id) {\n\t\t\tlogger.info(`deleting webauthn device ${id}`)\n\n\t\t\tawait confirmPassword()\n\t\t\tawait removeRegistration(id)\n\n\t\t\tthis.devices = this.devices.filter(d => d.id !== id)\n\n\t\t\tlogger.info(`webauthn device ${id} removed successfully`)\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n.security-webauthn__device-list {\n\tmargin-block: 12px 18px;\n}\n</style>\n"],sourceRoot:""}]);const s=o},30980:(t,e,n)=>{var r=n(39344),i=n(94033);function a(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}a.prototype=r(i.prototype),a.prototype.constructor=a,t.exports=a},56017:(t,e,n)=>{var r=n(39344),i=n(94033);function a(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=void 0}a.prototype=r(i.prototype),a.prototype.constructor=a,t.exports=a},80909:(t,e,n)=>{var r=n(30641),i=n(38329)(r);t.exports=i},83120:(t,e,n)=>{var r=n(14528),i=n(45891);t.exports=function t(e,n,a,o,s){var c=-1,l=e.length;for(a||(a=i),s||(s=[]);++c<l;){var u=e[c];n>0&&a(u)?n>1?t(u,n-1,a,o,s):r(s,u):o||(s[s.length]=u)}return s}},30641:(t,e,n)=>{var r=n(86649),i=n(95950);t.exports=function(t,e){return t&&r(t,e,i)}},94033:t=>{t.exports=function(){}},5128:(t,e,n)=>{var r=n(80909),i=n(64894);t.exports=function(t,e){var n=-1,a=i(t)?Array(t.length):[];return r(t,(function(t,r,i){a[++n]=e(t,r,i)})),a}},46155:(t,e,n)=>{var r=n(34932),i=n(47422),a=n(15389),o=n(5128),s=n(73937),c=n(27301),l=n(43714),u=n(83488),d=n(56449);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return d(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[u];var p=-1;e=r(e,c(a));var h=o(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++p,value:t}}));return s(h,(function(t,e){return l(t,e,n)}))}},68882:(t,e,n)=>{var r=n(83488),i=n(48152),a=i?function(t,e){return i.set(t,e),t}:r;t.exports=a},73937:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},53730:(t,e,n)=>{var r=n(44394);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,a=t==t,o=r(t),s=void 0!==e,c=null===e,l=e==e,u=r(e);if(!c&&!u&&!o&&t>e||o&&s&&l&&!c&&!u||i&&s&&l||!n&&l||!a)return 1;if(!i&&!o&&!u&&t<e||u&&n&&a&&!i&&!o||c&&n&&a||!s&&a||!l)return-1}return 0}},43714:(t,e,n)=>{var r=n(53730);t.exports=function(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,s=a.length,c=n.length;++i<s;){var l=r(a[i],o[i]);if(l)return i>=c?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}},91596:t=>{var e=Math.max;t.exports=function(t,n,r,i){for(var a=-1,o=t.length,s=r.length,c=-1,l=n.length,u=e(o-s,0),d=Array(l+u),p=!i;++c<l;)d[c]=n[c];for(;++a<s;)(p||a<o)&&(d[r[a]]=t[a]);for(;u--;)d[c++]=t[a++];return d}},53320:t=>{var e=Math.max;t.exports=function(t,n,r,i){for(var a=-1,o=t.length,s=-1,c=r.length,l=-1,u=n.length,d=e(o-c,0),p=Array(d+u),h=!i;++a<d;)p[a]=t[a];for(var f=a;++l<u;)p[f+l]=n[l];for(;++s<c;)(h||a<o)&&(p[f+r[s]]=t[a++]);return p}},58523:t=>{t.exports=function(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}},38329:(t,e,n)=>{var r=n(64894);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var a=n.length,o=e?a:-1,s=Object(n);(e?o--:++o<a)&&!1!==i(s[o],o,s););return n}}},11842:(t,e,n)=>{var r=n(82819),i=n(9325);t.exports=function(t,e,n){var a=1&e,o=r(t);return function e(){return(this&&this!==i&&this instanceof e?o:t).apply(a?n:this,arguments)}}},82819:(t,e,n)=>{var r=n(39344),i=n(23805);t.exports=function(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=r(t.prototype),a=t.apply(n,e);return i(a)?a:n}}},77078:(t,e,n)=>{var r=n(91033),i=n(82819),a=n(37471),o=n(18073),s=n(11287),c=n(36306),l=n(9325);t.exports=function(t,e,n){var u=i(t);return function i(){for(var d=arguments.length,p=Array(d),h=d,f=s(i);h--;)p[h]=arguments[h];var v=d<3&&p[0]!==f&&p[d-1]!==f?[]:c(p,f);return(d-=v.length)<n?o(t,e,a,i.placeholder,void 0,p,v,void 0,void 0,n-d):r(this&&this!==l&&this instanceof i?u:t,this,p)}}},37471:(t,e,n)=>{var r=n(91596),i=n(53320),a=n(58523),o=n(82819),s=n(18073),c=n(11287),l=n(68294),u=n(36306),d=n(9325);t.exports=function t(e,n,p,h,f,v,g,m,y,A){var b=128&n,w=1&n,_=2&n,x=24&n,R=512&n,E=_?void 0:o(e);return function C(){for(var I=arguments.length,W=Array(I),O=I;O--;)W[O]=arguments[O];if(x)var S=c(C),N=a(W,S);if(h&&(W=r(W,h,f,x)),v&&(W=i(W,v,g,x)),I-=N,x&&I<A){var D=u(W,S);return s(e,n,t,C.placeholder,p,W,D,m,y,A-I)}var T=w?p:this,k=_?T[e]:e;return I=W.length,m?W=l(W,m):R&&I>1&&W.reverse(),b&&y<I&&(W.length=y),this&&this!==d&&this instanceof C&&(k=E||o(k)),k.apply(T,W)}}},24168:(t,e,n)=>{var r=n(91033),i=n(82819),a=n(9325);t.exports=function(t,e,n,o){var s=1&e,c=i(t);return function e(){for(var i=-1,l=arguments.length,u=-1,d=o.length,p=Array(d+l),h=this&&this!==a&&this instanceof e?c:t;++u<d;)p[u]=o[u];for(;l--;)p[u++]=arguments[++i];return r(h,s?n:this,p)}}},18073:(t,e,n)=>{var r=n(85087),i=n(54641),a=n(70981);t.exports=function(t,e,n,o,s,c,l,u,d,p){var h=8&e;e|=h?32:64,4&(e&=~(h?64:32))||(e&=-4);var f=[t,e,s,h?c:void 0,h?l:void 0,h?void 0:c,h?void 0:l,u,d,p],v=n.apply(void 0,f);return r(t)&&i(v,f),v.placeholder=o,a(v,t,e)}},66977:(t,e,n)=>{var r=n(68882),i=n(11842),a=n(77078),o=n(37471),s=n(24168),c=n(37381),l=n(3209),u=n(54641),d=n(70981),p=n(61489),h=Math.max;t.exports=function(t,e,n,f,v,g,m,y){var A=2&e;if(!A&&"function"!=typeof t)throw new TypeError("Expected a function");var b=f?f.length:0;if(b||(e&=-97,f=v=void 0),m=void 0===m?m:h(p(m),0),y=void 0===y?y:p(y),b-=v?v.length:0,64&e){var w=f,_=v;f=v=void 0}var x=A?void 0:c(t),R=[t,e,n,f,v,w,_,g,m,y];if(x&&l(R,x),t=R[0],e=R[1],n=R[2],f=R[3],v=R[4],!(y=R[9]=void 0===R[9]?A?0:t.length:h(R[9]-b,0))&&24&e&&(e&=-25),e&&1!=e)E=8==e||16==e?a(t,e,y):32!=e&&33!=e||v.length?o.apply(void 0,R):s(t,e,n,f);else var E=i(t,e,n);return d((x?r:u)(E,R),t,e)}},38816:(t,e,n)=>{var r=n(35970),i=n(56757),a=n(32865);t.exports=function(t){return a(i(t,void 0,r),t+"")}},37381:(t,e,n)=>{var r=n(48152),i=n(63950),a=r?function(t){return r.get(t)}:i;t.exports=a},62284:(t,e,n)=>{var r=n(84629),i=Object.prototype.hasOwnProperty;t.exports=function(t){for(var e=t.name+"",n=r[e],a=i.call(r,e)?n.length:0;a--;){var o=n[a],s=o.func;if(null==s||s==t)return o.name}return e}},11287:t=>{t.exports=function(t){return t.placeholder}},75251:t=>{var e=/\{\n\/\* \[wrapped with (.+)\] \*/,n=/,? & /;t.exports=function(t){var r=t.match(e);return r?r[1].split(n):[]}},62060:t=>{var e=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;t.exports=function(t,n){var r=n.length;if(!r)return t;var i=r-1;return n[i]=(r>1?"& ":"")+n[i],n=n.join(r>2?", ":" "),t.replace(e,"{\n/* [wrapped with "+n+"] */\n")}},45891:(t,e,n)=>{var r=n(51873),i=n(72428),a=n(56449),o=r?r.isConcatSpreadable:void 0;t.exports=function(t){return a(t)||i(t)||!!(o&&t&&t[o])}},85087:(t,e,n)=>{var r=n(30980),i=n(37381),a=n(62284),o=n(53758);t.exports=function(t){var e=a(t),n=o[e];if("function"!=typeof n||!(e in r.prototype))return!1;if(t===n)return!0;var s=i(n);return!!s&&t===s[0]}},3209:(t,e,n)=>{var r=n(91596),i=n(53320),a=n(36306),o="__lodash_placeholder__",s=Math.min;t.exports=function(t,e){var n=t[1],c=e[1],l=n|c,u=l<131,d=128==c&&8==n||128==c&&256==n&&t[7].length<=e[8]||384==c&&e[7].length<=e[8]&&8==n;if(!u&&!d)return t;1&c&&(t[2]=e[2],l|=1&n?0:4);var p=e[3];if(p){var h=t[3];t[3]=h?r(h,p,e[4]):p,t[4]=h?a(t[3],o):e[4]}return(p=e[5])&&(h=t[5],t[5]=h?i(h,p,e[6]):p,t[6]=h?a(t[5],o):e[6]),(p=e[7])&&(t[7]=p),128&c&&(t[8]=null==t[8]?e[8]:s(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=l,t}},48152:(t,e,n)=>{var r=n(28303),i=r&&new r;t.exports=i},84629:t=>{t.exports={}},68294:(t,e,n)=>{var r=n(23007),i=n(30361),a=Math.min;t.exports=function(t,e){for(var n=t.length,o=a(e.length,n),s=r(t);o--;){var c=e[o];t[o]=i(c,n)?s[c]:void 0}return t}},36306:t=>{var e="__lodash_placeholder__";t.exports=function(t,n){for(var r=-1,i=t.length,a=0,o=[];++r<i;){var s=t[r];s!==n&&s!==e||(t[r]=e,o[a++]=r)}return o}},54641:(t,e,n)=>{var r=n(68882),i=n(51811)(r);t.exports=i},70981:(t,e,n)=>{var r=n(75251),i=n(62060),a=n(32865),o=n(75948);t.exports=function(t,e,n){var s=e+"";return a(t,i(s,o(r(s),n)))}},75948:(t,e,n)=>{var r=n(83729),i=n(15325),a=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];t.exports=function(t,e){return r(a,(function(n){var r="_."+n[0];e&n[1]&&!i(t,r)&&t.push(r)})),t.sort()}},80257:(t,e,n)=>{var r=n(30980),i=n(56017),a=n(23007);t.exports=function(t){if(t instanceof r)return t.clone();var e=new i(t.__wrapped__,t.__chain__);return e.__actions__=a(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}},64626:(t,e,n)=>{var r=n(66977);t.exports=function(t,e,n){return e=n?void 0:e,e=t&&null==e?t.length:e,r(t,128,void 0,void 0,void 0,void 0,e)}},49747:(t,e,n)=>{var r=n(66977);function i(t,e,n){var a=r(t,8,void 0,void 0,void 0,void 0,void 0,e=n?void 0:e);return a.placeholder=i.placeholder,a}i.placeholder={},t.exports=i},35970:(t,e,n)=>{var r=n(83120);t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},73424:(t,e,n)=>{var r=n(16962),i=n(2874),a=Array.prototype.push;function o(t,e){return 2==e?function(e,n){return t(e,n)}:function(e){return t(e)}}function s(t){for(var e=t?t.length:0,n=Array(e);e--;)n[e]=t[e];return n}function c(t,e){return function(){var n=arguments.length;if(n){for(var r=Array(n);n--;)r[n]=arguments[n];var i=r[0]=e.apply(void 0,r);return t.apply(void 0,r),i}}}t.exports=function t(e,n,l,u){var d="function"==typeof n,p=n===Object(n);if(p&&(u=l,l=n,n=void 0),null==l)throw new TypeError;u||(u={});var h={cap:!("cap"in u)||u.cap,curry:!("curry"in u)||u.curry,fixed:!("fixed"in u)||u.fixed,immutable:!("immutable"in u)||u.immutable,rearg:!("rearg"in u)||u.rearg},f=d?l:i,v="curry"in u&&u.curry,g="fixed"in u&&u.fixed,m="rearg"in u&&u.rearg,y=d?l.runInContext():void 0,A=d?l:{ary:e.ary,assign:e.assign,clone:e.clone,curry:e.curry,forEach:e.forEach,isArray:e.isArray,isError:e.isError,isFunction:e.isFunction,isWeakMap:e.isWeakMap,iteratee:e.iteratee,keys:e.keys,rearg:e.rearg,toInteger:e.toInteger,toPath:e.toPath},b=A.ary,w=A.assign,_=A.clone,x=A.curry,R=A.forEach,E=A.isArray,C=A.isError,I=A.isFunction,W=A.isWeakMap,O=A.keys,S=A.rearg,N=A.toInteger,D=A.toPath,T=O(r.aryMethod),k={castArray:function(t){return function(){var e=arguments[0];return E(e)?t(s(e)):t.apply(void 0,arguments)}},iteratee:function(t){return function(){var e=arguments[1],n=t(arguments[0],e),r=n.length;return h.cap&&"number"==typeof e?(e=e>2?e-2:1,r&&r<=e?n:o(n,e)):n}},mixin:function(t){return function(e){var n=this;if(!I(n))return t(n,Object(e));var r=[];return R(O(e),(function(t){I(e[t])&&r.push([t,n.prototype[t]])})),t(n,Object(e)),R(r,(function(t){var e=t[1];I(e)?n.prototype[t[0]]=e:delete n.prototype[t[0]]})),n}},nthArg:function(t){return function(e){var n=e<0?1:N(e)+1;return x(t(e),n)}},rearg:function(t){return function(e,n){var r=n?n.length:0;return x(t(e,n),r)}},runInContext:function(n){return function(r){return t(e,n(r),u)}}};function P(t,e,n){if(h.fixed&&(g||!r.skipFixed[t])){var i=r.methodSpread[t],o=i&&i.start;return void 0===o?b(e,n):function(t,e){return function(){for(var n=arguments.length,r=n-1,i=Array(n);n--;)i[n]=arguments[n];var o=i[e],s=i.slice(0,e);return o&&a.apply(s,o),e!=r&&a.apply(s,i.slice(e+1)),t.apply(this,s)}}(e,o)}return e}function B(t,e,n){return h.rearg&&n>1&&(m||!r.skipRearg[t])?S(e,r.methodRearg[t]||r.aryRearg[n]):e}function L(t,e){for(var n=-1,r=(e=D(e)).length,i=r-1,a=_(Object(t)),o=a;null!=o&&++n<r;){var s=e[n],c=o[s];null==c||I(c)||C(c)||W(c)||(o[s]=_(n==i?c:Object(c))),o=o[s]}return a}function M(e,n){var i=r.aliasToReal[e]||e,a=r.remap[i]||i,o=u;return function(e){var r=d?y:A,s=d?y[a]:n,c=w(w({},o),e);return t(r,i,s,c)}}function j(t,e){return function(){var n=arguments.length;if(!n)return t();for(var r=Array(n);n--;)r[n]=arguments[n];var i=h.rearg?0:n-1;return r[i]=e(r[i]),t.apply(void 0,r)}}function F(t,e,n){var i,a=r.aliasToReal[t]||t,l=e,u=k[a];return u?l=u(e):h.immutable&&(r.mutate.array[a]?l=c(e,s):r.mutate.object[a]?l=c(e,function(t){return function(e){return t({},e)}}(e)):r.mutate.set[a]&&(l=c(e,L))),R(T,(function(t){return R(r.aryMethod[t],(function(e){if(a==e){var n=r.methodSpread[a],s=n&&n.afterRearg;return i=s?P(a,B(a,l,t),t):B(a,P(a,l,t),t),i=function(t,e,n){return v||h.curry&&n>1?x(e,n):e}(0,i=function(t,e){if(h.cap){var n=r.iterateeRearg[t];if(n)return function(t,e){return j(t,(function(t){var n=e.length;return function(t,e){return 2==e?function(e,n){return t.apply(void 0,arguments)}:function(e){return t.apply(void 0,arguments)}}(S(o(t,n),e),n)}))}(e,n);var i=!d&&r.iterateeAry[t];if(i)return function(t,e){return j(t,(function(t){return"function"==typeof t?o(t,e):t}))}(e,i)}return e}(a,i),t),!1}})),!i})),i||(i=l),i==e&&(i=v?x(i,1):function(){return e.apply(this,arguments)}),i.convert=M(a,e),i.placeholder=e.placeholder=n,i}if(!p)return F(n,l,f);var q=l,K=[];return R(T,(function(t){R(r.aryMethod[t],(function(t){var e=q[r.remap[t]||t];e&&K.push([t,F(t,e,q)])}))})),R(O(q),(function(t){var e=q[t];if("function"==typeof e){for(var n=K.length;n--;)if(K[n][0]==t)return;e.convert=M(t,e),K.push([t,e])}})),R(K,(function(t){q[t[0]]=t[1]})),q.convert=function(t){return q.runInContext.convert(t)(void 0)},q.placeholder=q,R(O(q),(function(t){R(r.realToAlias[t]||[],(function(e){q[e]=q[t]}))})),q}},16962:(t,e)=>{e.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},e.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},e.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},e.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},e.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},e.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},e.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},e.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},e.realToAlias=function(){var t=Object.prototype.hasOwnProperty,n=e.aliasToReal,r={};for(var i in n){var a=n[i];t.call(r,a)?r[a].push(i):r[a]=[i]}return r}(),e.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},e.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},e.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},47934:(t,e,n)=>{t.exports={ary:n(64626),assign:n(74733),clone:n(32629),curry:n(49747),forEach:n(83729),isArray:n(56449),isError:n(23546),isFunction:n(1882),isWeakMap:n(47886),iteratee:n(33855),keys:n(88984),rearg:n(84195),toInteger:n(61489),toPath:n(42072)}},79920:(t,e,n)=>{var r=n(73424),i=n(47934);t.exports=function(t,e,n){return r(i,t,e,n)}},2874:t=>{t.exports={}},10854:(t,e,n)=>{var r=n(79920)("sortBy",n(33031));r.placeholder=n(2874),t.exports=r},23546:(t,e,n)=>{var r=n(72552),i=n(40346),a=n(11331);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Error]"==e||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!a(t)}},47886:(t,e,n)=>{var r=n(5861),i=n(40346);t.exports=function(t){return i(t)&&"[object WeakMap]"==r(t)}},33855:(t,e,n)=>{var r=n(9999),i=n(15389);t.exports=function(t){return i("function"==typeof t?t:r(t,1))}},84195:(t,e,n)=>{var r=n(66977),i=n(38816)((function(t,e){return r(t,256,void 0,void 0,void 0,e)}));t.exports=i},33031:(t,e,n)=>{var r=n(83120),i=n(46155),a=n(69302),o=n(36800),s=a((function(t,e){if(null==t)return[];var n=e.length;return n>1&&o(t,e[0],e[1])?e=[]:n>2&&o(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},17400:(t,e,n)=>{var r=n(99374),i=1/0;t.exports=function(t){return t?(t=r(t))===i||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},61489:(t,e,n)=>{var r=n(17400);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},42072:(t,e,n)=>{var r=n(34932),i=n(23007),a=n(56449),o=n(44394),s=n(61802),c=n(77797),l=n(13222);t.exports=function(t){return a(t)?r(t,c):o(t)?[t]:i(s(l(t)))}},53758:(t,e,n)=>{var r=n(30980),i=n(56017),a=n(94033),o=n(56449),s=n(40346),c=n(80257),l=Object.prototype.hasOwnProperty;function u(t){if(s(t)&&!o(t)&&!(t instanceof r)){if(t instanceof i)return t;if(l.call(t,"__wrapped__"))return c(t)}return new i(t)}u.prototype=a.prototype,u.prototype.constructor=u,t.exports=u}},a={};function o(t){var e=a[t];if(void 0!==e)return e.exports;var n=a[t]={id:t,loaded:!1,exports:{}};return i[t].call(n.exports,n,n.exports,o),n.loaded=!0,n.exports}o.m=i,e=[],o.O=(t,n,r,i)=>{if(!n){var a=1/0;for(u=0;u<e.length;u++){n=e[u][0],r=e[u][1],i=e[u][2];for(var s=!0,c=0;c<n.length;c++)(!1&i||a>=i)&&Object.keys(o.O).every((t=>o.O[t](n[c])))?n.splice(c--,1):(s=!1,i<a&&(a=i));if(s){e.splice(u--,1);var l=r();void 0!==l&&(t=l)}}return t}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,r,i]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce(((e,n)=>(o.f[n](t,e),e)),[])),o.u=t=>t+"-"+t+".js?v="+{5706:"3153330af47fc26a725a",6127:"187ecf901446f3f3d03a"}[t],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="nextcloud:",o.l=(t,e,i,a)=>{if(n[t])n[t].push(e);else{var s,c;if(void 0!==i)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var d=l[u];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==r+i){s=d;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,o.nc&&s.setAttribute("nonce",o.nc),s.setAttribute("data-webpack",r+i),s.src=t),n[t]=[e];var p=(e,r)=>{s.onerror=s.onload=null,clearTimeout(h);var i=n[t];if(delete n[t],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((t=>t(r))),e)return e(r)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=p.bind(null,s.onerror),s.onload=p.bind(null,s.onload),c&&document.head.appendChild(s)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=9255,(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!t||!/^http(s?):/.test(t));)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b=document.baseURI||self.location.href;var t={9255:0};o.f.j=(e,n)=>{var r=o.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var i=new Promise(((n,i)=>r=t[e]=[n,i]));n.push(r[2]=i);var a=o.p+o.u(e),s=new Error;o.l(a,(n=>{if(o.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var i=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;s.message="Loading chunk "+e+" failed.\n("+i+": "+a+")",s.name="ChunkLoadError",s.type=i,s.request=a,r[1](s)}}),"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,n)=>{var r,i,a=n[0],s=n[1],c=n[2],l=0;if(a.some((e=>0!==t[e]))){for(r in s)o.o(s,r)&&(o.m[r]=s[r]);if(c)var u=c(o)}for(e&&e(n);l<a.length;l++)i=a[l],o.o(t,i)&&t[i]&&t[i][0](),t[i]=0;return o.O(u)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))})(),o.nc=void 0;var s=o.O(void 0,[4208],(()=>o(96846)));s=o.O(s)})();
  2. //# sourceMappingURL=settings-vue-settings-personal-webauthn.js.map?v=fac710c8584a1bca5aea