From 7f341c797a941b53c3bcd1a774b68999190917de Mon Sep 17 00:00:00 2001 From: Mo Date: Wed, 16 Feb 2022 11:34:53 -0600 Subject: [PATCH] chore(deps): snjs with synchronous crypto --- .../javascripts/services/errorReporting.ts | 2 +- package.json | 10 ++-- public/components/checksums.json | 6 +- .../dist/dist.min.js | 2 +- .../dist/dist.min.js.LICENSE.txt | 27 +++++++++ .../dist/filesafe-js/EncryptionWorker.js | 2 +- .../dist/vendor.css | 7 +-- .../package.json | 6 +- yarn.lock | 58 +++++++++---------- 9 files changed, 73 insertions(+), 47 deletions(-) diff --git a/app/assets/javascripts/services/errorReporting.ts b/app/assets/javascripts/services/errorReporting.ts index 4949fe90b..e265d2e20 100644 --- a/app/assets/javascripts/services/errorReporting.ts +++ b/app/assets/javascripts/services/errorReporting.ts @@ -34,7 +34,7 @@ export function startErrorReporting(): void { const storedUserId = storage.get(StorageKey.AnonymousUserId); let anonymousUserId: string; if (storedUserId === null) { - anonymousUserId = WebCrypto.generateUUIDSync(); + anonymousUserId = WebCrypto.generateUUID(); storage.set(StorageKey.AnonymousUserId, anonymousUserId); } else { anonymousUserId = storedUserId; diff --git a/package.json b/package.json index 9d247fbc5..07d3b270e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "standard-notes-web", - "version": "3.10.0", + "version": "3.11.0", "license": "AGPL-3.0-or-later", "repository": { "type": "git", @@ -82,11 +82,11 @@ "@reach/dialog": "^0.16.2", "@reach/listbox": "^0.16.2", "@reach/tooltip": "^0.16.2", - "@standardnotes/components": "1.7.2", - "@standardnotes/features": "1.32.3", - "@standardnotes/snjs": "2.59.7", + "@standardnotes/components": "1.7.3", + "@standardnotes/features": "1.32.4", + "@standardnotes/snjs": "2.60.0", "@standardnotes/settings": "^1.11.3", - "@standardnotes/sncrypto-web": "1.6.2", + "@standardnotes/sncrypto-web": "1.7.0", "mobx": "^6.3.5", "mobx-react-lite": "^3.2.2", "preact": "^10.5.15", diff --git a/public/components/checksums.json b/public/components/checksums.json index c78c5c09f..8cd1699bf 100644 --- a/public/components/checksums.json +++ b/public/components/checksums.json @@ -40,9 +40,9 @@ "binary": "4e08fb2de17ab480787a1e042b2d43106e2798093e760fc507ed773401d27c71" }, "org.standardnotes.bold-editor": { - "version": "1.3.2", - "base64": "7a4fec03c556d17aa2f14a9157a20754c429a54843504211017fc21ca6d8b10e", - "binary": "80ff2f747607b6668c5e9b439203d89740de21b822d01b6b4d2051bf232a80f3" + "version": "1.3.3", + "base64": "51a5d2e77aacbcfda21b4a3429e9fe3fb6b61175e5188b6ec26854432ac41fc2", + "binary": "a30533208fbc33f115786ff912b6d605052adda03a62b47513ce390931fe11d1" }, "org.standardnotes.plus-editor": { "version": "1.6.1", diff --git a/public/components/org.standardnotes.bold-editor/dist/dist.min.js b/public/components/org.standardnotes.bold-editor/dist/dist.min.js index 9abea69fe..89837a1e0 100644 --- a/public/components/org.standardnotes.bold-editor/dist/dist.min.js +++ b/public/components/org.standardnotes.bold-editor/dist/dist.min.js @@ -1,2 +1,2 @@ /*! For license information please see dist.min.js.LICENSE.txt */ -(()=>{var e={33:(e,t,n)=>{var r;self,e.exports=(r=n(166),(()=>{var e,t,n={968:e=>{self,e.exports=(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};let n,r,a,i;var o;e.d(t,{default:()=>E}),function(e){e.SetSize="set-size",e.StreamItems="stream-items",e.StreamContextItem="stream-context-item",e.SaveItems="save-items",e.SelectItem="select-item",e.AssociateItem="associate-item",e.DeassociateItem="deassociate-item",e.ClearSelection="clear-selection",e.CreateItem="create-item",e.CreateItems="create-items",e.DeleteItems="delete-items",e.SetComponentData="set-component-data",e.InstallLocalComponent="install-local-component",e.ToggleActivateComponent="toggle-activate-component",e.RequestPermissions="request-permissions",e.PresentConflictResolution="present-conflict-resolution",e.DuplicateItem="duplicate-item",e.ComponentRegistered="component-registered",e.ActivateThemes="themes",e.Reply="reply",e.SaveSuccess="save-success",e.SaveError="save-error",e.ThemesActivated="themes-activated",e.KeyDown="key-down",e.KeyUp="key-up",e.Click="click"}(n||(n={})),function(e){e[e.Web=1]="Web",e[e.Desktop=2]="Desktop",e[e.Mobile=3]="Mobile"}(r||(r={})),function(e){e.Any="*",e.Item="SF|Item",e.RootKey="SN|RootKey|NoSync",e.ItemsKey="SN|ItemsKey",e.EncryptedStorage="SN|EncryptedStorage",e.Note="Note",e.Tag="Tag",e.SmartTag="SN|SmartTag",e.Component="SN|Component",e.Editor="SN|Editor",e.ActionsExtension="Extension",e.UserPrefs="SN|UserPreferences",e.HistorySession="SN|HistorySession",e.Theme="SN|Theme",e.Mfa="SF|MFA",e.ServerExtension="SF|Extension",e.FilesafeCredentials="SN|FileSafe|Credentials",e.FilesafeFileMetadata="SN|FileSafe|FileMetadata",e.FilesafeIntegration="SN|FileSafe|Integration",e.ExtensionRepo="SN|ExtensionRepo"}(a||(a={})),function(e){e.Pinned="pinned",e.Archived="archived",e.Locked="locked",e.UserModifiedDate="client_updated_at",e.DefaultEditor="defaultEditor",e.MobileRules="mobileRules",e.NotAvailableOnMobile="notAvailableOnMobile",e.MobileActive="mobileActive",e.LastSize="lastSize",e.PrefersPlainEditor="prefersPlainEditor",e.ComponentInstallError="installError"}(i||(i={}));var s=new Uint8Array(16);function u(){if(!o&&!(o="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(s)}const l=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,c=function(e){return"string"==typeof e&&l.test(e)};for(var f=[],d=0;d<256;++d)f.push((d+256).toString(16).substr(1));const p=function(e,t,n){var r=(e=e||{}).random||(e.rng||u)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var a=0;a<16;++a)t[n+a]=r[a];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[e[t+0]]+f[e[t+1]]+f[e[t+2]]+f[e[t+3]]+"-"+f[e[t+4]]+f[e[t+5]]+"-"+f[e[t+6]]+f[e[t+7]]+"-"+f[e[t+8]]+f[e[t+9]]+"-"+f[e[t+10]]+f[e[t+11]]+f[e[t+12]]+f[e[t+13]]+f[e[t+14]]+f[e[t+15]]).toLowerCase();if(!c(n))throw TypeError("Stringified UUID is invalid");return n}(r)},h=e=>{var t;const n={[r.Web]:"web",[r.Desktop]:"desktop",[r.Mobile]:"mobile"};return null!==(t=n[e])&&void 0!==t?t:n[r.Web]},m=e=>null!=e,v=()=>{};class g{static get isSupported(){return!(!window.console&&!console)}static get info(){return g.isSupported&&this.enabled?console.log.bind(console):v}static get error(){return g.isSupported?console.error.bind(console):v}}var y,b,k,w;function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t0&&(this.initialPermissions=n),m(null==r?void 0:r.coallesedSaving)&&(this.coallesedSaving=r.coallesedSaving),m(null==r?void 0:r.coallesedSavingDelay)&&(this.coallesedSavingDelay=r.coallesedSavingDelay),m(null==r?void 0:r.acceptsThemes)&&(this.component.acceptsThemes=null===(o=null==r?void 0:r.acceptsThemes)||void 0===o||o),m(a)&&(this.onReadyCallback=a),m(i)&&(this.onThemesChangeCallback=i),g.enabled=null!==(t=null==r?void 0:r.debug)&&void 0!==t&&t}deinit(){this.onReadyCallback=void 0,this.component={acceptsThemes:!0,activeThemes:[]},this.messageQueue=[],this.sentMessages=[],this.lastStreamedItem=void 0,this.pendingSaveItems=void 0,this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0,this.messageHandler&&(this.contentWindow.document.removeEventListener("message",this.messageHandler),this.contentWindow.removeEventListener("message",this.messageHandler)),this.keyDownEventListener&&this.contentWindow.removeEventListener("keydown",this.keyDownEventListener),this.keyUpEventListener&&this.contentWindow.removeEventListener("keyup",this.keyUpEventListener),this.clickEventListener&&this.contentWindow.removeEventListener("click",this.clickEventListener)}registerMessageHandler(){this.messageHandler=e=>{if(g.info("Components API Message received:",e.data),document.referrer&&new URL(document.referrer).origin!==new URL(e.origin).origin)return;const{data:t}=e,r=(e=>{if("string"!=typeof e)return!1;try{const t=JSON.parse(e),n=Object.prototype.toString.call(t);return"[object Object]"===n||"[object Array]"===n}catch(e){return!1}})(t)?JSON.parse(t):t;if(r){if(void 0===this.component.origin&&r.action===n.ComponentRegistered)this.component.origin=e.origin;else if(e.origin!==this.component.origin)return;this.handleMessage(r)}else g.error("Invalid data received. Skipping...")},this.contentWindow.document.addEventListener("message",this.messageHandler,!1),this.contentWindow.addEventListener("message",this.messageHandler,!1),g.info("Waiting for messages...")}registerKeyboardEventListeners(){this.keyDownEventListener=e=>{g.info("A key has been pressed: ".concat(e.key)),e.ctrlKey?this.keyDownEvent(w.Ctrl):e.shiftKey?this.keyDownEvent(w.Shift):(e.metaKey||"Meta"===e.key)&&this.keyDownEvent(w.Meta)},this.keyUpEventListener=e=>{g.info("A key has been released: ".concat(e.key)),"Control"===e.key?this.keyUpEvent(w.Ctrl):"Shift"===e.key?this.keyUpEvent(w.Shift):"Meta"===e.key&&this.keyUpEvent(w.Meta)},this.contentWindow.addEventListener("keydown",this.keyDownEventListener,!1),this.contentWindow.addEventListener("keyup",this.keyUpEventListener,!1)}registerMouseEventListeners(){this.clickEventListener=e=>{g.info("A click has been performed."),this.mouseClickEvent()},this.contentWindow.addEventListener("click",this.clickEventListener,!1)}handleMessage(e){switch(e.action){case n.ComponentRegistered:this.component.sessionKey=e.sessionKey,e.componentData&&(this.component.data=e.componentData),this.onReady(e.data),g.info("Component successfully registered with payload:",e);break;case n.ActivateThemes:this.activateThemes(e.data.themes);break;default:{var t,r;if(!e.original)return;const n=null===(t=this.sentMessages)||void 0===t?void 0:t.filter((t=>{var n;return t.messageId===(null===(n=e.original)||void 0===n?void 0:n.messageId)}))[0];if(!n){const e=this.contentWindow.document.title,t=("The extension '".concat(e,"' is attempting to communicate with Standard Notes, ")+"but an error is preventing it from doing so. Please restart this extension and try again.").replace(" "," ");return void g.info(t)}null==n||null===(r=n.callback)||void 0===r||r.call(n,e.data);break}}}onReady(e){this.component.environment=e.environment,this.component.platform=e.platform,this.component.uuid=e.uuid,this.initialPermissions&&this.initialPermissions.length>0&&this.requestPermissions(this.initialPermissions);for(const e of this.messageQueue)this.postMessage(e.action,e.data,e.callback);this.messageQueue=[],g.info("Data passed to onReady:",e),this.activateThemes(e.activeThemeUrls||[]),this.postMessage(n.ThemesActivated,{}),this.onReadyCallback&&this.onReadyCallback()}getSelfComponentUUID(){return this.component.uuid}isRunningInDesktopApplication(){return this.component.environment===h(r.Desktop)}isRunningInMobileApplication(){return this.component.environment===h(r.Mobile)}getComponentDataValueForKey(e){if(this.component.data)return this.component.data[e]}setComponentDataValueForKey(e,t){if(!this.component.data)throw new Error("The component has not been initialized.");if(!e||e&&0===e.length)throw new Error("The key for the data value should be a valid string.");this.component.data=S(S({},this.component.data),{},{[e]:t}),this.postMessage(n.SetComponentData,{componentData:this.component.data})}clearComponentData(){this.component.data={},this.postMessage(n.SetComponentData,{componentData:this.component.data})}postMessage(e,t,n){if(!this.component.sessionKey)return void this.messageQueue.push({action:e,data:t,api:k.Component,callback:n});const r={action:e,data:t,messageId:this.generateUUID(),sessionKey:this.component.sessionKey,api:k.Component},a=JSON.parse(JSON.stringify(r));let i;a.callback=n,this.sentMessages.push(a),i=this.isRunningInMobileApplication()?JSON.stringify(r):r,g.info("Posting message:",i),this.contentWindow.parent.postMessage(i,this.component.origin)}requestPermissions(e,t){this.postMessage(n.RequestPermissions,{permissions:e},(()=>{t&&t()}))}activateThemes(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!this.component.acceptsThemes)return;g.info("Incoming themes:",e);const{activeThemes:t}=this.component;if(t&&t.sort().toString()==e.sort().toString())return;let n=e;const r=[];for(const a of t)e.includes(a)?n=n.filter((e=>e!==a)):r.push(a);g.info("Deactivating themes:",r),g.info("Activating themes:",n);for(const e of r)this.deactivateTheme(e);this.component.activeThemes=e;for(const e of n){if(!e)continue;const t=this.contentWindow.document.createElement("link");t.id=btoa(e),t.href=e,t.type="text/css",t.rel="stylesheet",t.media="screen,print",t.className="custom-theme",this.contentWindow.document.getElementsByTagName("head")[0].appendChild(t)}this.onThemesChangeCallback&&this.onThemesChangeCallback()}themeElementForUrl(e){return Array.from(this.contentWindow.document.getElementsByClassName("custom-theme")).slice().find((t=>t.id==btoa(e)))}deactivateTheme(e){const t=this.themeElementForUrl(e);t&&t.parentNode&&(t.setAttribute("disabled","true"),t.parentNode.removeChild(t))}generateUUID(){return p()}get platform(){return this.component.platform}get environment(){return this.component.environment}streamItems(e,t){this.postMessage(n.StreamItems,{content_types:e},(e=>{t(e.items)}))}streamContextItem(e){this.postMessage(n.StreamContextItem,{},(t=>{const{item:n}=t;(!this.lastStreamedItem||this.lastStreamedItem.uuid!==n.uuid)&&this.pendingSaveTimeout&&(clearTimeout(this.pendingSaveTimeout),this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0),this.lastStreamedItem=n,e(this.lastStreamedItem)}))}selectItem(e){this.postMessage(n.SelectItem,{item:this.jsonObjectForItem(e)})}clearSelection(){this.postMessage(n.ClearSelection,{content_type:a.Tag})}createItem(e,t){this.postMessage(n.CreateItem,{item:this.jsonObjectForItem(e)},(e=>{let{item:n}=e;!n&&e.items&&e.items.length>0&&(n=e.items[0]),this.associateItem(n),t&&t(n)}))}createItems(e,t){const r=e.map((e=>this.jsonObjectForItem(e)));this.postMessage(n.CreateItems,{items:r},(e=>{t&&t(e.items)}))}associateItem(e){this.postMessage(n.AssociateItem,{item:this.jsonObjectForItem(e)})}deassociateItem(e){this.postMessage(n.DeassociateItem,{item:this.jsonObjectForItem(e)})}deleteItem(e,t){this.deleteItems([e],t)}deleteItems(e,t){const r={items:e.map((e=>this.jsonObjectForItem(e)))};this.postMessage(n.DeleteItems,r,(e=>{t&&t(e)}))}sendCustomEvent(e,t,n){this.postMessage(e,t,(e=>{n&&n(e)}))}saveItem(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.saveItems([e],t,n)}saveItemWithPresave(e,t,n){this.saveItemsWithPresave([e],t,n)}saveItemsWithPresave(e,t,n){this.saveItems(e,n,!1,t)}performSavingOfItems(e){let{items:t,presave:r,callback:a}=e;const i=setTimeout((()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),alert("This editor is unable to communicate with Standard Notes. Your changes may not be saved. Please backup your changes, then restart the application and try again.")}),5e3);this.concernTimeouts.push(i),r&&r();const o=[];for(const e of t)o.push(this.jsonObjectForItem(e));this.postMessage(n.SaveItems,{items:o},(()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),null==a||a()}))}saveItems(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;if(this.pendingSaveItems||(this.pendingSaveItems=[]),this.coallesedSaving&&!n){this.pendingSaveTimeout&&clearTimeout(this.pendingSaveTimeout);const n=e.map((e=>e.uuid)),a=this.pendingSaveItems.filter((e=>!n.includes(e.uuid)));this.pendingSaveItems=a.concat(e),this.pendingSaveParams={items:this.pendingSaveItems,presave:r,callback:t},this.pendingSaveTimeout=setTimeout((()=>{this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveItems=[],this.pendingSaveTimeout=void 0,this.pendingSaveParams=null}),this.coallesedSavingDelay)}else this.performSavingOfItems({items:e,presave:r,callback:t})}setSize(e,t){this.postMessage(n.SetSize,{type:"container",width:e,height:t})}keyDownEvent(e){this.postMessage(n.KeyDown,{keyboardModifier:e})}keyUpEvent(e){this.postMessage(n.KeyUp,{keyboardModifier:e})}mouseClickEvent(){this.postMessage(n.Click,{})}jsonObjectForItem(e){const t=Object.assign({},e);return t.children=null,t.parent=null,t}getItemAppDataValue(e,t){var n,r;return null==e||null===(n=e.content)||void 0===n||null===(r=n.appData)||void 0===r?void 0:r["org.standardnotes.sn"][t]}}return t.default})()},695:e=>{"use strict";e.exports=r}},a={};function i(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={exports:{}};return n[e](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var a=Object.create(null);i.r(a);var o={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>o[e]=()=>n[e]));return o.default=()=>n,i.d(a,o),a},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";i.d(o,{default:()=>h});var e=i(968),t=i.n(e);const n=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))};function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class a{constructor(e){this.options=e,r(this,"uuidToFileTempUrlAndTypeMapping",{}),r(this,"currentlyLoadingIds",[]),r(this,"statusElementMapping",{}),r(this,"fileTypeToElementType",{"image/png":"img","image/jpg":"img","image/jpeg":"img","image/gif":"img","image/tiff":"img","image/bmp":"img","video/mp4":"video","audio/mpeg":"audio","audio/mp3":"audio"})}fileTypeForElementType(e){return this.fileTypeToElementType[e.toLowerCase()]}loadFileSafeElements(){const e=this.options.getElementsBySelector("*[fsplaceholder]");for(const t of e)this.loadFileSafeElement(t)}async loadFileSafeElement(e){var t;const{fileSafeInstance:r}=this.options,a=e.getAttribute("fsid"),i=null!==(t=e.getAttribute("fsName"))&&void 0!==t?t:"",o=i&&"undefined"!=i?i:"file";if(!a)return!1;const s=this.uuidToFileTempUrlAndTypeMapping[a];if(s)return this.insertMediaElement({fsid:a,fsElement:e,url:s.url,fileType:s.fileType,fsName:s.fsName}),!1;if(this.currentlyLoadingIds.includes(a))return!1;const u=r.findFileDescriptor(a);if(!u)return this.setStatus({fsElement:e,fsid:a,status:"Unable to find ".concat(o," ").concat(a,"."),removable:!0}),!1;const l='[fsid="'.concat(u.uuid,'"][fscollapsable]');if(document.querySelectorAll("img".concat(l,", figure").concat(l,", video").concat(l,", audio").concat(l)).length>0)return!1;this.currentlyLoadingIds.push(a),this.setStatus({fsElement:e,fsid:a,status:"Downloading ".concat(o,"...")}),await n(.05);const c=await r.downloadFileFromDescriptor(u).catch((()=>{this.setStatus({fsElement:e,fsid:a,status:"Unable to download ".concat(o," ").concat(a,".")})}));if(!c)return!1;this.setStatus({fsElement:e,fsid:a,status:"Decrypting ".concat(o,"...")}),await n(.05);const f=await r.decryptFile({fileDescriptor:u,fileItem:c}).catch((()=>{this.setStatus({fsElement:e,fsid:a,status:"Unable to decrypt ".concat(o," ").concat(a,".")})}));if(!f)return!1;this.setStatus({fsElement:e,fsid:a}),await n(.05);const d=u.content.fileType,p=r.createTemporaryFileUrl({base64Data:f.decryptedData,dataType:d});return this.insertMediaElement({fsid:a,fileType:d,fsName:i,fsElement:e,url:p}),(()=>{this.currentlyLoadingIds.splice(this.currentlyLoadingIds.indexOf(a),1)})(),this.uuidToFileTempUrlAndTypeMapping[a]={fileType:d,url:p,fsName:i},!0}insertMediaElement(e){let t,{url:n,fsid:r,fsName:a,fileType:i,fsElement:o}=e;switch(this.fileTypeForElementType(i)){case"img":t=this.createImageElement({url:n,fsid:r,fsName:a,fsElement:o});break;case"video":t=this.createVideoElement({url:n,fsid:r,fileType:i,fsName:a,fsElement:o});break;case"audio":t=this.createAudioElement({url:n,fsid:r,fsName:a});break;default:t=this.createDownloadElement({url:n,fsid:r,fsName:a})}this.insertElementNearElement(t,o),o.remove()}wrapElementInTag(e){let{element:t,tagName:n,fsid:r,fsName:a}=e;const i=document.createElement(n);return i.setAttribute("fsid",r),i.setAttribute("fsName",a),i.setAttribute("fscollapsable","true"),i.setAttribute("contenteditable","true"),i.append(t),i}createImageElement(e){let{url:t,fsid:n,fsName:r,fsElement:a}=e;const i=document.createElement("img");i.setAttribute("src",t),i.setAttribute("srcset","".concat(t," 2x")),i.setAttribute("fsid",n),i.setAttribute("fsName",r),i.setAttribute("fscollapsable","true");const o=a.getAttribute("width");o&&i.setAttribute("width",o);const s=a.getAttribute("height");return s&&i.setAttribute("height",s),i}createVideoElement(e){let{url:t,fsid:n,fileType:r,fsName:a,fsElement:i}=e;const o=document.createElement("video");o.setAttribute("controls","true"),o.setAttribute("fsid",n),o.setAttribute("fsName",a),o.setAttribute("fscollapsable","true");const s=i.getAttribute("width");s&&o.setAttribute("width",s);const u=i.getAttribute("height");u&&o.setAttribute("height",u);const l=document.createElement("source");return l.setAttribute("src",t),l.setAttribute("type",r),o.append(l),this.wrapElementInTag({fsid:n,fsName:a,element:o,tagName:"p"})}createDownloadElement(e){let{url:t,fsid:n,fsName:r}=e;const a=document.createElement("a");return a.setAttribute("fsid",n),a.setAttribute("fsName",r),a.setAttribute("ghost","true"),a.setAttribute("fscollapsable","true"),a.setAttribute("href",t),a.textContent="".concat(r),a}createAudioElement(e){let{url:t,fsid:n,fsName:r}=e;const a=document.createElement("audio");return a.setAttribute("src",t),a.setAttribute("controls","true"),a.setAttribute("fsid",n),a.setAttribute("fsName",r),a.setAttribute("fscollapsable","true"),this.wrapElementInTag({fsid:n,fsName:r,element:a,tagName:"p"})}setStatus(e){let{status:t,fsElement:n,fsid:r,removable:a=!1}=e;if(r){const e=this.statusElementMapping[r];e&&(e.remove(),delete this.statusElementMapping[r])}if(t){let e=document.createElement("label");return e.setAttribute("id",r),e.setAttribute("ghost","true"),e.setAttribute("contenteditable","false"),e.style.fontWeight="bold",e.textContent=t,a&&(e.style.userSelect="all"),e=this.insertElementNearElement(e,n),r&&(this.statusElementMapping[r]=e),e}}insertStatusAtCursor(e){const t=Math.random().toString(36).substring(7);return this.setStatus({status:e,fsid:t,fsElement:null}),t}removeCursorStatus(e){const t=this.options.getElementsBySelector("#".concat(e));t.length>0&&t[0].remove()}insertElementNearElement(e,t){const n=this.options.preprocessElement(e);let r="child";if(t&&"figure"==n.tagName.toLowerCase()){const e=t.closest("p");e&&(t=e,r="afterend")}return this.options.insertElement(n,t,r),n}}class s{constructor(e){this.options=e}onKeyUp(e){let{isEnter:t,isPaste:n,isSpace:r}=e;(t||n||r)&&this.searchPatterns({searchPreviousLine:null!=t&&t})}searchPatterns(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{searchPreviousLine:!1};const t=e.searchPreviousLine?this.options.getPreviousLineText():this.options.getCurrentLineText();for(const n of this.options.patterns){const r=n.regex.exec(t);if(!r)continue;const a=r[0];if(a){const t=n.callback(a);this.replaceSelection(n.regex,t,e.searchPreviousLine)}}}replaceSelection(e,t,n){var r,a,i;null!==(r=this.options)&&void 0!==r&&r.beforeExpand&&this.options.beforeExpand(),this.options.replaceText({regex:e,replacement:t,searchPreviousLine:n}),null!==(a=this.options)&&void 0!==a&&a.afterExpand&&(null===(i=this.options)||void 0===i||i.afterExpand())}}const u=/(

)?\[FileSafe[^\]]*\](<\/p>)?/g,l=e=>e.replace(u,(e=>f(e))),c=e=>"[FileSafe:".concat(e.uuid,":").concat(e.content.fileName,"]"),f=e=>{const t=(e=(e=(e=e.replace("

","")).replace("

","")).replace("[","").replace("]","")).split(":"),n=t[1],r=t[2],a=t[3];let i="";if(a){const e=a.split("x");i="width=".concat(e[0]," height=").concat(e[1])}return"

")};function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let p;!function(e){e.PlainText="plaintext",e.Html="html",e.Markdown="markdown",e.Json="json"}(p||(p={}));class h{constructor(e,t){this.delegate=e,this.options=t,d(this,"fileIdsPendingAssociation",[]),d(this,"componentRelay",void 0),d(this,"fileLoader",void 0),d(this,"textExpander",void 0),d(this,"fileSafeLoading",void 0),d(this,"fileSafeClass",void 0),d(this,"fileSafeInstance",void 0),d(this,"note",void 0),d(this,"ignoreNextTextChange",void 0),d(this,"needsFileSafeElementLoad",void 0),d(this,"previousText",void 0),this.connectToBridge(),this.options.supportsFileSafe&&(this.fileSafeLoading=this.importFileSafe())}connectToBridge(){const{coallesedSaving:e,coallesedSavingDelay:n,mode:r,supportsFileSafe:a}=this.options;this.componentRelay=new(t())({targetWindow:window,options:{coallesedSaving:e,coallesedSavingDelay:n},onReady:()=>{const{platform:e}=this.componentRelay;e&&document.documentElement.classList.add(e)},onThemesChange:this.delegate.onThemesChange}),this.componentRelay.streamContextItem((async e=>{let t=!0;this.note&&this.note.uuid==e.uuid&&(t=!1);const n=this.note;if(a){const t=this.fileSafeClass.getSFItemClass();this.note=new t(e),this.fileSafeInstance.setCurrentNote(this.note)}else this.note=e;if(e.isMetadataUpdate)return;let i=e.content.text;if(r===p.Html&&t&&(/<[a-z][\s\S]*>/i.test(i)||(this.ignoreNextTextChange=!0)),this.previousText=i,a&&(this.needsFileSafeElementLoad=!0,i=l(i)),this.delegate.onNoteValueChange&&await this.delegate.onNoteValueChange(e),this.delegate.setEditorRawText(i),this.delegate.onNoteLockToggle){var o,s;const e=null!==(o=this.componentRelay.getItemAppDataValue(n,"locked"))&&void 0!==o&&o,t=null!==(s=this.componentRelay.getItemAppDataValue(this.note,"locked"))&&void 0!==s&&s;e!==t&&this.delegate.onNoteLockToggle(t)}var u,c;t&&(null===(u=(c=this.delegate).clearUndoHistory)||void 0===u||u.call(c))}))}async importFileSafe(){return Promise.resolve().then(i.t.bind(i,695,23)).then((e=>(this.fileSafeClass=e.default,this.configureFileSafe(),this.fileSafeInstance)))}configureFileSafe(){const e=["getCurrentLineText","getPreviousLineText","replaceText","getElementsBySelector","insertElement","preprocessElement","insertRawText"];for(const t of e)if(!this.delegate[t])throw Error("Missing ".concat(t," delegate function."));this.fileSafeInstance=new this.fileSafeClass({componentManager:this.componentRelay}),this.fileSafeInstance.addDataChangeObserver((()=>{const e=this.fileSafeInstance.getAllFileDescriptors();if(this.note&&this.fileIdsPendingAssociation.length>0){let t=!1;for(const n of this.fileIdsPendingAssociation.slice()){const r=e.find((e=>e.uuid==n));if(!r)continue;t=!0,this.fileIdsPendingAssociation.splice(this.fileIdsPendingAssociation.indexOf(n),1);const a=c(r);this.delegate.insertRawText(a)}t&&this.textExpander.searchPatterns()}e.length>0&&this.fileLoader.loadFileSafeElements()})),this.fileSafeInstance.addNewFileDescriptorHandler((e=>{this.fileIdsPendingAssociation.push(e.uuid)})),this.fileLoader=new a({fileSafeInstance:this.fileSafeInstance,getElementsBySelector:this.delegate.getElementsBySelector,insertElement:this.delegate.insertElement,preprocessElement:this.delegate.preprocessElement}),this.textExpander=new s({afterExpand:()=>this.fileLoader.loadFileSafeElements(),getCurrentLineText:this.delegate.getCurrentLineText,getPreviousLineText:this.delegate.getPreviousLineText,replaceText:this.delegate.replaceText,patterns:[{regex:u,callback:e=>l(e)}]})}async getFileSafe(){return!this.fileSafeInstance&&this.fileSafeLoading?this.fileSafeLoading:this.importFileSafe()}onEditorKeyUp(e){let{isSpace:t,isEnter:n}=e;this.textExpander.onKeyUp({isSpace:t,isEnter:n})}onEditorPaste(){this.textExpander.onKeyUp({isPaste:!0})}onEditorValueChanged(e){const{mode:t,supportsFileSafe:n}=this.options;if(this.needsFileSafeElementLoad&&(this.needsFileSafeElementLoad=!1,this.fileLoader.loadFileSafeElements()),this.ignoreNextTextChange)return void(this.ignoreNextTextChange=!1);if(n&&(e=(e=>{const t=(new DOMParser).parseFromString(e,"text/html"),n=t.querySelectorAll("*[fscollapsable]");for(const e of n){const t=e.getAttribute("fsid"),n=e.getAttribute("fsname"),r=e.getAttribute("width"),a=e.getAttribute("height"),i=["FileSafe",t,n];if(r&&a){const e="".concat(r,"x").concat(a);i.push(e)}const o="

[".concat(i.join(":"),"]

");e.insertAdjacentHTML("afterend",o),e.remove()}return t.querySelectorAll("*[ghost]").forEach((e=>e.remove())),t.body.innerHTML})(e),this.previousText==e))return;if(this.previousText=e,!this.note)return;const r=this.note;this.componentRelay.saveItemWithPresave(r,(()=>{if(r.content.text=e,this.delegate.generateCustomPreview){var n;const t=this.delegate.generateCustomPreview(e);r.content.preview_plain=null!==(n=t.plain)&&void 0!==n?n:" ",r.content.preview_html=t.html}else{if(t===p.Html){let t=e.replace(u,(e=>""));t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:90;return e.length<=t?e:e.substring(0,t)+"..."}((e=>{const t=document.implementation.createHTMLDocument().body;return t.innerHTML=e,t.textContent||t.innerText||""})(t)),r.content.preview_plain=t.length>0?t:" "}else r.content.preview_plain=e;r.content.preview_html=null}}))}canUploadFiles(){const e=this.fileSafeInstance.getAllCredentials(),t=this.fileSafeInstance.getAllIntegrations();return e.length>0&&t.length>0}async uploadJSFileObject(e){const t=this.fileLoader.insertStatusAtCursor("Processing file...");return this.fileSafeInstance.encryptAndUploadJavaScriptFileObject(e).then((()=>{this.fileLoader.removeCursorStatus(t)}))}saveItemWithPresave(e,t){this.componentRelay.saveItemWithPresave(e,t)}get platform(){return this.componentRelay.platform}get environment(){return this.componentRelay.environment}}})(),o.default})())},856:function(e){e.exports=function(){"use strict";function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?n-1:0),a=1;a/gm),z=s(/^data-[\-\w.\u00B7-\uFFFF]/),U=s(/^aria-[\-\w]+$/),H=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),W=s(/^(?:\w+script|data):/i),K=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function q(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:$(),t=function(e){return Q(e)};if(t.version="2.2.9",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=e.document,a=e.DocumentFragment,i=e.HTMLTemplateElement,s=e.Node,u=e.Element,l=e.NodeFilter,c=e.NamedNodeMap,f=void 0===c?e.NamedNodeMap||e.MozNamedAttrMap:c,x=e.Text,S=e.Comment,G=e.DOMParser,Y=e.trustedTypes,X=u.prototype,Z=C(X,"cloneNode"),ee=C(X,"nextSibling"),te=C(X,"childNodes"),ne=C(X,"parentNode");if("function"==typeof i){var re=r.createElement("template");re.content&&re.content.ownerDocument&&(r=re.content.ownerDocument)}var ae=J(Y,n),ie=ae&&Ne?ae.createHTML(""):"",oe=r,se=oe.implementation,ue=oe.createNodeIterator,le=oe.createDocumentFragment,ce=n.importNode,fe={};try{fe=E(r).documentMode?r.documentMode:{}}catch(e){}var de={};t.isSupported="function"==typeof ne&&se&&void 0!==se.createHTMLDocument&&9!==fe;var pe=j,he=B,me=z,ve=U,ge=W,ye=K,be=H,ke=null,we=_({},[].concat(q(I),q(R),q(D),q(F),q(T))),xe=null,Se=_({},[].concat(q(M),q(P),q(N),q(L))),_e=null,Ee=null,Ce=!0,Ie=!0,Re=!1,De=!1,Ae=!1,Fe=!1,Oe=!1,Te=!1,Me=!1,Pe=!0,Ne=!1,Le=!0,je=!0,Be=!1,ze={},Ue=_({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),He=null,We=_({},["audio","video","img","source","image","track"]),Ke=null,Ve=_({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),qe="http://www.w3.org/1998/Math/MathML",$e="http://www.w3.org/2000/svg",Je="http://www.w3.org/1999/xhtml",Qe=Je,Ge=!1,Ye=null,Xe=r.createElement("form"),Ze=function(e){Ye&&Ye===e||(e&&"object"===(void 0===e?"undefined":V(e))||(e={}),e=E(e),ke="ALLOWED_TAGS"in e?_({},e.ALLOWED_TAGS):we,xe="ALLOWED_ATTR"in e?_({},e.ALLOWED_ATTR):Se,Ke="ADD_URI_SAFE_ATTR"in e?_(E(Ve),e.ADD_URI_SAFE_ATTR):Ve,He="ADD_DATA_URI_TAGS"in e?_(E(We),e.ADD_DATA_URI_TAGS):We,_e="FORBID_TAGS"in e?_({},e.FORBID_TAGS):{},Ee="FORBID_ATTR"in e?_({},e.FORBID_ATTR):{},ze="USE_PROFILES"in e&&e.USE_PROFILES,Ce=!1!==e.ALLOW_ARIA_ATTR,Ie=!1!==e.ALLOW_DATA_ATTR,Re=e.ALLOW_UNKNOWN_PROTOCOLS||!1,De=e.SAFE_FOR_TEMPLATES||!1,Ae=e.WHOLE_DOCUMENT||!1,Te=e.RETURN_DOM||!1,Me=e.RETURN_DOM_FRAGMENT||!1,Pe=!1!==e.RETURN_DOM_IMPORT,Ne=e.RETURN_TRUSTED_TYPE||!1,Oe=e.FORCE_BODY||!1,Le=!1!==e.SANITIZE_DOM,je=!1!==e.KEEP_CONTENT,Be=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||be,Qe=e.NAMESPACE||Je,De&&(Ie=!1),Me&&(Te=!0),ze&&(ke=_({},[].concat(q(T))),xe=[],!0===ze.html&&(_(ke,I),_(xe,M)),!0===ze.svg&&(_(ke,R),_(xe,P),_(xe,L)),!0===ze.svgFilters&&(_(ke,D),_(xe,P),_(xe,L)),!0===ze.mathMl&&(_(ke,F),_(xe,N),_(xe,L))),e.ADD_TAGS&&(ke===we&&(ke=E(ke)),_(ke,e.ADD_TAGS)),e.ADD_ATTR&&(xe===Se&&(xe=E(xe)),_(xe,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&_(Ke,e.ADD_URI_SAFE_ATTR),je&&(ke["#text"]=!0),Ae&&_(ke,["html","head","body"]),ke.table&&(_(ke,["tbody"]),delete _e.tbody),o&&o(e),Ye=e)},et=_({},["mi","mo","mn","ms","mtext"]),tt=_({},["foreignobject","desc","title","annotation-xml"]),nt=_({},R);_(nt,D),_(nt,A);var rt=_({},F);_(rt,O);var at=function(e){var t=ne(e);t&&t.tagName||(t={namespaceURI:Je,tagName:"template"});var n=m(e.tagName),r=m(t.tagName);if(e.namespaceURI===$e)return t.namespaceURI===Je?"svg"===n:t.namespaceURI===qe?"svg"===n&&("annotation-xml"===r||et[r]):Boolean(nt[n]);if(e.namespaceURI===qe)return t.namespaceURI===Je?"math"===n:t.namespaceURI===$e?"math"===n&&tt[r]:Boolean(rt[n]);if(e.namespaceURI===Je){if(t.namespaceURI===$e&&!tt[r])return!1;if(t.namespaceURI===qe&&!et[r])return!1;var a=_({},["title","style","font","a","script"]);return!rt[n]&&(a[n]||!nt[n])}return!1},it=function(e){h(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=ie}catch(t){e.remove()}}},ot=function(e,n){try{h(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(e){h(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!xe[e])if(Te||Me)try{it(n)}catch(e){}else try{n.setAttribute(e,"")}catch(e){}},st=function(e){var t=void 0,n=void 0;if(Oe)e=""+e;else{var a=v(e,/^[\r\n\t ]+/);n=a&&a[0]}var i=ae?ae.createHTML(e):e;if(Qe===Je)try{t=(new G).parseFromString(i,"text/html")}catch(e){}if(!t||!t.documentElement){t=se.createDocument(Qe,"template",null);try{t.documentElement.innerHTML=Ge?"":i}catch(e){}}var o=t.body||t.documentElement;return e&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),Ae?t.documentElement:o},ut=function(e){return ue.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},lt=function(e){return!(e instanceof x||e instanceof S||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof f&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},ct=function(e){return"object"===(void 0===s?"undefined":V(s))?e instanceof s:e&&"object"===(void 0===e?"undefined":V(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ft=function(e,n,r){de[e]&&d(de[e],(function(e){e.call(t,n,r,Ye)}))},dt=function(e){var n=void 0;if(ft("beforeSanitizeElements",e,null),lt(e))return it(e),!0;if(v(e.nodeName,/[\u0080-\uFFFF]/))return it(e),!0;var r=m(e.nodeName);if(ft("uponSanitizeElement",e,{tagName:r,allowedTags:ke}),!ct(e.firstElementChild)&&(!ct(e.content)||!ct(e.content.firstElementChild))&&k(/<[/\w]/g,e.innerHTML)&&k(/<[/\w]/g,e.textContent))return it(e),!0;if(!ke[r]||_e[r]){if(je&&!Ue[r]){var a=ne(e)||e.parentNode,i=te(e)||e.childNodes;if(i&&a)for(var o=i.length-1;o>=0;--o)a.insertBefore(Z(i[o],!0),ee(e))}return it(e),!0}return e instanceof u&&!at(e)?(it(e),!0):"noscript"!==r&&"noembed"!==r||!k(/<\/no(script|embed)/i,e.innerHTML)?(De&&3===e.nodeType&&(n=e.textContent,n=g(n,pe," "),n=g(n,he," "),e.textContent!==n&&(h(t.removed,{element:e.cloneNode()}),e.textContent=n)),ft("afterSanitizeElements",e,null),!1):(it(e),!0)},pt=function(e,t,n){if(Le&&("id"===t||"name"===t)&&(n in r||n in Xe))return!1;if(Ie&&k(me,t));else if(Ce&&k(ve,t));else{if(!xe[t]||Ee[t])return!1;if(Ke[t]);else if(k(be,g(n,ye,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==y(n,"data:")||!He[e])if(Re&&!k(ge,g(n,ye,"")));else if(n)return!1}return!0},ht=function(e){var n=void 0,r=void 0,a=void 0,i=void 0;ft("beforeSanitizeAttributes",e,null);var o=e.attributes;if(o){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:xe};for(i=o.length;i--;){var u=n=o[i],l=u.name,c=u.namespaceURI;if(r=b(n.value),a=m(l),s.attrName=a,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=void 0,ft("uponSanitizeAttribute",e,s),r=s.attrValue,!s.forceKeepAttr&&(ot(l,e),s.keepAttr))if(k(/\/>/i,r))ot(l,e);else{De&&(r=g(r,pe," "),r=g(r,he," "));var f=e.nodeName.toLowerCase();if(pt(f,a,r))try{c?e.setAttributeNS(c,l,r):e.setAttribute(l,r),p(t.removed)}catch(e){}}}ft("afterSanitizeAttributes",e,null)}},mt=function e(t){var n=void 0,r=ut(t);for(ft("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)ft("uponSanitizeShadowNode",n,null),dt(n)||(n.content instanceof a&&e(n.content),ht(n));ft("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(r,i){var o=void 0,u=void 0,l=void 0,c=void 0,f=void 0;if((Ge=!r)&&(r="\x3c!--\x3e"),"string"!=typeof r&&!ct(r)){if("function"!=typeof r.toString)throw w("toString is not a function");if("string"!=typeof(r=r.toString()))throw w("dirty is not a string, aborting")}if(!t.isSupported){if("object"===V(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(ct(r))return e.toStaticHTML(r.outerHTML)}return r}if(Fe||Ze(i),t.removed=[],"string"==typeof r&&(Be=!1),Be);else if(r instanceof s)1===(u=(o=st("\x3c!----\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===u.nodeName||"HTML"===u.nodeName?o=u:o.appendChild(u);else{if(!Te&&!De&&!Ae&&-1===r.indexOf("<"))return ae&&Ne?ae.createHTML(r):r;if(!(o=st(r)))return Te?null:ie}o&&Oe&&it(o.firstChild);for(var d=ut(Be?r:o);l=d.nextNode();)3===l.nodeType&&l===c||dt(l)||(l.content instanceof a&&mt(l.content),ht(l),c=l);if(c=null,Be)return r;if(Te){if(Me)for(f=le.call(o.ownerDocument);o.firstChild;)f.appendChild(o.firstChild);else f=o;return Pe&&(f=ce.call(n,f,!0)),f}var p=Ae?o.outerHTML:o.innerHTML;return De&&(p=g(p,pe," "),p=g(p,he," ")),ae&&Ne?ae.createHTML(p):p},t.setConfig=function(e){Ze(e),Fe=!0},t.clearConfig=function(){Ye=null,Fe=!1},t.isValidAttribute=function(e,t,n){Ye||Ze({});var r=m(e),a=m(t);return pt(r,a,n)},t.addHook=function(e,t){"function"==typeof t&&(de[e]=de[e]||[],h(de[e],t))},t.removeHook=function(e){de[e]&&p(de[e])},t.removeHooks=function(e){de[e]&&(de[e]=[])},t.removeAllHooks=function(){de={}},t}return Q()}()},971:(e,t,n)=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=13)}([function(e,t){e.exports=n(294)},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){e.exports=n(12)},function(e,t){function n(e,t){for(var n=0;n=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var u=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;C(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:R(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),i=n(9),o=n.n(i),s=n(5),u=n.n(s),l=n(6),c=n.n(l),f=n(7),d=n.n(f),p=n(4),h=n.n(p),m=n(8),v=n.n(m),g=n(2),y=n.n(g),b=n(1),k=n.n(b),w=function(){function e(){u()(this,e),this.unloadHandlers=[],this.dataChangeObservers=[]}return h()(e,null,[{key:"get",value:function(){return null==this.instance&&(this.instance=new e),this.instance}}]),h()(e,[{key:"setFilesafeInstance",value:function(e){var t=this;this.filesafe=e,this.fsObserver=e.addDataChangeObserver((function(){var e=!0,n=!1,r=void 0;try{for(var a,i=t.dataChangeObservers[Symbol.iterator]();!(e=(a=i.next()).done);e=!0)(0,a.value)()}catch(e){n=!0,r=e}finally{try{e||null==i.return||i.return()}finally{if(n)throw r}}}))}},{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getDelegate",value:function(){return this.delegate||{}}},{key:"addDataChangeObserver",value:function(e){this.dataChangeObservers.push(e)}},{key:"addUnloadHandler",value:function(e){this.unloadHandlers.push(e)}},{key:"unload",value:function(){var t=!0,n=!1,r=void 0;try{for(var a,i=this.unloadHandlers[Symbol.iterator]();!(t=(a=i.next()).done);t=!0)(0,a.value)()}catch(e){n=!0,r=e}finally{try{t||null==i.return||i.return()}finally{if(n)throw r}}this.dataChangeObservers=[],this.filesafe&&this.filesafe.removeDataChangeObserver(this.fsObserver),e.instance=null}},{key:"defaultRelayServerUrl",value:function(){return window.default_fs_relay_server_url||"https://filesafe.standardnotes.org"}}]),e}();k()(w,"instance",null);var x=function(e){function t(e){var n;return u()(this,t),n=c()(this,d()(t).call(this,e)),k()(y()(n),"exportCredential",(function(e){var t=btoa(JSON.stringify(e,null,2));w.get().filesafe.downloadBase64Data({base64Data:t,fileName:"sn-filesafe-keys-".concat(e.created_at.toISOString(),".json"),fileType:"text/json"})})),k()(y()(n),"deleteCredential",(function(e){0==n.numFilesForCredential(e)?w.get().filesafe.deleteCredential(e):alert("This key has files encrypted with it and cannot be deleted. First delete any associated files, then try again.")})),k()(y()(n),"createNewKeys",(function(){w.get().filesafe.createNewCredentials()})),k()(y()(n),"labelForCredential",(function(e){return e.created_at.toLocaleString()})),k()(y()(n),"numFilesForCredential",(function(e){return w.get().filesafe.numberOfFilesEncryptedWithCredential(e)})),k()(y()(n),"setCredentialAsDefault",(function(e){w.get().filesafe.setCredentialAsDefault(e)})),n.state={credentials:w.get().filesafe.getAllCredentials()||[]},w.get().addDataChangeObserver((function(){n.setState({credentials:w.get().filesafe.getAllCredentials()})})),n}return v()(t,e),h()(t,[{key:"render",value:function(){var e=this;return a.a.createElement("div",null,a.a.createElement("div",{className:"sk-panel-row"},a.a.createElement("div",{className:"sk-h2 sk-bold"},"Keys"),a.a.createElement("div",{className:"sk-button info no-border",onClick:this.createNewKeys},a.a.createElement("div",{className:"sk-label"},"Create New"))),a.a.createElement("div",{className:"list-container"},this.state.credentials.map((function(t){return a.a.createElement("div",{className:"list-item sk-horizontal-group top"},a.a.createElement("div",{className:"sk-circle x-small "+(t.content.isDefault?"info":"sk-secondary-contrast")}),a.a.createElement("div",null,a.a.createElement("div",{className:"sk-panel-row condensed sk-bold"},e.labelForCredential(t)),a.a.createElement("div",{style:{marginTop:3},className:"sk-panel-row condensed"},e.numFilesForCredential(t)," encrypted files"),a.a.createElement("div",{className:"sk-panel-row condensed"},a.a.createElement("div",{className:"sk-horizontal-group"},e.state.credentials.length>1&&!t.content.isDefault&&a.a.createElement("a",{className:"info",onClick:function(){e.setCredentialAsDefault(t)}},"Make Default"),a.a.createElement("a",{className:"info",onClick:function(){e.exportCredential(t)}},"Export"),a.a.createElement("a",{className:"danger",onClick:function(){e.deleteCredential(t)}},"Delete")))))}))))}}]),t}(a.a.Component),S=n(3),_=n.n(S),E=function(){function e(t){var n=t.credentialManager,r=t.integrationManager;u()(this,e),this.credentialManager=n,this.integrationManager=r}return h()(e,[{key:"getMessages",value:function(){var e,t;return _.a.async((function(n){for(;;)switch(n.prev=n.next){case 0:return e=[],n.next=3,_.a.awrap(this.credentialManager.getDefaultCredentials());case 3:return n.sent||e.push({message:"Create keys by selecting Create New under Keys.",css:"sk-base"}),(t=this.integrationManager.integrations)&&0!=t.length||e.push({message:"Add a new integration by selecting Add New under Integrations",css:"sk-base"}),n.abrupt("return",e);case 8:case"end":return n.stop()}}),null,this)}}]),e}(),C=function(e){function t(e){var n;return u()(this,t),(n=c()(this,d()(t).call(this,e))).state={},n}return v()(t,e),h()(t,[{key:"render",value:function(){return a.a.createElement("div",{id:"messages"},a.a.createElement("div",{className:"title"},"Complete the following steps before uploading your first file:"),a.a.createElement("ul",null,this.props.messages.map((function(e){return a.a.createElement("li",{dangerouslySetInnerHTML:{__html:e.message},className:e.css})}))))}}]),t}(a.a.Component),I=function(e){function t(e){var n;return u()(this,t),n=c()(this,d()(t).call(this,e)),k()(y()(n),"setStatusForFile",(function(e,t,r){n.setState({fileStatusFile:e,fileStatus:t,hasStatusSpinner:r})})),k()(y()(n),"decryptFileDescriptor",(function(e){var t,r;return _.a.async((function(a){for(;;)switch(a.prev=a.next){case 0:if(t=w.get().filesafe.integrationForFileDescriptor(e)){a.next=4;break}return alert("Unable to find integration for file. If you have deleted the integration, please re-add it and try again."),a.abrupt("return");case 4:return r=w.get().filesafe.displayStringForIntegration(t),n.setStatusForFile(e,"Downloading from ".concat(r,"..."),!0),a.abrupt("return",w.get().filesafe.downloadFileFromDescriptor(e).then((function(t){return n.setStatusForFile(e,"Decrypting...",!0),w.get().filesafe.decryptFile({fileDescriptor:e,fileItem:t}).then((function(t){return{base64Data:t.decryptedData,fileName:e.content.fileName,fileType:e.content.fileType}})).catch((function(t){console.error("filesafe-embed | error decrypting file:",t),n.flashErrorForFileDescriptor(e,"Error decrypting file.")}))})).catch((function(t){console.error("Error downloading file",t),n.flashErrorForFileDescriptor(e,"Error downloading file.")})));case 7:case"end":return a.stop()}}))})),k()(y()(n),"downloadFile",(function(e){var t,r;return _.a.async((function(a){for(;;)switch(a.prev=a.next){case 0:if(!n.isMobile){a.next=5;break}return t=w.get().filesafe.getPlatform(),alert("Downloading files is not currently supported on ".concat("ios"==t?"iOS":"Android",".")),a.abrupt("return");case 5:return a.next=7,_.a.awrap(n.decryptFileDescriptor(e));case 7:if(r=a.sent){a.next=11;break}return console.error("decryptFile returned nil data"),a.abrupt("return");case 11:w.get().filesafe.downloadBase64Data(r),n.setStatusForFile(e,null);case 13:case"end":return a.stop()}}))})),k()(y()(n),"previewFile",(function(e){var t,r;return _.a.async((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,_.a.awrap(n.decryptFileDescriptor(e));case 2:t=a.sent,r=w.get().filesafe.createTemporaryFileUrl({base64Data:t.base64Data,dataType:t.fileType}),n.setStatusForFile(e,null),n.setState({previewUrl:r,previewingFile:e});case 6:case"end":return a.stop()}}))})),k()(y()(n),"onClickPreview",(function(){setTimeout((function(){n.revokePreview()}),500)})),k()(y()(n),"selectFile",(function(e,t){e.target.focus(),n.state.selectedFile==t?(n.setState({selectedFile:null}),n.delegate.onSelectFile&&n.delegate.onSelectFile(null)):(n.setState({selectedFile:t}),n.delegate.onSelectFile&&n.delegate.onSelectFile(t)),n.revokePreview()})),k()(y()(n),"deleteFile",(function(e){w.get().filesafe.deleteFileFromDescriptor(e)})),k()(y()(n),"copyInsertionLink",(function(e){var t="[FileSafe:".concat(e.uuid,":").concat(e.content.fileName,"]");w.get().filesafe.copyTextToClipboard(t),n.setState({copiedLink:e}),setTimeout((function(){n.setState({copiedLink:null})}),1e3)})),k()(y()(n),"isFileSelected",(function(e){return n.state.selectedFile==e})),k()(y()(n),"elementForFile",(function(e){var t,r=w.get().filesafe.integrationForFileDescriptor(e);t=r?w.get().filesafe.displayStringForIntegration(r):"Integration Not Found";var i=e.content.serverMetadata.file_path,o=n.state.previewUrl&&n.state.previewingFile==e,s=n.state.fileStatusFile==e&&n.state.fileStatus,u=n.state.hasStatusSpinner;return a.a.createElement("div",{className:"file-item-container "+(n.isFileSelected(e)?"expanded":"")},a.a.createElement("div",{onClick:function(t){n.selectFile(t,e)},className:"file-item-button sk-button info "+(n.isFileSelected(e)?"selected":void 0)},a.a.createElement("div",{className:"sk-label"},e.content.fileName),s&&a.a.createElement("div",{className:"file-download-status sk-horizontal-group"},u&&a.a.createElement("div",{className:"sk-spinner x-small"}),a.a.createElement("div",{className:"file-status-label"},n.state.fileStatus)),n.isFileSelected(e)&&a.a.createElement("div",{className:"file-item-options-wrapper"},a.a.createElement("div",{onClick:function(e){e.stopPropagation()},className:"sk-app-bar file-item-options"},a.a.createElement("div",{className:"center"},a.a.createElement("div",{onClick:function(t){t.stopPropagation(),n.downloadFile(e)},className:"sk-app-bar-item"},a.a.createElement("div",{className:"sk-label contrast "+(n.isMobile?"disabled":"")},"Download")),a.a.createElement("div",{className:"sk-app-bar-item border"}),n.supportsPreviews&&o&&a.a.createElement("a",{className:"sk-app-bar-item",href:n.state.previewUrl,onClick:function(e){e.stopPropagation(),n.onClickPreview()},target:"_blank"},a.a.createElement("div",{className:"sk-label contrast"},"Open Preview")),n.supportsPreviews&&!o&&a.a.createElement("div",{onClick:function(t){t.stopPropagation(),n.previewFile(e)},className:"sk-app-bar-item"},a.a.createElement("div",{className:"sk-label contrast "+(n.isMobile?"disabled":"")},"Preview")),n.supportsPreviews&&a.a.createElement("div",{className:"sk-app-bar-item border"}),a.a.createElement("div",{onClick:function(t){t.stopPropagation(),n.copyInsertionLink(e)},className:"sk-app-bar-item"},a.a.createElement("div",{className:"sk-label contrast"},n.state.copiedLink==e?"Copied":"Copy Insert Link")),a.a.createElement("div",{className:"sk-app-bar-item border"}),a.a.createElement("div",{onClick:function(t){t.stopPropagation(),n.deleteFile(e)},className:"sk-app-bar-item"},a.a.createElement("div",{className:"sk-label contrast"},"Delete")))),a.a.createElement("div",{className:"file-location"},a.a.createElement("strong",null,t),a.a.createElement("span",null," ",i)))))})),n.state={},n.delegate=w.get().getDelegate(),n}return v()(t,e),h()(t,[{key:"revokePreview",value:function(){this.state.previewUrl&&w.get().filesafe.revokeTempUrl(this.state.previewUrl),this.setState({previewUrl:null,previewingFile:null})}},{key:"flashErrorForFileDescriptor",value:function(e,t){var n=this;this.setStatusForFile(e,t,!1),setTimeout((function(){n.setStatusForFile(null)}),2500)}},{key:"render",value:function(){var e=this;return this.props.files.map((function(t){return e.elementForFile(t)}))}},{key:"supportsPreviews",get:function(){if(void 0!==this._supportsPreview)return this._supportsPreview;var e=w.get().filesafe.getEnvironment();if(null==e)return!1;this._supportsPreview="web"==e}},{key:"isMobile",get:function(){return w.get().filesafe.isMobile()}}]),t}(a.a.Component),R=function(e){function t(e){var n;return u()(this,t),n=c()(this,d()(t).call(this,e)),k()(y()(n),"event_preventDefaults",(function(e){e.preventDefault(),e.stopPropagation()})),k()(y()(n),"event_highlight",(function(e){n.event_preventDefaults(e),n.rootElement.classList.add("highlight")})),k()(y()(n),"event_unhighlight",(function(e){n.event_preventDefaults(e),n.rootElement.classList.remove("highlight")})),k()(y()(n),"event_drop",(function(e){n.event_unhighlight(e),n.event_preventDefaults(e);var t=e.dataTransfer.files;n.handleDroppedFiles(t)})),k()(y()(n),"handleDroppedFiles",(function(e){var t,r,a,i,o,s;return _.a.async((function(u){for(;;)switch(u.prev=u.next){case 0:if(0!=w.get().filesafe.getAllIntegrations().length){u.next=3;break}return alert("Please set up at least one integration before attempting to upload a file. To do this, press Expand, and select Add New in the Integrations section."),u.abrupt("return");case 3:t=!0,r=!1,a=void 0,u.prev=6,i=e[Symbol.iterator]();case 8:if(t=(o=i.next()).done){u.next=17;break}if(s=o.value){u.next=12;break}return u.abrupt("continue",14);case 12:return u.next=14,_.a.awrap(n.readFile(s));case 14:t=!0,u.next=8;break;case 17:u.next=23;break;case 19:u.prev=19,u.t0=u.catch(6),r=!0,a=u.t0;case 23:u.prev=23,u.prev=24,t||null==i.return||i.return();case 26:if(u.prev=26,!r){u.next=29;break}throw a;case 29:return u.finish(26);case 30:return u.finish(23);case 31:case"end":return u.stop()}}),null,null,[[6,19,23,31],[24,,26,30]])})),n.messagesManager=new E({credentialManager:w.get().filesafe.credentialManager,integrationManager:w.get().filesafe.integrationManager}),n.messagesManager.getMessages().then((function(e){n.setState({messages:e})})),n.state={noteFiles:w.get().filesafe.fileDescriptorsForCurrentNote(),messages:[]},w.get().addDataChangeObserver((function(){n.reload()})),w.get().addUnloadHandler((function(){window.removeEventListener("dragenter",n.event_highlight,!1),window.removeEventListener("dragover",n.event_highlight,!1),window.removeEventListener("dragleave",n.event_unhighlight,!1),window.removeEventListener("drop",n.event_drop,!1)})),n}return v()(t,e),h()(t,[{key:"reload",value:function(){var e;return _.a.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,_.a.awrap(this.messagesManager.getMessages());case 2:e=t.sent,this.setState({noteFiles:w.get().filesafe.fileDescriptorsForCurrentNote(),messages:e});case 4:case"end":return t.stop()}}),null,this)}},{key:"componentDidMount",value:function(){this.configureFileForm(),window.addEventListener("dragenter",this.event_highlight,!1),window.addEventListener("dragover",this.event_highlight,!1),window.addEventListener("dragleave",this.event_unhighlight,!1),window.addEventListener("drop",this.event_drop,!1)}},{key:"configureFileForm",value:function(){var e=this,t=this.fileInput;this.dropContainer,t&&(t.onchange=function(t){var n=t.target.files;e.handledFiles||e.handleDroppedFiles(n)})}},{key:"reset",value:function(){this.setState({rawData:null,decryptedItems:null,requestPassword:!1})}},{key:"readFile",value:function(e){var t=this;return _.a.async((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise((function(n,r){var a=new FileReader,i=!1;a.onload=function(r){var a,o,s,u;return _.a.async((function(l){for(;;)switch(l.prev=l.next){case 0:if(a=r.target.result,!i){l.next=7;break}a=JSON.parse(a),o=a.items[0],t.decryptDraggedFile(o).then(n),l.next=20;break;case 7:if(!((s=a).byteLength>5e7)){l.next=14;break}return alert("The maximum upload size is ".concat(50," megabytes per file.")),t.setState({status:null}),n(),l.abrupt("return");case 14:return l.next=16,_.a.awrap(SFJS.crypto.arrayBufferToBase64(s));case 16:return u=l.sent,l.next=19,_.a.awrap(t.encryptFile(u,e.name,e.type));case 19:n();case 20:case"end":return l.stop()}}))},t.setState({status:"Reading file..."}),e.name.endsWith(".sf")||e.name.endsWith(".json")?(i=!0,a.readAsText(e)):a.readAsArrayBuffer(e)})));case 4:case"end":return n.stop()}}))}},{key:"decryptDraggedFile",value:function(e){var t,n,r,a,i,o,s,u,l=this;return _.a.async((function(c){for(;;)switch(c.prev=c.next){case 0:this.setState({status:"Decrypting..."}),t=w.get().filesafe.getAllCredentials(),n=function(t){return _.a.async((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise((function(n,r){w.get().filesafe.decryptFile({fileItem:e,credential:t}).then((function(e){var t=e.decryptedItem;w.get().filesafe.downloadBase64Data({base64Data:e.decryptedData,fileName:t.content.fileName,fileType:t.content.fileType}),l.setState({status:null}),n(!0)})).catch((function(e){console.error("Error decrypting:",e),l.flashError("Error decrypting file."),r(!1)}))})));case 1:case"end":return n.stop()}}))},r=!0,a=!1,i=void 0,c.prev=6,o=t[Symbol.iterator]();case 8:if(r=(s=o.next()).done){c.next=18;break}return u=s.value,c.next=12,_.a.awrap(n(u));case 12:if(!c.sent){c.next=15;break}return c.abrupt("return");case 15:r=!0,c.next=8;break;case 18:c.next=24;break;case 20:c.prev=20,c.t0=c.catch(6),a=!0,i=c.t0;case 24:c.prev=24,c.prev=25,r||null==o.return||o.return();case 27:if(c.prev=27,!a){c.next=30;break}throw i;case 30:return c.finish(27);case 31:return c.finish(24);case 32:case"end":return c.stop()}}),null,this,[[6,20,24,32],[25,,27,31]])}},{key:"wait",value:function(e){return _.a.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t,n){setTimeout((function(){t()}),1e3*e)})));case 1:case"end":return t.stop()}}))}},{key:"encryptFile",value:function(e,t,n){var r,a,i=this;return _.a.async((function(o){for(;;)switch(o.prev=o.next){case 0:if(r=w.get().filesafe.getDefaultCredentials()){o.next=5;break}return this.setState({status:null}),alert("Please set up at least one key before attempting to upload a file. To do this, press Expand, and select Create New in the Keys section."),o.abrupt("return");case 5:if(a=w.get().filesafe.getDefaultIntegration()){o.next=10;break}return this.setState({status:null}),alert("Please set up at least one integration before attempting to upload a file. To do this, press Expand, and select Add New in the Integrations section."),o.abrupt("return");case 10:return this.setState({status:"Encrypting..."}),o.abrupt("return",w.get().filesafe.encryptFile({data:e,inputFileName:t,fileType:n,credential:r}).then((function(e){return _.a.async((function(o){for(;;)switch(o.prev=o.next){case 0:return i.setState({status:"Uploading to ".concat(w.get().filesafe.displayStringForIntegration(a),"...")}),o.next=3,_.a.awrap(i.wait(.5));case 3:return o.abrupt("return",w.get().filesafe.uploadFile({fileItem:e,inputFileName:t,fileType:n,credential:r}).then((function(){i.setState({status:"Upload Success."}),setTimeout((function(){i.setState({status:null})}),2e3)})).catch((function(e){console.error("fs-embed | error uploading file:",e),i.flashError("Error uploading file.")})));case 4:case"end":return o.stop()}}))})));case 12:case"end":return o.stop()}}),null,this)}},{key:"flashError",value:function(e){var t=this;this.setState({status:e,statusClass:"danger"}),setTimeout((function(){t.setState({status:null,statusClass:null})}),2500)}},{key:"render",value:function(){var e=this,t=this.state.statusClass?this.state.statusClass:"info",n="info"==t;return a.a.createElement("div",{className:"sn-component files-view"},a.a.createElement("div",{className:"sk-panel-row align-top"},a.a.createElement("div",{className:"files"},this.state.messages.length>0&&a.a.createElement("div",{id:"messages-container",className:"sk-panel-section"},a.a.createElement(C,{messages:this.state.messages})),this.state.status&&a.a.createElement("div",{id:"file-upload-status",className:"sk-horizontal-group"},n&&a.a.createElement("div",{className:"sk-spinner info small"}),a.a.createElement("div",{className:t},this.state.status)),a.a.createElement("div",{id:"add-file-button-container"},a.a.createElement("div",{className:"file sk-button info"},a.a.createElement("label",{className:"no-style"},a.a.createElement("input",{type:"file",style:{display:"none"},onChange:function(t){e.handleDroppedFiles(t.target.files)}}),a.a.createElement("div",{id:"attach-file-button-label",className:"sk-label"},"Attach File")))),a.a.createElement(I,{files:this.state.noteFiles}))))}},{key:"rootElement",get:function(){return document.getElementById("filesafe-embed")}},{key:"dropContainer",get:function(){return document.getElementById("files-view")}},{key:"fileInput",get:function(){return document.getElementById("file-input")}}]),t}(a.a.Component),D=function(e){function t(e){var n;return u()(this,t),n=c()(this,d()(t).call(this,e)),k()(y()(n),"toggleVisibility",(function(){n.setState({expanded:!n.state.expanded})})),n.state={expanded:!1,files:w.get().filesafe.getAllFileDescriptors()||[]},w.get().addDataChangeObserver((function(){n.setState({files:w.get().filesafe.getAllFileDescriptors()})})),n}return v()(t,e),h()(t,[{key:"render",value:function(){return a.a.createElement("div",{className:"files-view"},a.a.createElement("div",{className:"sk-panel-row justify-left"},a.a.createElement("div",{className:"sk-horizontal-group"},a.a.createElement("div",{className:"sk-panel-section-title"},"All Files ",a.a.createElement("span",{style:{fontWeight:"normal"}},"(",this.state.files.length,")")),a.a.createElement("a",{className:"info",onClick:this.toggleVisibility},this.state.expanded?"Hide":"Show"))),this.state.expanded&&a.a.createElement("div",{className:"sk-panel-row"},a.a.createElement("div",{className:"files"},a.a.createElement(I,{files:this.state.files}))))}}]),t}(a.a.Component),A=function(e){function t(e){var n;return u()(this,t),n=c()(this,d()(t).call(this,e)),k()(y()(n),"handleKeyPress",(function(e){"Enter"===e.key&&n.submitIntegrationCode()})),k()(y()(n),"handleTextChange",(function(e){var t=e.target.value;n.setState({integrationCode:t})})),k()(y()(n),"submitIntegrationCode",(function(){var e=n.state.integrationCode;e&&0!=e.length&&w.get().filesafe.saveIntegrationFromCode(e).then((function(){n.setState({integrationCode:null,showInputForm:!1}),n.reloadIntegrations()})).catch((function(){alert("Invalid integration code. Ensure the correct value is copied and try again.")}))})),k()(y()(n),"addNewIntegrationClicked",(function(){window.open(w.get().defaultRelayServerUrl(),"_blank"),n.setState({showInputForm:!0})})),k()(y()(n),"cancelIntegrationForm",(function(){n.setState({showInputForm:!1})})),k()(y()(n),"deleteIntegration",(function(e){w.get().filesafe.deleteIntegration(e)})),k()(y()(n),"setIntegrationAsDefaultUploadSource",(function(e){w.get().filesafe.setIntegrationAsDefault(e)})),n.state={integrations:w.get().filesafe.getAllIntegrations()||[]},w.get().addDataChangeObserver((function(){n.reloadIntegrations()})),n}return v()(t,e),h()(t,[{key:"reloadIntegrations",value:function(){var e=w.get().filesafe.getAllIntegrations();this.setState({integrations:e})}},{key:"componentDidMount",value:function(){}},{key:"componentWillUnmount",value:function(){}},{key:"displayStringForIntegration",value:function(e){return w.get().filesafe.displayStringForIntegration(e)}},{key:"render",value:function(){var e=this,t=this.state.integrations.length>1;return a.a.createElement("div",null,a.a.createElement("div",{className:"sk-panel-row"},a.a.createElement("div",{className:"sk-h2 sk-bold"},"Integrations"),!this.state.showInputForm&&a.a.createElement("div",{className:"sk-button info no-border",onClick:this.addNewIntegrationClicked},a.a.createElement("div",{className:"sk-label"},"Add New"))),a.a.createElement("div",{id:"integrations"},this.state.showInputForm&&a.a.createElement("div",{className:"sk-notification info"},a.a.createElement("strong",null,"New Integration"),a.a.createElement("p",{className:"sk-p"},"A new browser tab has opened—if not, try ",a.a.createElement("a",{href:w.get().defaultRelayServerUrl(),target:"_blank"},"this link"),". Complete the authentication flow and enter the code you receive below."),a.a.createElement("div",{className:"sk-panel-row"}),a.a.createElement("input",{className:"title sk-input contrast",type:"text",placeholder:"Enter integration code",value:this.state.integrationCode,onChange:this.handleTextChange,onKeyPress:this.handleKeyPress}),a.a.createElement("div",{className:"sk-button-group",style:{marginTop:10}},a.a.createElement("div",{className:"sk-button neutral",onClick:this.cancelIntegrationForm},a.a.createElement("a",{className:"sk-label"},"Cancel")),a.a.createElement("div",{className:"sk-button sk-base",onClick:this.submitIntegrationCode},a.a.createElement("a",{className:"sk-label"},"Submit"))))),a.a.createElement("div",{className:"list-container"},this.state.integrations.map((function(n){return a.a.createElement("div",{className:"list-item sk-horizontal-group top"},a.a.createElement("div",{className:"sk-circle x-small "+(n.content.isDefaultUploadSource?"info":"sk-secondary-contrast")}),a.a.createElement("div",null,a.a.createElement("div",{className:"sk-panel-row condensed sk-bold"},e.displayStringForIntegration(n)),a.a.createElement("div",{className:"sk-panel-row condensed"},a.a.createElement("div",{className:"sk-horizontal-group"},t&&!n.content.isDefaultUploadSource&&a.a.createElement("a",{className:"info",onClick:function(){e.setIntegrationAsDefaultUploadSource(n)}},"Make Default"),a.a.createElement("a",{className:"danger",onClick:function(){e.deleteIntegration(n)}},"Delete")))))}))))}}]),t}(a.a.Component),F=function(e){function t(e){var n;return u()(this,t),(n=c()(this,d()(t).call(this,e))).state={messages:[]},n}return v()(t,e),h()(t,[{key:"render",value:function(){return a.a.createElement("div",{id:"home",className:"sk-panel static"},a.a.createElement("div",{id:"main-content",className:"sk-panel-content"},a.a.createElement("div",{className:"sk-panel-section"},a.a.createElement(R,null)),a.a.createElement("div",{className:"sk-panel-section"},a.a.createElement(A,null)),a.a.createElement("div",{className:"sk-panel-section"},a.a.createElement(x,null)),a.a.createElement("div",{className:"sk-panel-section"},a.a.createElement(D,null))))}}]),t}(a.a.Component),O=function(e){function t(e){return u()(this,t),c()(this,d()(t).call(this,e))}return v()(t,e),h()(t,null,[{key:"renderInElement",value:function(e,n,r){w.get().setFilesafeInstance(n),w.get().setDelegate(r),o.a.render(a.a.createElement(t),e)}},{key:"unload",value:function(e){w.get().unload(),o.a.unmountComponentAtNode(e)}}]),h()(t,[{key:"render",value:function(){return a.a.createElement("div",{id:"filesafe-embed"},a.a.createElement("div",{className:"sn-component"},a.a.createElement(F,null)))}}]),t}(a.a.Component);t.default={FilesafeEmbed:O,React:a.a,ReactDOM:o.a}}])},166:e=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}([function(e,t,n){(function(t){e.exports=function(){function e(t,n,r){function a(o,s){if(!n[o]){if(!t[o]){if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[o]={exports:{}};t[o][0].call(l.exports,(function(e){return a(t[o][1][e]||e)}),l,l.exports,e,t,n,r)}return n[o].exports}for(var i=!1,o=0;o>>2]|=(n[a>>>2]>>>24-a%4*8&255)<<24-(r+a)%4*8;else if(65535>>2]=n[a>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%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,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,a=n.sigBytes,i=this.blockSize,s=a/(4*i);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*i,a=e.min(4*t,a),t){for(var u=0;u>>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,o=0;4>o&&a+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,r=this._map;(a=r.charAt(64))&&-1!=(a=e.indexOf(a))&&(t=a);for(var a=[],i=0,o=0;o>>6-o%4*2;a[i>>>2]|=(s|u)<<24-i%4*8,i++}return n.create(a,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,a,i,o){return((e=e+(t&n|~t&r)+a+o)<>>32-i)+t}function n(e,t,n,r,a,i,o){return((e=e+(t&r|n&~r)+a+o)<>>32-i)+t}function r(e,t,n,r,a,i,o){return((e=e+(t^n^r)+a+o)<>>32-i)+t}function a(e,t,n,r,a,i,o){return((e=e+(n^(t|~r))+a+o)<>>32-i)+t}for(var i=u,o=(l=i.lib).WordArray,s=l.Hasher,l=i.algo,c=[],f=0;64>f;f++)c[f]=4294967296*e.abs(e.sin(f+1))|0;l=l.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,i){for(var o=0;16>o;o++){var s=e[u=i+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[i+0],l=(s=e[i+1],e[i+2]),f=e[i+3],d=e[i+4],p=e[i+5],h=e[i+6],m=e[i+7],v=e[i+8],g=e[i+9],y=e[i+10],b=e[i+11],k=e[i+12],w=e[i+13],x=e[i+14],S=e[i+15],_=t(_=o[0],I=o[1],C=o[2],E=o[3],u,7,c[0]),E=t(E,_,I,C,s,12,c[1]),C=t(C,E,_,I,l,17,c[2]),I=t(I,C,E,_,f,22,c[3]);_=t(_,I,C,E,d,7,c[4]),E=t(E,_,I,C,p,12,c[5]),C=t(C,E,_,I,h,17,c[6]),I=t(I,C,E,_,m,22,c[7]),_=t(_,I,C,E,v,7,c[8]),E=t(E,_,I,C,g,12,c[9]),C=t(C,E,_,I,y,17,c[10]),I=t(I,C,E,_,b,22,c[11]),_=t(_,I,C,E,k,7,c[12]),E=t(E,_,I,C,w,12,c[13]),C=t(C,E,_,I,x,17,c[14]),_=n(_,I=t(I,C,E,_,S,22,c[15]),C,E,s,5,c[16]),E=n(E,_,I,C,h,9,c[17]),C=n(C,E,_,I,b,14,c[18]),I=n(I,C,E,_,u,20,c[19]),_=n(_,I,C,E,p,5,c[20]),E=n(E,_,I,C,y,9,c[21]),C=n(C,E,_,I,S,14,c[22]),I=n(I,C,E,_,d,20,c[23]),_=n(_,I,C,E,g,5,c[24]),E=n(E,_,I,C,x,9,c[25]),C=n(C,E,_,I,f,14,c[26]),I=n(I,C,E,_,v,20,c[27]),_=n(_,I,C,E,w,5,c[28]),E=n(E,_,I,C,l,9,c[29]),C=n(C,E,_,I,m,14,c[30]),_=r(_,I=n(I,C,E,_,k,20,c[31]),C,E,p,4,c[32]),E=r(E,_,I,C,v,11,c[33]),C=r(C,E,_,I,b,16,c[34]),I=r(I,C,E,_,x,23,c[35]),_=r(_,I,C,E,s,4,c[36]),E=r(E,_,I,C,d,11,c[37]),C=r(C,E,_,I,m,16,c[38]),I=r(I,C,E,_,y,23,c[39]),_=r(_,I,C,E,w,4,c[40]),E=r(E,_,I,C,u,11,c[41]),C=r(C,E,_,I,f,16,c[42]),I=r(I,C,E,_,h,23,c[43]),_=r(_,I,C,E,g,4,c[44]),E=r(E,_,I,C,k,11,c[45]),C=r(C,E,_,I,S,16,c[46]),_=a(_,I=r(I,C,E,_,l,23,c[47]),C,E,u,6,c[48]),E=a(E,_,I,C,m,10,c[49]),C=a(C,E,_,I,x,15,c[50]),I=a(I,C,E,_,p,21,c[51]),_=a(_,I,C,E,k,6,c[52]),E=a(E,_,I,C,f,10,c[53]),C=a(C,E,_,I,y,15,c[54]),I=a(I,C,E,_,s,21,c[55]),_=a(_,I,C,E,v,6,c[56]),E=a(E,_,I,C,S,10,c[57]),C=a(C,E,_,I,h,15,c[58]),I=a(I,C,E,_,w,21,c[59]),_=a(_,I,C,E,d,6,c[60]),E=a(E,_,I,C,b,10,c[61]),C=a(C,E,_,I,l,15,c[62]),I=a(I,C,E,_,g,21,c[63]),o[0]=o[0]+_|0,o[1]=o[1]+I|0,o[2]=o[2]+C|0,o[3]=o[3]+E|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,a=8*t.sigBytes;n[a>>>5]|=128<<24-a%32;var i=e.floor(r/4294967296);for(n[15+(a+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(a+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)a=n[r],n[r]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),i.MD5=s._createHelper(l),i.HmacMD5=s._createHmacHelper(l)}(Math),function(){var e,t=u,n=(e=t.lib).Base,r=e.WordArray,a=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),a=r.create(),i=a.words,o=s.keySize,s=s.iterations;i.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:l,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(l=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(i)},parse:function(e){var t=(e=i.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:l}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var a=e.createEncryptor(n,r);return t=a.finalize(t),a=a.cfg,d.create({ciphertext:t,key:n,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,a){return a||(a=r.random(8)),e=o.create({keySize:t+n}).compute(e,a),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,d.create({key:e,iv:n,salt:a})}},m=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=p.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,p.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,n=e.algo,r=[],a=[],i=[],o=[],s=[],l=[],c=[],f=[],d=[],p=[],h=[],m=0;256>m;m++)h[m]=128>m?m<<1:m<<1^283;var v=0,g=0;for(m=0;256>m;m++){var y=(y=g^g<<1^g<<2^g<<3^g<<4)>>>8^255&y^99;r[v]=y,a[y]=v;var b=h[v],k=h[b],w=h[k],x=257*h[y]^16843008*y;i[v]=x<<24|x>>>8,o[v]=x<<16|x>>>16,s[v]=x<<8|x>>>24,l[v]=x,x=16843009*w^65537*k^257*b^16843008*v,c[y]=x<<24|x>>>8,f[y]=x<<16|x>>>16,d[y]=x<<8|x>>>24,p[y]=x,v?(v=b^h[h[h[w^b]]],g^=h[h[g]]):v=g=1}var S=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),a=this._keySchedule=[],i=0;i>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o]):(o=r[(o=o<<8|o>>>24)>>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o],o^=S[i/t|0]<<24),a[i]=a[i-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=i?o:c[r[o>>>24]]^f[r[o>>>16&255]]^d[r[o>>>8&255]]^p[r[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,o,s,l,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,c,f,d,p,a),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,a,i,o,s){for(var u=this._nRounds,l=e[t]^n[0],c=e[t+1]^n[1],f=e[t+2]^n[2],d=e[t+3]^n[3],p=4,h=1;h>>24]^a[c>>>16&255]^i[f>>>8&255]^o[255&d]^n[p++],v=r[c>>>24]^a[f>>>16&255]^i[d>>>8&255]^o[255&l]^n[p++],g=r[f>>>24]^a[d>>>16&255]^i[l>>>8&255]^o[255&c]^n[p++];d=r[d>>>24]^a[l>>>16&255]^i[c>>>8&255]^o[255&f]^n[p++],l=m,c=v,f=g}m=(s[l>>>24]<<24|s[c>>>16&255]<<16|s[f>>>8&255]<<8|s[255&d])^n[p++],v=(s[c>>>24]<<24|s[f>>>16&255]<<16|s[d>>>8&255]<<8|s[255&l])^n[p++],g=(s[f>>>24]<<24|s[d>>>16&255]<<16|s[l>>>8&255]<<8|s[255&c])^n[p++],d=(s[d>>>24]<<24|s[l>>>16&255]<<16|s[c>>>8&255]<<8|s[255&f])^n[p++],e[t]=m,e[t+1]=v,e[t+2]=g,e[t+3]=d},keySize:8}),e.AES=t._createHelper(n)}(),u=u||function(e,t){var n={},r=n.lib={},a=function(){},i=r.Base={extend:function(e){a.prototype=this;var t=new a;return e&&t.mixIn(e),t.hasOwnProperty("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=r.WordArray=i.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes;if(e=e.sigBytes,this.clamp(),r%4)for(var a=0;a>>2]|=(n[a>>>2]>>>24-a%4*8&255)<<24-(r+a)%4*8;else if(65535>>2]=n[a>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%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,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,a=n.sigBytes,i=this.blockSize,s=a/(4*i);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*i,a=e.min(4*t,a),t){for(var u=0;uc;){var f;e:{f=l;for(var d=e.sqrt(f),p=2;p<=d;p++)if(!(f%p)){f=!1;break e}f=!0}f&&(8>c&&(i[c]=s(e.pow(l,.5))),o[c]=s(e.pow(l,1/3)),c++),l++}var h=[];a=a.SHA256=r.extend({_doReset:function(){this._hash=new n.init(i.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],a=n[1],i=n[2],s=n[3],u=n[4],l=n[5],c=n[6],f=n[7],d=0;64>d;d++){if(16>d)h[d]=0|e[t+d];else{var p=h[d-15],m=h[d-2];h[d]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+h[d-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+h[d-16]}p=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&l^~u&c)+o[d]+h[d],m=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&a^r&i^a&i),f=c,c=l,l=u,u=s+p|0,s=i,i=a,a=r,r=p+m|0}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+i|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0,n[5]=n[5]+l|0,n[6]=n[6]+c|0,n[7]=n[7]+f|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,a=8*t.sigBytes;return n[a>>>5]|=128<<24-a%32,n[14+(a+64>>>9<<4)]=e.floor(r/4294967296),n[15+(a+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=r._createHelper(a),t.HmacSHA256=r._createHmacHelper(a)}(Math),i=(a=u).enc.Utf8,a.algo.HMAC=a.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,u=o.words,l=0;l>>2]|=(n[a>>>2]>>>24-a%4*8&255)<<24-(r+a)%4*8;else if(65535>>2]=n[a>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%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,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,a=n.sigBytes,i=this.blockSize,s=a/(4*i);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*i,a=e.min(4*t,a),t){for(var u=0;ul;l++)s[l]=e();i=i.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=(f=this._hash.words)[0],r=f[1],a=f[2],i=f[3],u=f[4],l=f[5],c=f[6],f=f[7],d=n.high,p=n.low,h=r.high,m=r.low,v=a.high,g=a.low,y=i.high,b=i.low,k=u.high,w=u.low,x=l.high,S=l.low,_=c.high,E=c.low,C=f.high,I=f.low,R=d,D=p,A=h,F=m,O=v,T=g,M=y,P=b,N=k,L=w,j=x,B=S,z=_,U=E,H=C,W=I,K=0;80>K;K++){var V=s[K];if(16>K)var q=V.high=0|e[t+2*K],$=V.low=0|e[t+2*K+1];else{q=(($=(q=s[K-15]).high)>>>1|(J=q.low)<<31)^($>>>8|J<<24)^$>>>7;var J=(J>>>1|$<<31)^(J>>>8|$<<24)^(J>>>7|$<<25),Q=(($=(Q=s[K-2]).high)>>>19|(G=Q.low)<<13)^($<<3|G>>>29)^$>>>6,G=(G>>>19|$<<13)^(G<<3|$>>>29)^(G>>>6|$<<26),Y=($=s[K-7]).high,X=(Z=s[K-16]).high,Z=Z.low;q=(q=(q=q+Y+(($=J+$.low)>>>0>>0?1:0))+Q+(($+=G)>>>0>>0?1:0))+X+(($+=Z)>>>0>>0?1:0),V.high=q,V.low=$}Y=N&j^~N&z,Z=L&B^~L&U,V=R&A^R&O^A&O;var ee=D&F^D&T^F&T,te=(J=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7),Q=(D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7),(G=o[K]).high),ne=G.low;X=H+((N>>>14|L<<18)^(N>>>18|L<<14)^(N<<23|L>>>9))+((G=W+((L>>>14|N<<18)^(L>>>18|N<<14)^(L<<23|N>>>9)))>>>0>>0?1:0),H=z,W=U,z=j,U=B,j=N,B=L,N=M+(X=(X=(X=X+Y+((G+=Z)>>>0>>0?1:0))+te+((G+=ne)>>>0>>0?1:0))+q+((G+=$)>>>0<$>>>0?1:0))+((L=P+G|0)>>>0

>>0?1:0)|0,M=O,P=T,O=A,T=F,A=R,F=D,R=X+(V=J+V+(($=Q+ee)>>>0>>0?1:0))+((D=G+$|0)>>>0>>0?1:0)|0}p=n.low=p+D,n.high=d+R+(p>>>0>>0?1:0),m=r.low=m+F,r.high=h+A+(m>>>0>>0?1:0),g=a.low=g+T,a.high=v+O+(g>>>0>>0?1:0),b=i.low=b+P,i.high=y+M+(b>>>0

>>0?1:0),w=u.low=w+L,u.high=k+N+(w>>>0>>0?1:0),S=l.low=S+B,l.high=x+j+(S>>>0>>0?1:0),E=c.low=E+U,c.high=_+z+(E>>>0>>0?1:0),I=f.low=I+W,f.high=C+H+(I>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=n._createHelper(i),t.HmacSHA512=n._createHmacHelper(i)}(),s=(o=u).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),i=this._iKey=t.clone(),o=a.words,u=i.words,l=0;l>>2]|=(n[a>>>2]>>>24-a%4*8&255)<<24-(r+a)%4*8;else if(65535>>2]=n[a>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%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,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,a=n.sigBytes,i=this.blockSize,s=a/(4*i);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*i,a=e.min(4*t,a),t){for(var u=0;ul;l++){if(16>l)r[l]=0|e[t+l];else{var c=r[l-3]^r[l-8]^r[l-14]^r[l-16];r[l]=c<<1|c>>>31}c=(a<<5|a>>>27)+u+r[l],c=20>l?c+(1518500249+(i&o|~i&s)):40>l?c+(1859775393+(i^o^s)):60>l?c+((i&o|i&s|o&s)-1894007588):c+((i^o^s)-899497514),u=s,s=o,o=i<<30|i>>>2,i=a,a=c}n[0]=n[0]+a|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(a),e.HmacSHA1=n._createHmacHelper(a)}(),function(){var e=u,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var r=e.blockSize,a=4*r;n.sigBytes>a&&(n=e.finalize(n)),n.clamp();for(var i=this._oKey=n.clone(),o=this._iKey=n.clone(),s=i.words,u=o.words,l=0;l>>2]|=(n[a>>>2]>>>24-a%4*8&255)<<24-(r+a)%4*8;else if(65535>>2]=n[a>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%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,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,a=n.sigBytes,i=this.blockSize,s=a/(4*i);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*i,a=e.min(4*t,a),t){for(var u=0;ul;l++){if(16>l)r[l]=0|e[t+l];else{var c=r[l-3]^r[l-8]^r[l-14]^r[l-16];r[l]=c<<1|c>>>31}c=(a<<5|a>>>27)+u+r[l],c=20>l?c+(1518500249+(i&o|~i&s)):40>l?c+(1859775393+(i^o^s)):60>l?c+((i&o|i&s|o&s)-1894007588):c+((i^o^s)-899497514),u=s,s=o,o=i<<30|i>>>2,i=a,a=c}n[0]=n[0]+a|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(a),e.HmacSHA1=n._createHmacHelper(a)}(),Object.defineProperty(r,"__esModule",{value:!0}),r.StandardFile=r.SFItemTransformer=r.SFCryptoWeb=r.SFCryptoJS=r.SFAbstractCrypto=r.SFItemHistoryEntry=r.SFItemHistory=r.SFHistorySession=r.SFPrivileges=r.SFPredicate=r.SFItemParams=r.SFItem=r.SFSyncManager=r.SFStorageManager=r.SFSingletonManager=r.SFSessionHistoryManager=r.SFPrivilegesManager=r.SFModelManager=r.SFMigrationManager=r.SFHttpManager=r.SFAuthManager=r.SFAlertManager=void 0;var E=function(){function e(){w(this,e)}return S(e,[{key:"alert",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"confirm",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.confirm(t.text)?e():n()})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}();r.SFAlertManager=E;var C=function(){function e(t,n,r,a){w(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=n,this.storageManager=t,this.alertManager=r||new E,this.$timeout=a||setTimeout.bind(window),this.eventHandlers=[]}return S(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,a=void 0;try{for(var i,o=this.eventHandlers[Symbol.iterator]();!(n=(i=o.next()).done);n=!0)(0,i.value)(e,t||{})}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}}},{key:"saveKeys",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"signout",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!n){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){r.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)})));function n(e){return t.apply(this,arguments)}return n}()},{key:"keys",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAuthParams",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"defaultProtocolVersion",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"protocolVersion",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAuthParamsForEmail",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var a,i=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(a=_.merge({email:n},r)).api=R.getApiVersion(),e.abrupt("return",new Promise((function(e,n){var r=t+"/auth/params";i.httpManager.getAbsolute(r,a,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==y(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r,a,i,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=k(regeneratorRuntime.mark((function t(u,l){var c,f,d,p,h,m,v,g,b,w,x,S;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(n,r,o);case 13:if((c=t.sent).identifier=r,!c.error){t.next=18;break}return s.unlockAndResolve(u,c),t.abrupt("return");case 18:if(c&&c.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(c.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(c.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(c.version)){t.next=32;break}return d="The encryption version for your account, ".concat(c.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),p=!1,t.next=30,s.alertManager.confirm({title:"Update Needed",text:d,confirmButtonText:"Sign In"}).catch((function(){s.unlockAndResolve(u,{error:{}}),p=!0}));case 30:if(!p){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(c.pw_cost)){t.next=36;break}return h="Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in.",s.unlockAndResolve(u,{error:{message:h}}),t.abrupt("return");case 36:if(m=SFJS.costMinimumForVersion(c.version),!(c.pw_cost5&&void 0!==u[5]&&u[5],e.abrupt("return",new Promise(function(){var e=k(regeneratorRuntime.mark((function e(u,l){var c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((c=new XMLHttpRequest).onreadystatechange=function(){if(4==c.readyState){var e=c.responseText;if(e)try{e=JSON.parse(e)}catch(e){}c.status>=200&&c.status<=299?s.$timeout((function(){a(e),u(e)})):(console.error("Request error:",e),s.$timeout((function(){i(e,c.status),l(e)})))}},"get"==t&&Object.keys(r).length>0&&(n=s.urlForUrlAndParams(n,r)),c.open(t,n,!0),c.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(c);case 8:"post"==t||"patch"==t?c.send(JSON.stringify(r)):c.send();case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})));function t(t,n,r,a,i){return e.apply(this,arguments)}return t}()},{key:"urlForUrlAndParams",value:function(e,t){var n=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+n:e+"?"+n}}]),e}();r.SFHttpManager=R;var D=function(){function e(t,n,r,a){var i=this;w(this,e),this.modelManager=t,this.syncManager=n,this.storageManager=r,this.completionHandlers=[],this.loadMigrations();var o=!1,s=a.addEventHandler((function(e){e==C.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=n.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,u,l,c,f,d,p,h,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u="sync:completed"==t,!(r="local-data-loaded"==t)&&!u){e.next=40;break}if(r?i.receivedLocalDataEvent=!0:u&&(i.receivedSyncCompletedEvent=!0),!i.receivedLocalDataEvent||!i.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,a.removeEventHandler(s),e.next=10,i.getCompletedMigrations();case 10:l=e.sent.slice(),c=!0,f=!1,d=void 0,e.prev=14,p=l[Symbol.iterator]();case 16:if(c=(h=p.next()).done){e.next=25;break}return m=h.value,e.next=20,i.migrationForEncodedName(m);case 20:e.sent.runOnlyOnce||_.pull(i._completed,m);case 22:c=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,d=e.t0;case 31:e.prev=31,e.prev=32,c||null==p.return||p.return();case 34:if(e.prev=34,!f){e.next=37;break}throw d;case 37:return e.finish(34);case 38:return e.finish(31);case 39:i.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,n){return e.apply(this,arguments)}}())}return S(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return n=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==n})));case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,a,i,o,s,u,l,c,f,d,p,h,m,v,g,y,b,k,w,x,S,_,E,C,I,R;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,n=!0,r=!1,a=void 0,e.prev=6,i=t[Symbol.iterator]();!(n=(o=i.next()).done);n=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),r=!0,a=e.t0;case 14:e.prev=14,e.prev=15,n||null==i.return||i.return();case 17:if(e.prev=17,!r){e.next=20;break}throw a;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,l=!1,c=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(d=f.next()).done){e.next=51;break}for(p=d.value,h=!0,m=!1,v=void 0,e.prev=32,g=t[Symbol.iterator]();!(h=(y=g.next()).done);h=!0)s=y.value,p.content_type==s.content_type&&s.items.push(p);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),m=!0,v=e.t1;case 40:e.prev=40,e.prev=41,h||null==g.return||g.return();case 43:if(e.prev=43,!m){e.next=46;break}throw v;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),l=!0,c=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!l){e.next=63;break}throw c;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!0,k=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(b=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:b=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),k=!0,w=e.t3;case 87:e.prev=87,e.prev=88,b||null==x.return||x.return();case 90:if(e.prev=90,!k){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,E=!1,C=void 0,e.prev=98,I=this.completionHandlers[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)(0,R.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),E=!0,C=e.t4;case 106:e.prev=106,e.prev=107,_||null==I.return||I.return();case 109:if(e.prev=109,!E){e.next=112;break}throw C;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"encode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"decode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getCompletedMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getPendingMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,a,i,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,n=[],r=!0,a=!1,i=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}n.push(u);case 19:r=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),a=!0,i=e.t4;case 28:e.prev=28,e.prev=29,r||null==o.return||o.return();case 31:if(e.prev=31,!a){e.next=34;break}throw i;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",n);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"markMigrationCompleted",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return n=e.sent,e.t0=n,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(n)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"runMigration",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){r.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(n).then((function(){r.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),e}();r.SFMigrationManager=D;var A=function(){function e(t){w(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}return S(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var n=!0,r=!1,a=void 0;try{for(var i,o=this.uuidChangeObservers[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;try{s.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}}},{key:"alternateUUIDForItem",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,a,i,o,s,u,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.createItem(n),t.next=3,SFJS.crypto.generateUUID();case 3:for(r.uuid=t.sent,r.informReferencesOfUUIDChange(n.uuid,r.uuid),this.informModelsOfUUIDChangeForItem(r,n.uuid,r.uuid),a=!0,i=!1,o=void 0,t.prev=9,s=n.referencingObjects[Symbol.iterator]();!(a=(u=s.next()).done);a=!0)(l=u.value).setIsNoLongerBeingReferencedBy(n),n.setIsNoLongerBeingReferencedBy(l),l.addItemAsRelationship(r);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),i=!0,o=t.t0;case 17:t.prev=17,t.prev=18,a||null==s.return||s.return();case 20:if(t.prev=20,!i){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(n.referencingObjects,!0),this.resolveReferencesForItem(r),this.loggingEnabled&&console.log(n.uuid,"--\x3e",r.uuid),n.deleted=!0,n.content.references=[],this.setItemDirty(n,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([n],e.MappingSourceLocalSaved);case 33:return this.addItem(r),this.setItemDirty(r,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(n,r),t.abrupt("return",r);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,n){var r=!0,a=!1,i=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(r=(o=s.next()).done);r=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,n)}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:n,sourceKey:r}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"mapResponseItemsToLocalModelsOmittingFields",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:n,source:r,sourceKey:a}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()},{key:"mapResponseItemsToLocalModelsWithOptions",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,a,i,o,s,u,l,c,f,d,p,m,v,g,y,b,k,w,x,S,_,E,C,I,R,D,A,F,O,T,M,P,N,L,j,B,z,U;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.items,r=t.omitFields,a=t.source,i=t.sourceKey,t.options,o=[],s=[],u=[],l=!0,c=!1,f=void 0,e.prev=5,d=n[Symbol.iterator]();case 7:if(l=(p=d.next()).done){e.next=58;break}if(m=p.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(v=!m.content&&!m.errorDecrypting,m.content_type&&m.uuid&&!v||m.deleted){e.next=16;break}return console.error("Server response item is corrupt:",m),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(g=!0,y=!1,b=void 0,e.prev=20,k=r[Symbol.iterator]();!(g=(w=k.next()).done);g=!0)x=w.value,delete m[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),y=!0,b=e.t0;case 28:e.prev=28,e.prev=29,g||null==k.return||k.return();case 31:if(e.prev=31,!y){e.next=34;break}throw b;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(m.uuid))&&(S.updateFromJSON(m),S.dummy=!1),_=m.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt("continue",55);case 42:if(E=!1,1!=m.deleted){e.next=50;break}if(!m.dirty){e.next=48;break}E=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(m)),this.addItem(S,E),S.errorDecrypting||u.push(S),o.push(S),s.push(m);case 55:l=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),c=!0,f=e.t1;case 64:e.prev=64,e.prev=65,l||null==d.return||d.return();case 67:if(e.prev=67,!c){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(C=!0,I=!1,R=void 0,e.prev=75,D=s.entries()[Symbol.iterator]();!(C=(A=D.next()).done);C=!0)F=h(A.value,2),O=F[0],T=F[1],M=o[O],T.content&&this.resolveReferencesForItem(M),M.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),I=!0,R=e.t2;case 83:e.prev=83,e.prev=84,C||null==D.return||D.return();case 86:if(e.prev=86,!I){e.next=89;break}throw R;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(P=this.popMissedReferenceStructsForObjects(s),N=!0,L=!1,j=void 0,e.prev=95,B=function(){var e=U.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},z=P[Symbol.iterator]();!(N=(U=z.next()).done);N=!0)B();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),L=!0,j=e.t3;case 104:e.prev=104,e.prev=105,N||null==z.return||z.return();case 107:if(e.prev=107,!L){e.next=110;break}throw j;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,a,i);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],n=[],r=e.map((function(e){return e.uuid})),a=r[0].length,i=0,o=Object.keys(this.missedReferences);i1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var n=e.contentObject;if(e.updateLocalRelationships(),n.references){var r=n.references.slice().map((function(e){return e.uuid})),a=!0,i=this.findItems(r,a),o=!0,s=!1,u=void 0;try{for(var l,c=i.entries()[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var f=h(l.value,2),d=f[0],p=f[1];if(p)e.addItemAsRelationship(p),t&&this.setItemDirty(p,!0);else{var m=r[d],v=this.missedReferenceBuildKey(m,e.uuid);if(!this.missedReferences[v]){var g={reference_uuid:m,for_item:e};this.missedReferences[v]=g}}}}catch(e){s=!0,u=e}finally{try{o||null==c.return||c.return()}finally{if(s)throw u}}}}}},{key:"notifySyncObserversOfModels",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var a,i,o,s,u,l,c,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(a,i,o,s,n,r);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),l=a[Symbol.iterator]();case 7:if(i=(c=l.next()).done){e.next=12;break}return e.delegateYield(u(),"t0",9);case 9:i=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,i||null==l.return||l.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"_callSyncObserverCallbackWithTimeout",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a,i,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,u){s.$timeout((function(){try{t.callback(n,r,a,i,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)})));function t(t,n,r,a,i,o){return e.apply(this,arguments)}return t}()},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,n,r,a)}},{key:"setItemsDirty",value:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var l,c=t[Symbol.iterator]();!(o=(l=c.next()).done);o=!0)l.value.setDirty(n,r)}catch(e){s=!0,u=e}finally{try{o||null==c.return||c.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,a||e.MappingSourceLocalDirtied,i)}},{key:"createItem",value:function(t){var n=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return n||(n=z),new n(t)}},{key:"createDuplicateItemFromResponseItem",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return n=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return n.uuid=e.sent,r=this.createItem(n),e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,n=e.duplicateOf,r=this.duplicateItemWithCustomContent({content:t,duplicateOf:n});return this.addDuplicatedItemAsConflict({duplicate:r,duplicateOf:n}),r}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,n=e.duplicateOf;this.addDuplicatedItem(t,n),t.content.conflict_of=n.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,n=e.duplicateOf,r=new n.constructor({content:t});return r.created_at=n.created_at,r.content_type||(r.content_type=n.content_type),r}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var n=!0,r=!1,a=void 0;try{for(var i,o=t.referencingObjects[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,n){this.addItemSyncObserverWithPriority({id:e,types:t,callback:n,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,n=e.priority,r=e.types,a=e.callback;Array.isArray(r)||(r=[r]),this.itemSyncObservers.push({id:t,types:r,priority:n,callback:a})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,n=!1,r=void 0;try{for(var a,i=e[Symbol.iterator]();!(t=(a=i.next()).done);t=!0)a.value.setDirty(!1)}catch(e){n=!0,r=e}finally{try{t||null==i.return||i.return()}finally{if(n)throw r}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,n=!1,r=void 0;try{for(var a,i=e.content.references[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){n=!0,r=e}finally{try{t||null==i.return||i.return()}finally{if(n)throw r}}}var u=!0,l=!1,c=void 0;try{for(var f,d=e.referencingObjects[Symbol.iterator]();!(u=(f=d.next()).done);u=!0){var p=f.value;p.removeItemAsRelationship(e),this.setItemDirty(p,!0)}}catch(e){l=!0,c=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw c}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value,l=this.itemsHash[u];(l||t)&&n.push(l)}}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}return n}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var n=!0,r=!1,a=void 0;try{for(var i,o=t[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}return!0}))}},{key:"importItems",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,a,i,o,s,u,l,c,f,d,p,h,m,v,g,y,b,k,w,x,S,_,E,C,I,R,D;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],a={},i=!0,o=!1,s=void 0,t.prev=5,u=n[Symbol.iterator]();case 7:if(i=(l=u.next()).done){t.next=18;break}if(c=l.value,f=this.findItem(c.uuid)){t.next=13;break}return a[c.uuid]={},t.abrupt("continue",15);case 13:d=this.duplicateItemWithoutAdding(f),a[c.uuid]={frozenValue:d,itemRef:f};case 15:i=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,i||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:p=!0,h=!1,m=void 0,t.prev=35,v=n[Symbol.iterator]();case 37:if(p=(g=v.next()).done){t.next=52;break}if(y=g.value,b=a[y.uuid],k=b.frozenValue,w=b.itemRef,!k||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(y);case 43:x=t.sent,y.deleted||k.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),r.push(x)),t.next=49;break;case 47:r.push(y),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:p=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),h=!0,m=t.t1;case 58:t.prev=58,t.prev=59,p||null==v.return||v.return();case 61:if(t.prev=61,!h){t.next=64;break}throw m;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(r,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,E=!1,C=void 0,t.prev=72,I=S[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)D=R.value,this.setItemDirty(D,!0,!1),D.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),E=!0,C=t.t2;case 80:t.prev=80,t.prev=81,_||null==I.return||I.return();case 83:if(t.prev=83,!E){t.next=86;break}throw C;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"getAllItemsJSONData",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,n,r));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"getJSONDataForItems",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new U(e,n,r).paramsForExportFile()}))).then((function(e){if(a&&0==e.length)return null;var t={items:e};return n&&(t.auth_params=r),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()},{key:"computeDataIntegrityHash",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),n=t.map((function(e){return e.updatedAtTimestamp()})),r=n.join(","),e.next=6,SFJS.crypto.sha256(r);case 6:return a=e.sent,e.abrupt("return",a);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();r.SFModelManager=A;var F=function(){function e(t,n,r){w(this,e),this.modelManager=t,this.syncManager=n,this.singletonManager=r,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}return S(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,a,i,o,s,u,l,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=n,r=t.sent.getCredentialsForAction(t.t0),a=[],i=!0,o=!1,s=void 0,t.prev=8,u=r[Symbol.iterator]();case 10:if(i=(l=u.next()).done){t.next=27;break}if((c=l.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||a.push(c),t.next=24;break;case 19:if(c!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&a.push(c);case 24:i=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,i||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",a);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"loadPrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,n){var r=W.contentType(),a=new H("content_type","=",r);t.singletonManager.registerSingleton([a],(function(n){t.privileges=n,e(n)}),function(){var n=k(regeneratorRuntime.mark((function n(a){var i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(i=new W({content_type:r}),SFJS.crypto.generateUUIDSync){n.next=4;break}return n.next=4,i.initUUID();case 4:t.modelManager.addItem(i),t.modelManager.setItemDirty(i,!0),t.syncManager.sync(),a(i),e(i);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getPrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"displayInfoForCredential",value:function(t){var n={};return n[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},n[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},n[t]}},{key:"displayInfoForAction",value:function(t){var n={};return n[e.ActionManageExtensions]={label:"Manage Extensions"},n[e.ActionManageBackups]={label:"Download/Import Backups"},n[e.ActionViewProtectedNotes]={label:"View Protected Notes"},n[e.ActionManagePrivileges]={label:"Manage Privileges"},n[e.ActionManagePasscode]={label:"Manage Passcode"},n[e.ActionDeleteNote]={label:"Delete Notes"},n[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=n,i=void 0,(i=new Date).setSeconds(i.getSeconds()+a),r=i,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(r)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(n))]));case 3:case"end":return t.stop()}var a,i}),t,this)})));function n(e){return t.apply(this,arguments)}return n}()},{key:"clearSession",value:function(){var t=k(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"getSelectedSessionLength",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(n));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"getSessionExpirey",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(n)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"actionHasPrivilegesConfigured",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"actionRequiresPrivilege",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",n.length>0);case 9:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"savePrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"authenticateAction",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,a,i,o,s,u,l,c,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:r=e.sent,a=[],i=[],o=!0,s=!1,u=void 0,e.prev=7,l=r[Symbol.iterator]();case 9:if(o=(c=l.next()).done){e.next=18;break}return f=c.value,e.next=13,this._verifyAuthenticationParameters(f,n[f]);case 13:e.sent?a.push(f):i.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==l.return||l.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==i.length,successfulCredentials:a,failedCredentials:i});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"_verifyAuthenticationParameters",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r){var a,i,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),i=function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",a(r));case 6:if(n!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",i(r));case 8:case"end":return t.stop()}}),t)})));function n(e,n){return t.apply(this,arguments)}return n}()}]),e}();r.SFPrivilegesManager=F;var O="sessionHistory_persist",T="sessionHistory_revisions",M="sessionHistory_autoOptimize",P=function(){function e(t,n,r,a,i){var o=this;w(this,e),this.modelManager=t,this.storageManager=n,this.$timeout=i||setTimeout.bind(window),this.keyRequestHandler=r,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",a,(function(e,t,n,r,a){if(r!==A.MappingSourceLocalDirtied){var i=!0,s=!1,u=void 0;try{for(var l,c=e[Symbol.iterator]();!(i=(l=c.next()).done);i=!0){var f=l.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){s=!0,u=e}finally{try{i||null==c.return||c.return()}finally{if(s)throw u}}}}))}))}return S(e,[{key:"encryptionParams",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"addHistoryEntryForItem",value:function(e){var t=this,n={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},r=this.historySession.addEntryForItem(n);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),r&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"clearAllHistory",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem(T));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"toggleDiskSaving",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem(O,JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem(O,JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem(T));case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"saveToDisk",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new U(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){n.storageManager.setItem(T,JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"loadFromDisk",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem(O);case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem(T);case 6:if(!(n=e.sent)){e.next=18;break}return n=JSON.parse(n),e.next=11,this.encryptionParams();case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:a=new K(n),this.historySession=a,e.next=19;break;case 18:this.historySession=new K;case 19:return e.next=21,this.storageManager.getItem(M);case 21:i=e.sent,this.autoOptimize=!i||JSON.parse(i);case 23:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"toggleAutoOptimize",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem(M,JSON.stringify(!0)):this.storageManager.setItem(M,JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()}]),e}();r.SFSessionHistoryManager=P;var N=function(){function e(t,n){var r=this;w(this,e),this.syncManager=n,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,n,a,i,o){i!==A.MappingSourceLocalDirtied&&r.resolveSingletons(t.allNondummyItems,null,!0)}}),n.addEventHandler((function(e,n){if("local-data-loaded"==e)r.resolveSingletons(t.allNondummyItems,null,!0),r.initialDataLoaded=!0;else if("sync:completed"==e){if(!r.initialDataLoaded)return;r.resolveSingletons(n.retrievedItems,n.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var n=!0,a=!1,i=void 0;try{for(var o,s=r.singletonHandlers[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;u.singleton&&H.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,r.resolveSingletons([t]))}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}}))}return S(e,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(e,t,n){var r=this;e=e||[],t=t||[];var a=!0,i=!1,o=void 0;try{for(var s,u=function(){var a=s.value,i=a.predicates.slice(),o=r.modelManager.filterItemsWithPredicates(e,i),u=function(){a.createBlock&&(a.pendingCreateBlockCallback=!0,a.createBlock((function(e){a.singleton=e,a.pendingCreateBlockCallback=!1,a.resolutionCallback&&a.resolutionCallback(e)})))},l=r.modelManager.filterItemsWithPredicates(t,i).length;if(o.length>0||l>0){var c=r.modelManager.itemsMatchingPredicates(i);if(c.length>=2){var f=c.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getSyncURL",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,a=void 0;try{for(var i,o=this.eventHandlers[Symbol.iterator]();!(n=(i=o.next()).done);n=!0)(0,i.value)(e,t||{})}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,n){var r=new Date(n.updated_at)-new Date(e.updated_at),a=t.contentTypeLoadPriority,i=0,o=0;return a&&(i=a.indexOf(e.content_type),o=a.indexOf(n.content_type),-1==i&&(i=a.length),-1==o&&(o=a.length)),i==o?r:i0&&void 0!==u[0]?u[0]:{},r=n.incrementalCallback,a=n.batchSize,!(i=n.options)||!i.simulateHighLatency){t.next=5;break}return o=i.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return a||(a=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var n=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,i=0,o=[],u=function(){var l=k(regeneratorRuntime.mark((function l(){var c,f;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:return c=t.slice(i,i+a),l.next=3,s.handleItemsResponse(c,null,A.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=l.sent,o.push(f),!((i+=c.length)0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,a.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(m=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new U(t,m.keys,m.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,r&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return v=t.sent,t.next=32,a.storageManager.saveModels(v).catch((function(e){console.error("Error writing items",e),a.syncStatus.localError=e,a.syncStatusDidChange(),o()}));case 32:a.syncStatus.localError&&(a.syncStatus.localError=null,a.syncStatusDidChange());case 33:i();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,n){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)})));function n(e,n){return t.apply(this,arguments)}return n}()},{key:"syncOffline",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,a,i,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!0,r=!1,a=void 0,e.prev=3,i=t[Symbol.iterator]();!(n=(o=i.next()).done);n=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),r=!0,a=e.t0;case 11:e.prev=11,e.prev=12,n||null==i.return||i.return();case 14:if(e.prev=14,!r){e.next=17;break}throw a;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var n=!0,r=!1,a=void 0;try{for(var i,o=t[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var u=i.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"markAllItemsDirtyAndSaveOffline",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,a,i,o,s,u,l,c,f,d,p,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}n=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),r=!0,a=!1,i=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:r=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),a=!0,i=e.t0;case 20:e.prev=20,e.prev=21,r||null==o.return||o.return();case 23:if(e.prev=23,!a){e.next=26;break}throw i;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(l=this.modelManager.allNondummyItems,c=!0,f=!1,d=void 0,e.prev=32,p=l[Symbol.iterator]();!(c=(h=p.next()).done);c=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,d=e.t1;case 40:e.prev=40,e.prev=41,c||null==p.return||p.return();case 43:if(e.prev=43,!f){e.next=46;break}throw d;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(l,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"setSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setCursorToken",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getCursorToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var n=!0,r=!1,a=void 0;try{for(var i,o=t[Symbol.iterator]();!(n=(i=o.next()).done);n=!0)(0,i.value)(e)}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n,r=this,a=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=a.length>0&&void 0!==a[0]?a[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=k(regeneratorRuntime.mark((function t(a,i){var o,s,u,l,c,f,d,p,h,m,v,g,y,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n||(n={}),o=r.modelManager.getDirtyItems(),s=o.filter((function(e){return!r.lastDirtyItemsSave||e.dirtiedDate>r.lastDirtyItemsSave})),t.next=5,r.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,l=r.syncStatus.syncOpInProgress,c=r.initialDataLoaded(),!l&&c){t.next=16;break}return r.performSyncAgainOnCompletion=!0,r.lastDirtyItemsSave=new Date,t.next=13,r.writeItemsToLocalStorage(s,!1);case 13:return l&&(r.queuedCallbacks.push(a),r.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),c||(r.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),a()),t.abrupt("return");case 16:if(r.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt("return",r.syncOffline(o).then((function(e){r.syncStatus.syncOpInProgress=!1,a(e)})).catch((function(e){r.notifyEvent("sync-exception",e)})));case 19:if(r.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return r.loggingEnabled&&console.log("Syncing online user."),f=r.syncStatus.needsMoreSync,r.syncStatus.syncStart=new Date,r.beginCheckingIfSyncIsTakingTooLong(),d=r.PerSyncItemUploadLimit,(p=o.slice(0,d)).lengthr.syncStatus.total&&(r.syncStatus.total=r.syncStatus.current),r.syncStatusDidChange(),t.next=34,r.writeItemsToLocalStorage(s,!1);case 34:return r.lastDirtyItemsSave=new Date,n.onPreSyncSave&&n.onPreSyncSave(),r.allRetreivedItems||(r.allRetreivedItems=[]),r.allSavedItems||(r.allSavedItems=[]),(h={}).limit=r.ServerItemDownloadLimit,n.performIntegrityCheck&&(h.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(p.map((function(e){var t=new U(e,u.keys,u.auth_params);return t.additionalFields=n.additionalFields,t.paramsForSync()}))).then((function(e){h.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),r.notifyEvent("sync-exception",t.t0);case 49:for(m=!0,v=!1,g=void 0,t.prev=52,y=p[Symbol.iterator]();!(m=(b=y.next()).done);m=!0)b.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),v=!0,g=t.t1;case 60:t.prev=60,t.prev=61,m||null==y.return||y.return();case 63:if(t.prev=63,!v){t.next=66;break}throw g;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,r.getSyncToken();case 70:return h.sync_token=t.sent,t.next=73,r.getCursorToken();case 73:return h.cursor_token=t.sent,h.api=R.getApiVersion(),r.loggingEnabled&&console.log("Syncing with params",h),t.prev=76,t.t2=r.httpManager,t.next=80,r.getSyncURL();case 80:t.t3=t.sent,t.t4=h,t.t5=function(e){r.handleSyncSuccess(p,e,n).then((function(){a(e)})).catch((function(e){console.log("Caught sync success exception:",e),r.handleSyncError(e,null,o).then((function(t){r.notifyEvent("sync-exception",e),a(t)}))}))},t.t6=function(e,t){r.handleSyncError(e,t,o).then((function(e){a(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,n){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"_awaitSleep",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"handleSyncSuccess",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r,a){var i,o,s,u,l,c,f,d,p,h,m,v,g,y,b,k,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!a.simulateHighLatency){t.next=4;break}return i=a.simulatedLatency||1e3,t.next=4,this._awaitSleep(i);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",r),o=this.allSavedItems.map((function(e){return e.uuid})),s=r.saved_items.map((function(e){return e.uuid})),r.retrieved_items=r.retrieved_items.filter((function(e){var t=o.includes(e.uuid),n=s.includes(e.uuid);if(t||n)return!1;var r=w.modelManager.findItem(e.uuid);return!r||!r.dirty})),u=[],l=!0,c=!1,f=void 0,t.prev=13,d=n[Symbol.iterator]();!(l=(p=d.next()).done);l=!0)0==(h=p.value).dirtyCount&&u.push(h);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),c=!0,f=t.t0;case 21:t.prev=21,t.prev=22,l||null==d.return||d.return();case 24:if(t.prev=24,!c){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(r.retrieved_items,null,A.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return m=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(m),this.syncStatus.retrievedCount=this.allRetreivedItems.length,v=["content","auth_hash"],t.next=38,this.handleItemsResponse(r.saved_items,v,A.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return g=t.sent,this.allSavedItems=this.allSavedItems.concat(g),y=r.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(y);case 43:return t.next=45,this.handleConflictsResponse(r.conflicts);case 45:if(b=t.sent,k=b&&b.length>0,!b){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(b,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(g,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(m,!1);case 54:if(!r.integrity_hash||r.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(r.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||g.length>=this.majorDataChangeThreshold||y&&y.length>=this.majorDataChangeThreshold||b&&b.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(r),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(a)}),10)),t.abrupt("return",r);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])})));function n(e,n,r){return t.apply(this,arguments)}return n}()},{key:"handleSyncError",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==n&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(r,!1),this.modelManager.didSyncModelsOffline(r),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"handleItemsResponse",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){var i,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(a);case 2:return i=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,i);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,n,r);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()},{key:"refreshErroredItems",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((n=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(n,null,A.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"handleConflictsResponse",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,a,i,o,s,u,l,c,f,d,p,h,m,v,g,y,b,k,w,x,S,_,E,C,I,R,D,F,O,T,M,P;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",n),r={},a=!0,i=!1,o=void 0,t.prev=7,s=n[Symbol.iterator]();case 9:if(a=(u=s.next()).done){t.next=21;break}if(l=u.value,c=l.server_item||l.unsaved_item,f=this.modelManager.findItem(c.uuid)){t.next=16;break}return r[c.uuid]={},t.abrupt("continue",18);case 16:d=f.getContentCopy(),r[c.uuid]={frozenContent:d,itemRef:f};case 18:a=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),i=!0,o=t.t0;case 27:t.prev=27,t.prev=28,a||null==s.return||s.return();case 30:if(t.prev=30,!i){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:p=[],h=!0,m=!1,v=void 0,t.prev=39,g=n[Symbol.iterator]();case 41:if(h=(y=g.next()).done){t.next=91;break}return b=y.value,k=b.server_item||b.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[k],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=r[k.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(p.push(S),"uuid_conflict"!==b.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,p.push(_),t.next=88;break;case 62:if("sync_conflict"!==b.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);case 65:if(E=t.sent,C=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),I=!C.isItemContentEqualWith(E),R=!S.isItemContentEqualWith(E),D=!1,F=!1,O=!1,T=!1,k.deleted||S.deleted?T=!0:I?(M=20,(new Date-S.client_updated_at)/1e30&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var r=k(regeneratorRuntime.mark((function r(a,i){var o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o={limit:n.limit||500,sync_token:n.syncToken,cursor_token:n.cursorToken,content_type:n.contentType,event:n.event,api:R.getApiVersion()},r.prev=1,r.t0=t.httpManager,r.next=5,t.getSyncURL();case 5:r.t1=r.sent,r.t2=o,r.t3=function(){var r=k(regeneratorRuntime.mark((function r(i){var o,s;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n.retrievedItems||(n.retrievedItems=[]),o=i.retrieved_items,r.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=r.sent.keys,r.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:n.retrievedItems=n.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),n.syncToken=i.sync_token,n.cursorToken=i.cursor_token,n.cursorToken?t.stateless_downloadAllItems(n).then(a):a(n.retrievedItems);case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.t4=function(e,t){i(e)},r.t0.postAuthenticatedAbsolute.call(r.t0,r.t1,r.t2,r.t3,r.t4),r.next=16;break;case 12:r.prev=12,r.t5=r.catch(1),console.log("Download all items exception caught:",r.t5),i(r.t5);case 16:case"end":return r.stop()}}),r,null,[[1,12]])})));return function(e,t){return r.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=k(regeneratorRuntime.mark((function e(n){var r,a,i,o,s,u,l,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],a=!0,i=!1,o=void 0,e.prev=4,s=n[Symbol.iterator]();case 6:if(a=(u=s.next()).done){e.next=18;break}if(l=u.value,!(c=t.modelManager.findItem(l.uuid))){e.next=14;break}if(l.isItemContentEqualWith(c)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(c);case 14:r.push(l);case 15:a=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),i=!0,o=e.t0;case 24:e.prev=24,e.prev=25,a||null==s.return||s.return();case 27:if(e.prev=27,!i){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:r,source:A.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"handleSignout",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"clearSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();r.SFSyncManager=B;var z=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==y(this.content)||this.content.references||(this.content.references=[])}return S(e,[{key:"initUUID",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var n=0,r=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];n"==n.operator?m>h:"<="==n.operator?m<=h:">="==n.operator?m>=h:"startsWith"==n.operator?m.startsWith(h):"in"==n.operator?-1!=h.indexOf(m):"includes"==n.operator?this.resolveIncludesPredicate(m,h):"matches"==n.operator&&new RegExp(h).test(m)}},{key:"resolveIncludesPredicate",value:function(t,n){if("string"==typeof n)return t.includes(n);var r;r=Array.isArray(n)?e.fromArray(n):n;var a=!0,i=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var l=s.value;if(this.ObjectSatisfiesPredicate(l,r))return!0}}catch(e){i=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,n){return Array.isArray(n)&&(n=e.fromArray(n)),this.ObjectSatisfiesPredicate(t,n)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var n=!0,r=!1,a=void 0;try{for(var i,o=t[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),n=t[1],r=new Date,a=parseInt(t[0]);return"days"==n?r.setDate(r.getDate()-a):"hours"==n&&r.setHours(r.getHours()-a),r}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();r.SFPredicate=H;var W=function(e){function t(e){var n;return w(this,t),(n=l(this,f(t).call(this,e))).content.desktopPrivileges||(n.content.desktopPrivileges={}),n}return d(t,e),S(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),S(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var n=this.getCredentialsForAction(e);n.push(t),this.setCredentialsForAction(e,n)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(z);r.SFPrivileges=W;var K=function(e){function t(e){var n;return w(this,t),(n=l(this,f(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(n.content.itemUUIDToItemHistoryMapping={}),Object.keys(n.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=n.content.itemUUIDToItemHistoryMapping[e];n.content.itemUUIDToItemHistoryMapping[e]=new V(t)})),n}return d(t,e),S(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new V),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var n=this.historyForItem(e);n.entries.length>t.LargeItemEntryAmountThreshold&&n.optimize()}}]),t}(z);r.SFHistorySession=K,K.LargeItemEntryAmountThreshold=60;var V=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(w(this,e),this.entries||(this.entries=[]),t.entries){var n=!0,r=!1,a=void 0;try{for(var i,o=t.entries[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}}}return S(e,[{key:"createEntryForItem",value:function(t){var n=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return n||(n=q),new n(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),n=this.getLastEntry();if(t.setPreviousEntry(n),!t.isSameAsEntry(n))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,n=[],r=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},a=function(e,a,i){if(i?n.push(e):-1!==(a=n.indexOf(e))&&n.splice(a,1),i&&r(e)&&-1==e.operationVector()){var o=t.entries[a-1];o&&n.push(o)}};this.entries.forEach((function(e,n){if(0==n||n==t.entries.length-1)a(e,n,!0);else{var i=r(e);a(e,n,i)}})),this.entries=this.entries.filter((function(e,t){return-1!==n.indexOf(e)}))}}]),e}();r.SFItemHistory=V,V.LargeEntryDeltaThreshold=15;var q=function(){function e(t){w(this,e),this.item=z.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return S(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new z(this.item),n=new z(e.item);return t.isItemContentEqualWith(n)}}]),e}();r.SFItemHistoryEntry=q,I="undefined"!=typeof window?window:void 0!==e?e:null;var $=function(){function e(){w(this,e),this.DefaultPBKDF2Length=768}return S(e,[{key:"generateUUIDSync",value:function(){var e=I.crypto||I.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var n=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){n++;var r=t[n>>3]>>n%8*4&15;return("x"==e?r:3&r|8).toString(16)}))}var r=(new Date).getTime();return I.performance&&"function"==typeof I.performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"timingSafeEqual",value:function(e,t){var n=String(e),r=String(t),a=n.length,i=0;a!==r.length&&(r=n,i=1);for(var o=0;o0&&void 0!==p[0]?p[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,a=t.encryptionKey,i=t.iv,o=t.authHash,s=t.authKey,!(p.length>1?p[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(l=e.sent,!1!==this.timingSafeEqual(o,l)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return c=u.enc.Hex.parse(a),f=u.enc.Hex.parse(i||""),d=u.AES.decrypt(r,c,{iv:f,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",d.toString(u.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"encryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var a,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=u.enc.Hex.parse(n),i=u.enc.Hex.parse(r||""),o=u.AES.encrypt(t,a,{iv:i,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"generateRandomKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"generateItemEncryptionKey",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,n=1,e.next=4,this.generateRandomKey(t);case 4:return r=e.sent,e.next=7,this.generateRandomKey(t);case 7:return a=e.sent,e.abrupt("return",this.pbkdf2(a,r,n,t));case 9:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"firstHalfOfKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"secondHalfOfKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"base64",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",I.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"base64Decode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",I.atob(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"sha256",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"hmac256",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.enc.Hex.parse(n),a=u.enc.Utf8.parse(t),i=u.HmacSHA256(a,r).toString(),e.abrupt("return",i);case 4:case"end":return e.stop()}}),e)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"generateSalt",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){var i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",n,r,a].join(":"));case 2:return i=e.sent,e.abrupt("return",i);case 4:case"end":return e.stop()}}),e,this)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()},{key:"generateSymmetricKeyPair",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,a,i,o,s,u,l,c,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},n=t.password,r=t.pw_salt,a=t.pw_cost,e.next=3,this.pbkdf2(n,r,a,this.DefaultPBKDF2Length);case 3:return i=e.sent,o=i.length,s=o/3,u=i.slice(0,s),l=i.slice(s,2*s),c=i.slice(2*s,3*s),e.abrupt("return",[u,l,c]);case 10:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"computeEncryptionKeysForUser",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=n.version){e.next=9;break}if(n.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(n.identifier,n.version,n.pw_cost,n.pw_nonce);case 6:r=e.sent,e.next=10;break;case 9:r=n.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:r,pw_cost:n.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"generateInitialKeysAndAuthParamsForUser",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,a,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.SFJS.version,a=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return i=e.sent,e.next=7,this.generateSalt(t,r,a,i);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:n,pw_salt:o,pw_cost:a}).then((function(e){var n={pw_nonce:i,pw_cost:a,identifier:t,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:n}})));case 9:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),e}();r.SFAbstractCrypto=$;var J=function(e){function t(){return w(this,t),l(this,f(t).apply(this,arguments))}return d(t,e),S(t,[{key:"pbkdf2",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){var i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i={keySize:a/32,hasher:u.algo.SHA512,iterations:r},e.abrupt("return",u.PBKDF2(t,n,i).toString());case 2:case"end":return e.stop()}}),e)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()}]),t}($);r.SFCryptoJS=J;var Q=(I="undefined"!=typeof window?window:void 0!==e?e:null).crypto?I.crypto.subtle:null,G=function(e){function t(){return w(this,t),l(this,f(t).apply(this,arguments))}return d(t,e),S(t,[{key:"pbkdf2",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){var i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(i=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(i,n,r,a));case 7:case"end":return e.stop()}}),e,this)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()},{key:"generateRandomKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=!0,e.abrupt("return",Q.generateKey({name:"AES-CBC",length:t},n,["encrypt","decrypt"]).then((function(e){return Q.exportKey("raw",e).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"generateItemEncryptionKey",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=256,e.abrupt("return",Promise.all([this.generateRandomKey(t),this.generateRandomKey(t)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"encryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var a,i,o,s,u,l=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(r);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return a=e.t0,i={name:"AES-CBC",iv:a},e.next=11,this.hexStringToArrayBuffer(n);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,i.name,["encrypt"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt("return",crypto.subtle.encrypt(i,s,u).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,l.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"decryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,a,i,o,s,u,l,c,f,d,p,h=this,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=m.length>0&&void 0!==m[0]?m[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,a=t.encryptionKey,i=t.iv,o=t.authHash,s=t.authKey,!(m.length>1?m[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(u)),e.abrupt("return",null);case 12:if(!i){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(i);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return l=e.t0,c={name:"AES-CBC",iv:l},e.next=23,this.hexStringToArrayBuffer(a);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,c.name,["decrypt"]);case 26:return d=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return p=e.sent,e.abrupt("return",crypto.subtle.decrypt(c,d,p).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.arrayBufferToString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"hmac256",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,a,i,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(n);case 2:return r=e.sent,e.next=5,this.webCryptoImportKey(r,"HMAC",["sign"],{name:"SHA-256"});case 5:return a=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return i=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},a,i).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"webCryptoImportKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){var i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return i=e.t0,e.abrupt("return",Q.importKey("raw",i,{name:n,hash:a},!1,r).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()},{key:"webCryptoDeriveBits",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,a){var i,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(n);case 2:return e.t0=e.sent,e.t1=r,e.t2={name:"SHA-512"},i={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",Q.deriveBits(i,t,a).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)})));function t(t,n,r,a){return e.apply(this,arguments)}return t}()},{key:"stringToArrayBuffer",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),a=new FileReader;a.onload=function(t){e(t.target.result)},a.readAsArrayBuffer(r)})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"arrayBufferToString",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),a=new FileReader;a.onload=function(t){e(t.target.result)},a.readAsText(r)})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"arrayBufferToHexString",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=new Uint8Array(t),r="",i=0;i5e3)||this.crypto instanceof G}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(r.StandardFile=X,I)try{I.StandardFile=X,I.SFJS=new X,I.SFCryptoWeb=G,I.SFCryptoJS=J,I.SFItemTransformer=Y,I.SFModelManager=A,I.SFItem=z,I.SFItemParams=U,I.SFHttpManager=R,I.SFStorageManager=L,I.SFSyncManager=B,I.SFAuthManager=C,I.SFMigrationManager=D,I.SFAlertManager=E,I.SFPredicate=H,I.SFHistorySession=K,I.SFSessionHistoryManager=P,I.SFItemHistory=V,I.SFItemHistoryEntry=q,I.SFPrivilegesManager=F,I.SFPrivileges=W,I.SFSingletonManager=N}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}).call(t,n(3))},function(e,t){!function(t){"use strict";var n,r=Object.prototype,a=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag",l="object"==typeof e,c=t.regeneratorRuntime;if(c)l&&(e.exports=c);else{(c=t.regeneratorRuntime=l?e.exports:{}).wrap=k;var f="suspendedStart",d="suspendedYield",p="executing",h="completed",m={},v={};v[o]=function(){return this};var g=Object.getPrototypeOf,y=g&&g(g(F([])));y&&y!==r&&a.call(y,o)&&(v=y);var b=_.prototype=x.prototype=Object.create(v);S.prototype=b.constructor=_,_.constructor=S,_[u]=S.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===S||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(b),e},c.awrap=function(e){return{__await:e}},E(C.prototype),C.prototype[s]=function(){return this},c.AsyncIterator=C,c.async=function(e,t,n,r){var a=new C(k(e,t,n,r));return c.isGeneratorFunction(t)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},E(b),b[u]="Generator",b[o]=function(){return this},b.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},c.values=F,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(D),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,a){return s.type="throw",s.arg=e,t.next=r,a&&(t.method="next",t.arg=n),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),l=a.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),D(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;D(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:F(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),m}}}function k(e,t,n,r){var a=t&&t.prototype instanceof x?t:x,i=Object.create(a.prototype),o=new A(r||[]);return i._invoke=function(e,t,n){var r=f;return function(a,i){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===a)throw i;return O()}for(n.method=a,n.arg=i;;){var o=n.delegate;if(o){var s=I(o,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var u=w(e,t,n);if("normal"===u.type){if(r=n.done?h:d,u.arg===m)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=h,n.method="throw",n.arg=u.arg)}}}(e,n,o),i}function w(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function x(){}function S(){}function _(){}function E(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function C(e){function t(n,r,i,o){var s=w(e[n],e,r);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==typeof l&&a.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,i,o)}),(function(e){t("throw",e,i,o)})):Promise.resolve(l).then((function(e){u.value=e,i(u)}),o)}o(s.arg)}var n;this._invoke=function(e,r){function a(){return new Promise((function(n,a){t(e,r,n,a)}))}return n=n?n.then(a,a):a()}}function I(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,I(e,t),"throw"===t.method))return m;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var a=w(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,m;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,m):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function D(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function F(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0?this.items[l]=u:this.items.push(u);case 15:n=!0,c.next=5;break;case 18:c.next=24;break;case 20:c.prev=20,c.t0=c.catch(3),r=!0,a=c.t0;case 24:c.prev=24,c.prev=25,n||null==o.return||o.return();case 27:if(c.prev=27,!r){c.next=30;break}throw a;case 30:return c.finish(27);case 31:return c.finish(24);case 32:this.notifyObserversOfEvent(e.BridgeEventReceivedItems);case 33:case"end":return c.stop()}}),null,this,[[3,20,24,32],[25,,27,31]])}},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}},{key:"createItem",value:function(e,t){this.createItems([e],t)}},{key:"createItems",value:function(e,t){this.componentManager.createItems(e,(function(e){t&&t(e.map((function(e){return new i.SFItem(e)})))}))}},{key:"saveItem",value:function(e){return regeneratorRuntime.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.saveItems([e]));case 1:case"end":return t.stop()}}),null,this)}},{key:"saveItems",value:function(t){var n=this;return regeneratorRuntime.async((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",new Promise((function(r,a){n.componentManager.saveItems(t,(function(t){r(t),n.notifyObserversOfEvent(e.BridgeEventSavedItem)}))})));case 1:case"end":return r.stop()}}))}},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"deleteItem",value:function(e,t){this.deleteItems([e],t)}},{key:"deleteItems",value:function(e,t){this.componentManager.deleteItems(e,t)}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}}])&&o(t.prototype,n),r&&o(t,r),e}();s(u,"FileItemContentTypeKey","SN|FileSafe|File"),s(u,"FileSafeCredentialsContentType","SN|FileSafe|Credentials"),s(u,"FileDescriptorContentTypeKey","SN|FileSafe|FileMetadata"),s(u,"FileSafeIntegrationContentTypeKey","SN|FileSafe|Integration"),s(u,"BridgeEventLoadedCredentials","BridgeEventLoadedCredentials"),s(u,"BridgeEventReceivedItems","BridgeEventReceivedItems"),s(u,"BridgeEventSavedItem","BridgeEventSavedItem")},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"default",(function(){return d}));var r=n(2),a=n(7),i=n(8),o=n(9),s=n(10),u=n(12),l=n(0);n.n(l);function c(e,t){for(var n=0;n(t=$(t,e)).length)n=e;else{var r=0,a=-1,i=-1,o=(n=t).length;for(0>r&&(r=-r>o?0:o+r),0>(a=a>o?o:a)&&(a+=o),o=r>a?0:a-r>>>0,r>>>=0,a=Array(o);++ii?Ge:o,i=1),t=Object(t);++as))return!1;if((u=i.get(e))&&i.get(t))return u==t;var u=-1,l=!0,c=2&n?new E:Ge;for(i.set(e,t),i.set(t,e);++u(n=null==n?0:Me(n))&&(n=$t(r+n,0)),h(e,ie(t,3),n)):-1}function be(e){return null!=e&&e.length?M(e,1):[]}function ke(e){var t=null==e?0:e.length;return t?e[t-1]:Ge}function we(e,t){var n;if(e&&e.length&&t&&t.length){var r=m,a=-1,i=(n=t).length;for(e===n&&(n=Y(n));++a=e}function Re(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function De(e){return null!=e&&"object"==typeof e}function Ae(e){return!(!De(e)||"[object Object]"!=L(e))&&(null===(e=Nt(e))||"function"==typeof(e=It.call(e,"constructor")&&e.constructor)&&e instanceof e&&Ct.call(e)==At)}function Fe(e){return"string"==typeof e||!_n(e)&&De(e)&&"[object String]"==L(e)}function Oe(e){return"symbol"==typeof e||De(e)&&"[object Symbol]"==L(e)}function Te(e){return e?(e=Pe(e))===Ye||e===-Ye?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Me(e){var t=(e=Te(e))%1;return e==e?t?e-t:e:0}function Pe(e){if("number"==typeof e)return e;if(Oe(e))return Xe;if(Re(e)&&(e=Re(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(rt,"");var t=st.test(e);return t||lt.test(e)?ht(e.slice(2),t?2:8):ot.test(e)?Xe:+e}function Ne(e){return X(e,Ue(e))}function Le(e){return null==e?"":V(e)}function je(e,t,n){return(e=null==e?Ge:P(e,t))===Ge?n:e}function Be(e,t){var n;if(n=null!=e){for(var r,a=-1,i=(r=$(t,n=e)).length,o=!1;++a(e=A(t,e))||(e==t.length-1?t.pop():Bt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=A(t,e))?Ge:t[e][1]},S.prototype.has=function(e){return-1r?(++this.size,n.push([e,t])):n[r][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Yt||S),string:new x}},_.prototype.delete=function(e){return e=oe(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return oe(this,e).get(e)},_.prototype.has=function(e){return oe(this,e).has(e)},_.prototype.set=function(e,t){var n=oe(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},E.prototype.add=E.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},E.prototype.has=function(e){return this.__data__.has(e)},C.prototype.clear=function(){this.__data__=new S,this.size=0},C.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},C.prototype.get=function(e){return this.__data__.get(e)},C.prototype.has=function(e){return this.__data__.has(e)},C.prototype.set=function(e,t){var n=this.__data__;if(n instanceof S){var r=n.__data__;if(!Yt||199>r.length)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _(r)}return n.set(e,t),this.size=n.size,this};var dn=function(e,t){if(null==e)return e;if(!_e(e))return function(e,t){return e&&pn(e,t,ze)}(e,t);for(var n=e.length,r=-1,a=Object(e);++rn&&(n=$t(r+n,0)),Fe(e)?n<=r&&-10){var a=!0,i=!1,o=void 0;try{for(var s,u=t.integrations[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var l=s.value;if(l!=e){t.setIntegrationAsDefault(l);break}}}catch(e){i=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw o}}}}))}},{key:"integrations",get:function(){return this.extensionBridge.filterItems(i.a.FileSafeIntegrationContentTypeKey)}}])&&o(t.prototype,n),r&&o(t,r),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(1),a=(n.n(r),n(0)),i=(n.n(a),n(2));function o(e,t){for(var n=0;n0&&(e=n.credentials[0]),e})),s(this,"setCredentialAsDefault",(function(e){var t=n.getDefaultCredentials();t&&(t.content.isDefault=!1),e.content.isDefault=!0,n.extensionBridge.saveItems([t,e])})),s(this,"deleteCredential",(function(e){n.extensionBridge.deleteItem(e)})),this.extensionBridge=r,this.onCredentialLoad=a,this.credentials=[],this.extensionBridge.addEventHandler((function(e){e==i.a.BridgeEventReceivedItems&&n.reloadCredentials()}))}var t,n,r;return t=e,(n=[{key:"reloadCredentials",value:function(){this.credentials=[];var e=this.extensionBridge.filterItems(i.a.FileSafeCredentialsContentType);if(0!=e.length){var t=!0,n=!1,r=void 0;try{for(var a,o=e[Symbol.iterator]();!(t=(a=o.next()).done);t=!0){var s=a.value;this.credentials.find((function(e){return e.uuid==s.uuid}))||this.credentials.push(s)}}catch(e){n=!0,r=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw r}}this.onCredentialLoad(),this.credentials.length>0&&this.didLoadCredentials()}}},{key:"createNewCredentials",value:function(){var e,t,n,r,o;return regeneratorRuntime.async((function(s){for(;;)switch(s.prev=s.next){case 0:return e=256,s.next=3,regeneratorRuntime.awrap(SFJS.crypto.generateRandomKey(e));case 3:return t=s.sent,s.next=6,regeneratorRuntime.awrap(SFJS.crypto.generateRandomKey(e));case 6:return n=s.sent,s.next=9,regeneratorRuntime.awrap(SFJS.crypto.generateInitialKeysAndAuthParamsForUser(t,n));case 9:return(r=s.sent).isDefault=0==this.credentials.length,o=new a.SFItem({content_type:i.a.FileSafeCredentialsContentType,content:r}),this.extensionBridge.saveItem(o),this.didLoadCredentials(),s.abrupt("return",o);case 15:case"end":return s.stop()}}),null,this)}},{key:"didLoadCredentials",value:function(){this.extensionBridge.notifyObserversOfEvent(i.a.BridgeEventLoadedCredentials)}},{key:"credentialForFileDescriptor",value:function(e){return this.credentials.find((function(t){return e.content.references.find((function(e){return e.uuid==t.uuid}))}))}},{key:"getAllCredentials",value:function(){return this.credentials}},{key:"saveCredential",value:function(e){this.extensionBridge.saveItem(e)}}])&&o(t.prototype,n),r&&o(t,r),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(1),a=(n.n(r),n(0)),i=(n.n(a),n(11)),o=n.n(i),s=n(2);function u(e,t){for(var n=0;n3&&void 0!==arguments[3]&&arguments[3],i=document.createElement("a");i.setAttribute("download",t);var o=this.tempUrlForData(e,n);i.href=o,i.setAttribute("target","_blank"),a?window.location.href=i.href:(document.body.appendChild(i),i.click(),i.remove()),setTimeout((function(){r.revokeTempUrl(o)}),500)}},{key:"tempUrlForData",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t||"text/json"}))}},{key:"revokeTempUrl",value:function(e){window.URL.revokeObjectURL(e)}},{key:"copyTextToClipboard",value:function(e){if(window.clipboardData&&window.clipboardData.setData)return clipboardData.setData("Text",e);var t;if(document.queryCommandSupported&&document.queryCommandSupported("copy"))try{(t=document.createElement("textarea")).setAttribute("readonly",!0),t.setAttribute("contenteditable",!0),t.style.position="fixed",t.value=e,document.body.appendChild(t),t.focus(),t.select();var n=document.createRange();n.selectNodeContents(t);var r=window.getSelection();r.removeAllRanges(),r.addRange(n),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){console.error(e)}finally{document.body.removeChild(t)}}}],(n=null)&&r(t.prototype,n),a&&r(t,a),e}()}])},418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var o,s,u=a(e),l=1;l{"use strict";var r=n(294),a=n(418),i=n(840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n

\n ${this.buttons.map((function(e,t){return function(e,t){return`\n \n `}(e,t)})).join("")}\n
\n `}templateString(){let e,t;return this.buttons?(e=`\n
\n ${this.buttonsString()}\n
\n `,t=""):(e="",t='style="padding-bottom: 8px"'),`\n
\n
\n
\n
\n
\n
\n
\n ${this.title?`
${this.title}
`:""}\n\n
\n ${this.text?`

${this.text}

`:""}\n
\n\n ${e}\n
\n
\n
\n
\n
\n
\n `}dismiss(){this.onElement.removeChild(this.element),document.removeEventListener("keyup",this.keyupListener)}primaryButton(){let e=this.buttons.find((e=>!0===e.primary));return e||(e=this.buttons[this.buttons.length-1]),e}present({onElement:e}={}){e||(e=document.body),this.onElement=e,this.element=document.createElement("div"),this.element.className="sn-component",this.element.innerHTML=this.templateString().trim(),this.buttons&&(document.addEventListener("keyup",this.keyupListener),this.buttons.forEach(((e,t)=>{this.element.querySelector(`#button-${t}`).onclick=()=>{e.action&&e.action(),this.dismiss()}}))),e.appendChild(this.element)}}}},t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return n.m=e,n.x=e=>{},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={388:0},t=[[754]],r=e=>{},a=(a,i)=>{for(var o,s,[u,l,c,f]=i,d=0,p=[];d{}),r}i.forEach(a.bind(null,0)),i.push=a.bind(null,i.push.bind(i));var s=n.x;n.x=()=>(n.x=s||(e=>{}),(r=o)())})(),n.x()})()},e.exports=t()}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e=n(294),t=n(935),r=n(971),a=n.n(r),i=n(33),o=n.n(i),s=n(856),u=n.n(s),l=n(308);n(166);function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 i,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n{var e={856:function(e){e.exports=function(){"use strict";function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?n-1:0),i=1;i/gm),z=s(/^data-[\-\w.\u00B7-\uFFFF]/),U=s(/^aria-[\-\w]+$/),H=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),K=s(/^(?:\w+script|data):/i),W=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function q(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:$(),t=function(e){return Q(e)};if(t.version="2.2.9",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=e.document,i=e.DocumentFragment,a=e.HTMLTemplateElement,s=e.Node,u=e.Element,c=e.NodeFilter,l=e.NamedNodeMap,f=void 0===l?e.NamedNodeMap||e.MozNamedAttrMap:l,x=e.Text,S=e.Comment,G=e.DOMParser,Y=e.trustedTypes,X=u.prototype,Z=C(X,"cloneNode"),ee=C(X,"nextSibling"),te=C(X,"childNodes"),ne=C(X,"parentNode");if("function"==typeof a){var re=r.createElement("template");re.content&&re.content.ownerDocument&&(r=re.content.ownerDocument)}var ie=J(Y,n),ae=ie&&Ne?ie.createHTML(""):"",oe=r,se=oe.implementation,ue=oe.createNodeIterator,ce=oe.createDocumentFragment,le=n.importNode,fe={};try{fe=E(r).documentMode?r.documentMode:{}}catch(e){}var pe={};t.isSupported="function"==typeof ne&&se&&void 0!==se.createHTMLDocument&&9!==fe;var de=j,he=B,me=z,ye=U,ve=K,ge=W,be=H,ke=null,we=_({},[].concat(q(I),q(R),q(T),q(A),q(O))),xe=null,Se=_({},[].concat(q(M),q(P),q(N),q(L))),_e=null,Ee=null,Ce=!0,Ie=!0,Re=!1,Te=!1,De=!1,Ae=!1,Fe=!1,Oe=!1,Me=!1,Pe=!0,Ne=!1,Le=!0,je=!0,Be=!1,ze={},Ue=_({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),He=null,Ke=_({},["audio","video","img","source","image","track"]),We=null,Ve=_({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),qe="http://www.w3.org/1998/Math/MathML",$e="http://www.w3.org/2000/svg",Je="http://www.w3.org/1999/xhtml",Qe=Je,Ge=!1,Ye=null,Xe=r.createElement("form"),Ze=function(e){Ye&&Ye===e||(e&&"object"===(void 0===e?"undefined":V(e))||(e={}),e=E(e),ke="ALLOWED_TAGS"in e?_({},e.ALLOWED_TAGS):we,xe="ALLOWED_ATTR"in e?_({},e.ALLOWED_ATTR):Se,We="ADD_URI_SAFE_ATTR"in e?_(E(Ve),e.ADD_URI_SAFE_ATTR):Ve,He="ADD_DATA_URI_TAGS"in e?_(E(Ke),e.ADD_DATA_URI_TAGS):Ke,_e="FORBID_TAGS"in e?_({},e.FORBID_TAGS):{},Ee="FORBID_ATTR"in e?_({},e.FORBID_ATTR):{},ze="USE_PROFILES"in e&&e.USE_PROFILES,Ce=!1!==e.ALLOW_ARIA_ATTR,Ie=!1!==e.ALLOW_DATA_ATTR,Re=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Te=e.SAFE_FOR_TEMPLATES||!1,De=e.WHOLE_DOCUMENT||!1,Oe=e.RETURN_DOM||!1,Me=e.RETURN_DOM_FRAGMENT||!1,Pe=!1!==e.RETURN_DOM_IMPORT,Ne=e.RETURN_TRUSTED_TYPE||!1,Fe=e.FORCE_BODY||!1,Le=!1!==e.SANITIZE_DOM,je=!1!==e.KEEP_CONTENT,Be=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||be,Qe=e.NAMESPACE||Je,Te&&(Ie=!1),Me&&(Oe=!0),ze&&(ke=_({},[].concat(q(O))),xe=[],!0===ze.html&&(_(ke,I),_(xe,M)),!0===ze.svg&&(_(ke,R),_(xe,P),_(xe,L)),!0===ze.svgFilters&&(_(ke,T),_(xe,P),_(xe,L)),!0===ze.mathMl&&(_(ke,A),_(xe,N),_(xe,L))),e.ADD_TAGS&&(ke===we&&(ke=E(ke)),_(ke,e.ADD_TAGS)),e.ADD_ATTR&&(xe===Se&&(xe=E(xe)),_(xe,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&_(We,e.ADD_URI_SAFE_ATTR),je&&(ke["#text"]=!0),De&&_(ke,["html","head","body"]),ke.table&&(_(ke,["tbody"]),delete _e.tbody),o&&o(e),Ye=e)},et=_({},["mi","mo","mn","ms","mtext"]),tt=_({},["foreignobject","desc","title","annotation-xml"]),nt=_({},R);_(nt,T),_(nt,D);var rt=_({},A);_(rt,F);var it=function(e){var t=ne(e);t&&t.tagName||(t={namespaceURI:Je,tagName:"template"});var n=m(e.tagName),r=m(t.tagName);if(e.namespaceURI===$e)return t.namespaceURI===Je?"svg"===n:t.namespaceURI===qe?"svg"===n&&("annotation-xml"===r||et[r]):Boolean(nt[n]);if(e.namespaceURI===qe)return t.namespaceURI===Je?"math"===n:t.namespaceURI===$e?"math"===n&&tt[r]:Boolean(rt[n]);if(e.namespaceURI===Je){if(t.namespaceURI===$e&&!tt[r])return!1;if(t.namespaceURI===qe&&!et[r])return!1;var i=_({},["title","style","font","a","script"]);return!rt[n]&&(i[n]||!nt[n])}return!1},at=function(e){h(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=ae}catch(t){e.remove()}}},ot=function(e,n){try{h(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(e){h(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!xe[e])if(Oe||Me)try{at(n)}catch(e){}else try{n.setAttribute(e,"")}catch(e){}},st=function(e){var t=void 0,n=void 0;if(Fe)e=""+e;else{var i=y(e,/^[\r\n\t ]+/);n=i&&i[0]}var a=ie?ie.createHTML(e):e;if(Qe===Je)try{t=(new G).parseFromString(a,"text/html")}catch(e){}if(!t||!t.documentElement){t=se.createDocument(Qe,"template",null);try{t.documentElement.innerHTML=Ge?"":a}catch(e){}}var o=t.body||t.documentElement;return e&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),De?t.documentElement:o},ut=function(e){return ue.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},ct=function(e){return!(e instanceof x||e instanceof S||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof f&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},lt=function(e){return"object"===(void 0===s?"undefined":V(s))?e instanceof s:e&&"object"===(void 0===e?"undefined":V(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ft=function(e,n,r){pe[e]&&p(pe[e],(function(e){e.call(t,n,r,Ye)}))},pt=function(e){var n=void 0;if(ft("beforeSanitizeElements",e,null),ct(e))return at(e),!0;if(y(e.nodeName,/[\u0080-\uFFFF]/))return at(e),!0;var r=m(e.nodeName);if(ft("uponSanitizeElement",e,{tagName:r,allowedTags:ke}),!lt(e.firstElementChild)&&(!lt(e.content)||!lt(e.content.firstElementChild))&&k(/<[/\w]/g,e.innerHTML)&&k(/<[/\w]/g,e.textContent))return at(e),!0;if(!ke[r]||_e[r]){if(je&&!Ue[r]){var i=ne(e)||e.parentNode,a=te(e)||e.childNodes;if(a&&i)for(var o=a.length-1;o>=0;--o)i.insertBefore(Z(a[o],!0),ee(e))}return at(e),!0}return e instanceof u&&!it(e)?(at(e),!0):"noscript"!==r&&"noembed"!==r||!k(/<\/no(script|embed)/i,e.innerHTML)?(Te&&3===e.nodeType&&(n=e.textContent,n=v(n,de," "),n=v(n,he," "),e.textContent!==n&&(h(t.removed,{element:e.cloneNode()}),e.textContent=n)),ft("afterSanitizeElements",e,null),!1):(at(e),!0)},dt=function(e,t,n){if(Le&&("id"===t||"name"===t)&&(n in r||n in Xe))return!1;if(Ie&&k(me,t));else if(Ce&&k(ye,t));else{if(!xe[t]||Ee[t])return!1;if(We[t]);else if(k(be,v(n,ge,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==g(n,"data:")||!He[e])if(Re&&!k(ve,v(n,ge,"")));else if(n)return!1}return!0},ht=function(e){var n=void 0,r=void 0,i=void 0,a=void 0;ft("beforeSanitizeAttributes",e,null);var o=e.attributes;if(o){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:xe};for(a=o.length;a--;){var u=n=o[a],c=u.name,l=u.namespaceURI;if(r=b(n.value),i=m(c),s.attrName=i,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=void 0,ft("uponSanitizeAttribute",e,s),r=s.attrValue,!s.forceKeepAttr&&(ot(c,e),s.keepAttr))if(k(/\/>/i,r))ot(c,e);else{Te&&(r=v(r,de," "),r=v(r,he," "));var f=e.nodeName.toLowerCase();if(dt(f,i,r))try{l?e.setAttributeNS(l,c,r):e.setAttribute(c,r),d(t.removed)}catch(e){}}}ft("afterSanitizeAttributes",e,null)}},mt=function e(t){var n=void 0,r=ut(t);for(ft("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)ft("uponSanitizeShadowNode",n,null),pt(n)||(n.content instanceof i&&e(n.content),ht(n));ft("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(r,a){var o=void 0,u=void 0,c=void 0,l=void 0,f=void 0;if((Ge=!r)&&(r="\x3c!--\x3e"),"string"!=typeof r&&!lt(r)){if("function"!=typeof r.toString)throw w("toString is not a function");if("string"!=typeof(r=r.toString()))throw w("dirty is not a string, aborting")}if(!t.isSupported){if("object"===V(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(lt(r))return e.toStaticHTML(r.outerHTML)}return r}if(Ae||Ze(a),t.removed=[],"string"==typeof r&&(Be=!1),Be);else if(r instanceof s)1===(u=(o=st("\x3c!----\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===u.nodeName||"HTML"===u.nodeName?o=u:o.appendChild(u);else{if(!Oe&&!Te&&!De&&-1===r.indexOf("<"))return ie&&Ne?ie.createHTML(r):r;if(!(o=st(r)))return Oe?null:ae}o&&Fe&&at(o.firstChild);for(var p=ut(Be?r:o);c=p.nextNode();)3===c.nodeType&&c===l||pt(c)||(c.content instanceof i&&mt(c.content),ht(c),l=c);if(l=null,Be)return r;if(Oe){if(Me)for(f=ce.call(o.ownerDocument);o.firstChild;)f.appendChild(o.firstChild);else f=o;return Pe&&(f=le.call(n,f,!0)),f}var d=De?o.outerHTML:o.innerHTML;return Te&&(d=v(d,de," "),d=v(d,he," ")),ie&&Ne?ie.createHTML(d):d},t.setConfig=function(e){Ze(e),Ae=!0},t.clearConfig=function(){Ye=null,Ae=!1},t.isValidAttribute=function(e,t,n){Ye||Ze({});var r=m(e),i=m(t);return dt(r,i,n)},t.addHook=function(e,t){"function"==typeof t&&(pe[e]=pe[e]||[],h(pe[e],t))},t.removeHook=function(e){pe[e]&&d(pe[e])},t.removeHooks=function(e){pe[e]&&(pe[e]=[])},t.removeAllHooks=function(){pe={}},t}return Q()}()},166:e=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}([function(e,t,n){(function(t){e.exports=function(){function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){if(a)return a(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};t[o][0].call(c.exports,(function(e){return i(t[o][1][e]||e)}),c,c.exports,e,t,n,r)}return n[o].exports}for(var a=!1,o=0;o>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.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 n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,r=this._map;(i=r.charAt(64))&&-1!=(i=e.indexOf(i))&&(t=i);for(var i=[],a=0,o=0;o>>6-o%4*2;i[a>>>2]|=(s|u)<<24-a%4*8,a++}return n.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,i,a,o){return((e=e+(t&n|~t&r)+i+o)<>>32-a)+t}function n(e,t,n,r,i,a,o){return((e=e+(t&r|n&~r)+i+o)<>>32-a)+t}function r(e,t,n,r,i,a,o){return((e=e+(t^n^r)+i+o)<>>32-a)+t}function i(e,t,n,r,i,a,o){return((e=e+(n^(t|~r))+i+o)<>>32-a)+t}for(var a=u,o=(c=a.lib).WordArray,s=c.Hasher,c=a.algo,l=[],f=0;64>f;f++)l[f]=4294967296*e.abs(e.sin(f+1))|0;c=c.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),f=e[a+3],p=e[a+4],d=e[a+5],h=e[a+6],m=e[a+7],y=e[a+8],v=e[a+9],g=e[a+10],b=e[a+11],k=e[a+12],w=e[a+13],x=e[a+14],S=e[a+15],_=t(_=o[0],I=o[1],C=o[2],E=o[3],u,7,l[0]),E=t(E,_,I,C,s,12,l[1]),C=t(C,E,_,I,c,17,l[2]),I=t(I,C,E,_,f,22,l[3]);_=t(_,I,C,E,p,7,l[4]),E=t(E,_,I,C,d,12,l[5]),C=t(C,E,_,I,h,17,l[6]),I=t(I,C,E,_,m,22,l[7]),_=t(_,I,C,E,y,7,l[8]),E=t(E,_,I,C,v,12,l[9]),C=t(C,E,_,I,g,17,l[10]),I=t(I,C,E,_,b,22,l[11]),_=t(_,I,C,E,k,7,l[12]),E=t(E,_,I,C,w,12,l[13]),C=t(C,E,_,I,x,17,l[14]),_=n(_,I=t(I,C,E,_,S,22,l[15]),C,E,s,5,l[16]),E=n(E,_,I,C,h,9,l[17]),C=n(C,E,_,I,b,14,l[18]),I=n(I,C,E,_,u,20,l[19]),_=n(_,I,C,E,d,5,l[20]),E=n(E,_,I,C,g,9,l[21]),C=n(C,E,_,I,S,14,l[22]),I=n(I,C,E,_,p,20,l[23]),_=n(_,I,C,E,v,5,l[24]),E=n(E,_,I,C,x,9,l[25]),C=n(C,E,_,I,f,14,l[26]),I=n(I,C,E,_,y,20,l[27]),_=n(_,I,C,E,w,5,l[28]),E=n(E,_,I,C,c,9,l[29]),C=n(C,E,_,I,m,14,l[30]),_=r(_,I=n(I,C,E,_,k,20,l[31]),C,E,d,4,l[32]),E=r(E,_,I,C,y,11,l[33]),C=r(C,E,_,I,b,16,l[34]),I=r(I,C,E,_,x,23,l[35]),_=r(_,I,C,E,s,4,l[36]),E=r(E,_,I,C,p,11,l[37]),C=r(C,E,_,I,m,16,l[38]),I=r(I,C,E,_,g,23,l[39]),_=r(_,I,C,E,w,4,l[40]),E=r(E,_,I,C,u,11,l[41]),C=r(C,E,_,I,f,16,l[42]),I=r(I,C,E,_,h,23,l[43]),_=r(_,I,C,E,v,4,l[44]),E=r(E,_,I,C,k,11,l[45]),C=r(C,E,_,I,S,16,l[46]),_=i(_,I=r(I,C,E,_,c,23,l[47]),C,E,u,6,l[48]),E=i(E,_,I,C,m,10,l[49]),C=i(C,E,_,I,x,15,l[50]),I=i(I,C,E,_,d,21,l[51]),_=i(_,I,C,E,k,6,l[52]),E=i(E,_,I,C,f,10,l[53]),C=i(C,E,_,I,g,15,l[54]),I=i(I,C,E,_,s,21,l[55]),_=i(_,I,C,E,y,6,l[56]),E=i(E,_,I,C,S,10,l[57]),C=i(C,E,_,I,h,15,l[58]),I=i(I,C,E,_,w,21,l[59]),_=i(_,I,C,E,p,6,l[60]),E=i(E,_,I,C,b,10,l[61]),C=i(C,E,_,I,c,15,l[62]),I=i(I,C,E,_,v,21,l[63]),o[0]=o[0]+_|0,o[1]=o[1]+I|0,o[2]=o[2]+C|0,o[3]=o[3]+E|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var a=e.floor(r/4294967296);for(n[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)i=n[r],n[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=s._createHelper(c),a.HmacMD5=s._createHmacHelper(c)}(Math),function(){var e,t=u,n=(e=t.lib).Base,r=e.WordArray,i=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),i=r.create(),a=i.words,o=s.keySize,s=s.iterations;a.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:c,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var p=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),d=(c=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return p.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:c}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,p.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,i){return i||(i=r.random(8)),e=o.create({keySize:t+n}).compute(e,i),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,p.create({key:e,iv:n,salt:i})}},m=t.PasswordBasedCipher=d.extend({cfg:d.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=d.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,d.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,n=e.algo,r=[],i=[],a=[],o=[],s=[],c=[],l=[],f=[],p=[],d=[],h=[],m=0;256>m;m++)h[m]=128>m?m<<1:m<<1^283;var y=0,v=0;for(m=0;256>m;m++){var g=(g=v^v<<1^v<<2^v<<3^v<<4)>>>8^255&g^99;r[y]=g,i[g]=y;var b=h[y],k=h[b],w=h[k],x=257*h[g]^16843008*g;a[y]=x<<24|x>>>8,o[y]=x<<16|x>>>16,s[y]=x<<8|x>>>24,c[y]=x,x=16843009*w^65537*k^257*b^16843008*y,l[g]=x<<24|x>>>8,f[g]=x<<16|x>>>16,p[g]=x<<8|x>>>24,d[g]=x,y?(y=b^h[h[h[w^b]]],v^=h[h[v]]):y=v=1}var S=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o]):(o=r[(o=o<<8|o>>>24)>>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o],o^=S[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=a?o:l[r[o>>>24]]^f[r[o>>>16&255]]^p[r[o>>>8&255]]^d[r[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,s,c,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,f,p,d,i),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],f=e[t+2]^n[2],p=e[t+3]^n[3],d=4,h=1;h>>24]^i[l>>>16&255]^a[f>>>8&255]^o[255&p]^n[d++],y=r[l>>>24]^i[f>>>16&255]^a[p>>>8&255]^o[255&c]^n[d++],v=r[f>>>24]^i[p>>>16&255]^a[c>>>8&255]^o[255&l]^n[d++];p=r[p>>>24]^i[c>>>16&255]^a[l>>>8&255]^o[255&f]^n[d++],c=m,l=y,f=v}m=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&p])^n[d++],y=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[p>>>8&255]<<8|s[255&c])^n[d++],v=(s[f>>>24]<<24|s[p>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^n[d++],p=(s[p>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^n[d++],e[t]=m,e[t+1]=y,e[t+2]=v,e[t+3]=p},keySize:8}),e.AES=t._createHelper(n)}(),u=u||function(e,t){var n={},r=n.lib={},i=function(){},a=r.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("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=r.WordArray=a.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes;if(e=e.sigBytes,this.clamp(),r%4)for(var i=0;i>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.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 n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;ul;){var f;e:{f=c;for(var p=e.sqrt(f),d=2;d<=p;d++)if(!(f%d)){f=!1;break e}f=!0}f&&(8>l&&(a[l]=s(e.pow(c,.5))),o[l]=s(e.pow(c,1/3)),l++),c++}var h=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],u=n[4],c=n[5],l=n[6],f=n[7],p=0;64>p;p++){if(16>p)h[p]=0|e[t+p];else{var d=h[p-15],m=h[p-2];h[p]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+h[p-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+h[p-16]}d=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+o[p]+h[p],m=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&a^i&a),f=l,l=c,c=u,u=s+d|0,s=a,a=i,i=r,r=d+m|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),a=(i=u).enc.Utf8,i.algo.HMAC=i.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,u=o.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.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 n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++)s[c]=e();a=a.SHA512=n.extend({_doReset:function(){this._hash=new i.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=(f=this._hash.words)[0],r=f[1],i=f[2],a=f[3],u=f[4],c=f[5],l=f[6],f=f[7],p=n.high,d=n.low,h=r.high,m=r.low,y=i.high,v=i.low,g=a.high,b=a.low,k=u.high,w=u.low,x=c.high,S=c.low,_=l.high,E=l.low,C=f.high,I=f.low,R=p,T=d,D=h,A=m,F=y,O=v,M=g,P=b,N=k,L=w,j=x,B=S,z=_,U=E,H=C,K=I,W=0;80>W;W++){var V=s[W];if(16>W)var q=V.high=0|e[t+2*W],$=V.low=0|e[t+2*W+1];else{q=(($=(q=s[W-15]).high)>>>1|(J=q.low)<<31)^($>>>8|J<<24)^$>>>7;var J=(J>>>1|$<<31)^(J>>>8|$<<24)^(J>>>7|$<<25),Q=(($=(Q=s[W-2]).high)>>>19|(G=Q.low)<<13)^($<<3|G>>>29)^$>>>6,G=(G>>>19|$<<13)^(G<<3|$>>>29)^(G>>>6|$<<26),Y=($=s[W-7]).high,X=(Z=s[W-16]).high,Z=Z.low;q=(q=(q=q+Y+(($=J+$.low)>>>0>>0?1:0))+Q+(($+=G)>>>0>>0?1:0))+X+(($+=Z)>>>0>>0?1:0),V.high=q,V.low=$}Y=N&j^~N&z,Z=L&B^~L&U,V=R&D^R&F^D&F;var ee=T&A^T&O^A&O,te=(J=(R>>>28|T<<4)^(R<<30|T>>>2)^(R<<25|T>>>7),Q=(T>>>28|R<<4)^(T<<30|R>>>2)^(T<<25|R>>>7),(G=o[W]).high),ne=G.low;X=H+((N>>>14|L<<18)^(N>>>18|L<<14)^(N<<23|L>>>9))+((G=K+((L>>>14|N<<18)^(L>>>18|N<<14)^(L<<23|N>>>9)))>>>0>>0?1:0),H=z,K=U,z=j,U=B,j=N,B=L,N=M+(X=(X=(X=X+Y+((G+=Z)>>>0>>0?1:0))+te+((G+=ne)>>>0>>0?1:0))+q+((G+=$)>>>0<$>>>0?1:0))+((L=P+G|0)>>>0

>>0?1:0)|0,M=F,P=O,F=D,O=A,D=R,A=T,R=X+(V=J+V+(($=Q+ee)>>>0>>0?1:0))+((T=G+$|0)>>>0>>0?1:0)|0}d=n.low=d+T,n.high=p+R+(d>>>0>>0?1:0),m=r.low=m+A,r.high=h+D+(m>>>0>>0?1:0),v=i.low=v+O,i.high=y+F+(v>>>0>>0?1:0),b=a.low=b+P,a.high=g+M+(b>>>0

>>0?1:0),w=u.low=w+L,u.high=k+N+(w>>>0>>0?1:0),S=c.low=S+B,c.high=x+j+(S>>>0>>0?1:0),E=l.low=E+U,l.high=_+z+(E>>>0>>0?1:0),I=f.low=I+K,f.high=C+H+(I>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=n._createHelper(a),t.HmacSHA512=n._createHmacHelper(a)}(),s=(o=u).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,u=a.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.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 n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),function(){var e=u,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var r=e.blockSize,i=4*r;n.sigBytes>i&&(n=e.finalize(n)),n.clamp();for(var a=this._oKey=n.clone(),o=this._iKey=n.clone(),s=a.words,u=o.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.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 n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),Object.defineProperty(r,"__esModule",{value:!0}),r.StandardFile=r.SFItemTransformer=r.SFCryptoWeb=r.SFCryptoJS=r.SFAbstractCrypto=r.SFItemHistoryEntry=r.SFItemHistory=r.SFHistorySession=r.SFPrivileges=r.SFPredicate=r.SFItemParams=r.SFItem=r.SFSyncManager=r.SFStorageManager=r.SFSingletonManager=r.SFSessionHistoryManager=r.SFPrivilegesManager=r.SFModelManager=r.SFMigrationManager=r.SFHttpManager=r.SFAuthManager=r.SFAlertManager=void 0;var E=function(){function e(){w(this,e)}return S(e,[{key:"alert",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"confirm",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.confirm(t.text)?e():n()})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}();r.SFAlertManager=E;var C=function(){function e(t,n,r,i){w(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=n,this.storageManager=t,this.alertManager=r||new E,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}return S(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"saveKeys",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"signout",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!n){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){r.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)})));function n(e){return t.apply(this,arguments)}return n}()},{key:"keys",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAuthParams",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"defaultProtocolVersion",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"protocolVersion",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAuthParamsForEmail",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:n},r)).api=R.getApiVersion(),e.abrupt("return",new Promise((function(e,n){var r=t+"/auth/params";a.httpManager.getAbsolute(r,i,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==g(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=k(regeneratorRuntime.mark((function t(u,c){var l,f,p,d,h,m,y,v,b,w,x,S;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(n,r,o);case 13:if((l=t.sent).identifier=r,!l.error){t.next=18;break}return s.unlockAndResolve(u,l),t.abrupt("return");case 18:if(l&&l.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(l.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(l.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(l.version)){t.next=32;break}return p="The encryption version for your account, ".concat(l.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),d=!1,t.next=30,s.alertManager.confirm({title:"Update Needed",text:p,confirmButtonText:"Sign In"}).catch((function(){s.unlockAndResolve(u,{error:{}}),d=!0}));case 30:if(!d){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(l.pw_cost)){t.next=36;break}return h="Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in.",s.unlockAndResolve(u,{error:{message:h}}),t.abrupt("return");case 36:if(m=SFJS.costMinimumForVersion(l.version),!(l.pw_cost5&&void 0!==u[5]&&u[5],e.abrupt("return",new Promise(function(){var e=k(regeneratorRuntime.mark((function e(u,c){var l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((l=new XMLHttpRequest).onreadystatechange=function(){if(4==l.readyState){var e=l.responseText;if(e)try{e=JSON.parse(e)}catch(e){}l.status>=200&&l.status<=299?s.$timeout((function(){i(e),u(e)})):(console.error("Request error:",e),s.$timeout((function(){a(e,l.status),c(e)})))}},"get"==t&&Object.keys(r).length>0&&(n=s.urlForUrlAndParams(n,r)),l.open(t,n,!0),l.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(l);case 8:"post"==t||"patch"==t?l.send(JSON.stringify(r)):l.send();case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})));function t(t,n,r,i,a){return e.apply(this,arguments)}return t}()},{key:"urlForUrlAndParams",value:function(e,t){var n=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+n:e+"?"+n}}]),e}();r.SFHttpManager=R;var T=function(){function e(t,n,r,i){var a=this;w(this,e),this.modelManager=t,this.syncManager=n,this.storageManager=r,this.completionHandlers=[],this.loadMigrations();var o=!1,s=i.addEventHandler((function(e){e==C.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=n.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,u,c,l,f,p,d,h,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u="sync:completed"==t,!(r="local-data-loaded"==t)&&!u){e.next=40;break}if(r?a.receivedLocalDataEvent=!0:u&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(s),e.next=10,a.getCompletedMigrations();case 10:c=e.sent.slice(),l=!0,f=!1,p=void 0,e.prev=14,d=c[Symbol.iterator]();case 16:if(l=(h=d.next()).done){e.next=25;break}return m=h.value,e.next=20,a.migrationForEncodedName(m);case 20:e.sent.runOnlyOnce||_.pull(a._completed,m);case 22:l=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,p=e.t0;case 31:e.prev=31,e.prev=32,l||null==d.return||d.return();case 34:if(e.prev=34,!f){e.next=37;break}throw p;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,n){return e.apply(this,arguments)}}())}return S(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return n=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==n})));case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,n=!0,r=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),r=!0,i=e.t0;case 14:e.prev=14,e.prev=15,n||null==a.return||a.return();case 17:if(e.prev=17,!r){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,c=!1,l=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(p=f.next()).done){e.next=51;break}for(d=p.value,h=!0,m=!1,y=void 0,e.prev=32,v=t[Symbol.iterator]();!(h=(g=v.next()).done);h=!0)s=g.value,d.content_type==s.content_type&&s.items.push(d);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),m=!0,y=e.t1;case 40:e.prev=40,e.prev=41,h||null==v.return||v.return();case 43:if(e.prev=43,!m){e.next=46;break}throw y;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),c=!0,l=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!c){e.next=63;break}throw l;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!0,k=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(b=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:b=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),k=!0,w=e.t3;case 87:e.prev=87,e.prev=88,b||null==x.return||x.return();case 90:if(e.prev=90,!k){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,E=!1,C=void 0,e.prev=98,I=this.completionHandlers[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)(0,R.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),E=!0,C=e.t4;case 106:e.prev=106,e.prev=107,_||null==I.return||I.return();case 109:if(e.prev=109,!E){e.next=112;break}throw C;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"encode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"decode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getCompletedMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getPendingMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,n=[],r=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}n.push(u);case 19:r=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,r||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",n);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"markMigrationCompleted",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return n=e.sent,e.t0=n,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(n)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"runMigration",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){r.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(n).then((function(){r.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),e}();r.SFMigrationManager=T;var D=function(){function e(t){w(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}return S(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;try{s.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"alternateUUIDForItem",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.createItem(n),t.next=3,SFJS.crypto.generateUUID();case 3:for(r.uuid=t.sent,r.informReferencesOfUUIDChange(n.uuid,r.uuid),this.informModelsOfUUIDChangeForItem(r,n.uuid,r.uuid),i=!0,a=!1,o=void 0,t.prev=9,s=n.referencingObjects[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)(c=u.value).setIsNoLongerBeingReferencedBy(n),n.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(r);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==s.return||s.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(n.referencingObjects,!0),this.resolveReferencesForItem(r),this.loggingEnabled&&console.log(n.uuid,"--\x3e",r.uuid),n.deleted=!0,n.content.references=[],this.setItemDirty(n,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([n],e.MappingSourceLocalSaved);case 33:return this.addItem(r),this.setItemDirty(r,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(n,r),t.abrupt("return",r);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,n){var r=!0,i=!1,a=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(r=(o=s.next()).done);r=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,n)}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:n,sourceKey:r}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"mapResponseItemsToLocalModelsOmittingFields",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:n,source:r,sourceKey:i}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"mapResponseItemsToLocalModelsWithOptions",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,d,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T,D,A,F,O,M,P,N,L,j,B,z,U;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.items,r=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],s=[],u=[],c=!0,l=!1,f=void 0,e.prev=5,p=n[Symbol.iterator]();case 7:if(c=(d=p.next()).done){e.next=58;break}if(m=d.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(y=!m.content&&!m.errorDecrypting,m.content_type&&m.uuid&&!y||m.deleted){e.next=16;break}return console.error("Server response item is corrupt:",m),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(v=!0,g=!1,b=void 0,e.prev=20,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0)x=w.value,delete m[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),g=!0,b=e.t0;case 28:e.prev=28,e.prev=29,v||null==k.return||k.return();case 31:if(e.prev=31,!g){e.next=34;break}throw b;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(m.uuid))&&(S.updateFromJSON(m),S.dummy=!1),_=m.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt("continue",55);case 42:if(E=!1,1!=m.deleted){e.next=50;break}if(!m.dirty){e.next=48;break}E=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(m)),this.addItem(S,E),S.errorDecrypting||u.push(S),o.push(S),s.push(m);case 55:c=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,f=e.t1;case 64:e.prev=64,e.prev=65,c||null==p.return||p.return();case 67:if(e.prev=67,!l){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(C=!0,I=!1,R=void 0,e.prev=75,T=s.entries()[Symbol.iterator]();!(C=(D=T.next()).done);C=!0)A=h(D.value,2),F=A[0],O=A[1],M=o[F],O.content&&this.resolveReferencesForItem(M),M.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),I=!0,R=e.t2;case 83:e.prev=83,e.prev=84,C||null==T.return||T.return();case 86:if(e.prev=86,!I){e.next=89;break}throw R;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(P=this.popMissedReferenceStructsForObjects(s),N=!0,L=!1,j=void 0,e.prev=95,B=function(){var e=U.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},z=P[Symbol.iterator]();!(N=(U=z.next()).done);N=!0)B();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),L=!0,j=e.t3;case 104:e.prev=104,e.prev=105,N||null==z.return||z.return();case 107:if(e.prev=107,!L){e.next=110;break}throw j;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,i,a);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],n=[],r=e.map((function(e){return e.uuid})),i=r[0].length,a=0,o=Object.keys(this.missedReferences);a1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var n=e.contentObject;if(e.updateLocalRelationships(),n.references){var r=n.references.slice().map((function(e){return e.uuid})),i=!0,a=this.findItems(r,i),o=!0,s=!1,u=void 0;try{for(var c,l=a.entries()[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var f=h(c.value,2),p=f[0],d=f[1];if(d)e.addItemAsRelationship(d),t&&this.setItemDirty(d,!0);else{var m=r[p],y=this.missedReferenceBuildKey(m,e.uuid);if(!this.missedReferences[y]){var v={reference_uuid:m,for_item:e};this.missedReferences[y]=v}}}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}}}}},{key:"notifySyncObserversOfModels",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c,l,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,s,n,r);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),c=i[Symbol.iterator]();case 7:if(a=(l=c.next()).done){e.next=12;break}return e.delegateYield(u(),"t0",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,a||null==c.return||c.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"_callSyncObserverCallbackWithTimeout",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,u){s.$timeout((function(){try{t.callback(n,r,i,a,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)})));function t(t,n,r,i,a,o){return e.apply(this,arguments)}return t}()},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,n,r,i)}},{key:"setItemsDirty",value:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var c,l=t[Symbol.iterator]();!(o=(c=l.next()).done);o=!0)c.value.setDirty(n,r)}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:"createItem",value:function(t){var n=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return n||(n=z),new n(t)}},{key:"createDuplicateItemFromResponseItem",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return n=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return n.uuid=e.sent,r=this.createItem(n),e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,n=e.duplicateOf,r=this.duplicateItemWithCustomContent({content:t,duplicateOf:n});return this.addDuplicatedItemAsConflict({duplicate:r,duplicateOf:n}),r}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,n=e.duplicateOf;this.addDuplicatedItem(t,n),t.content.conflict_of=n.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,n=e.duplicateOf,r=new n.constructor({content:t});return r.created_at=n.created_at,r.content_type||(r.content_type=n.content_type),r}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var n=!0,r=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,n){this.addItemSyncObserverWithPriority({id:e,types:t,callback:n,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,n=e.priority,r=e.types,i=e.callback;Array.isArray(r)||(r=[r]),this.itemSyncObservers.push({id:t,types:r,priority:n,callback:i})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,n=!1,r=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}var u=!0,c=!1,l=void 0;try{for(var f,p=e.referencingObjects[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){var d=f.value;d.removeItemAsRelationship(e),this.setItemDirty(d,!0)}}catch(e){c=!0,l=e}finally{try{u||null==p.return||p.return()}finally{if(c)throw l}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value,c=this.itemsHash[u];(c||t)&&n.push(c)}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}))}},{key:"importItems",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],i={},a=!0,o=!1,s=void 0,t.prev=5,u=n[Symbol.iterator]();case 7:if(a=(c=u.next()).done){t.next=18;break}if(l=c.value,f=this.findItem(l.uuid)){t.next=13;break}return i[l.uuid]={},t.abrupt("continue",15);case 13:p=this.duplicateItemWithoutAdding(f),i[l.uuid]={frozenValue:p,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,a||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:d=!0,h=!1,m=void 0,t.prev=35,y=n[Symbol.iterator]();case 37:if(d=(v=y.next()).done){t.next=52;break}if(g=v.value,b=i[g.uuid],k=b.frozenValue,w=b.itemRef,!k||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(g);case 43:x=t.sent,g.deleted||k.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),r.push(x)),t.next=49;break;case 47:r.push(g),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:d=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),h=!0,m=t.t1;case 58:t.prev=58,t.prev=59,d||null==y.return||y.return();case 61:if(t.prev=61,!h){t.next=64;break}throw m;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(r,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,E=!1,C=void 0,t.prev=72,I=S[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)T=R.value,this.setItemDirty(T,!0,!1),T.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),E=!0,C=t.t2;case 80:t.prev=80,t.prev=81,_||null==I.return||I.return();case 83:if(t.prev=83,!E){t.next=86;break}throw C;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"getAllItemsJSONData",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,n,r));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"getJSONDataForItems",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new U(e,n,r).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return n&&(t.auth_params=r),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"computeDataIntegrityHash",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),n=t.map((function(e){return e.updatedAtTimestamp()})),r=n.join(","),e.next=6,SFJS.crypto.sha256(r);case 6:return i=e.sent,e.abrupt("return",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();r.SFModelManager=D;var A=function(){function e(t,n,r){w(this,e),this.modelManager=t,this.syncManager=n,this.singletonManager=r,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}return S(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=n,r=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,s=void 0,t.prev=8,u=r[Symbol.iterator]();case 10:if(a=(c=u.next()).done){t.next=27;break}if((l=c.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(l),t.next=24;break;case 19:if(l!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(l);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,a||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",i);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"loadPrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,n){var r=K.contentType(),i=new H("content_type","=",r);t.singletonManager.registerSingleton([i],(function(n){t.privileges=n,e(n)}),function(){var n=k(regeneratorRuntime.mark((function n(i){var a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=new K({content_type:r}),SFJS.crypto.generateUUIDSync){n.next=4;break}return n.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getPrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"displayInfoForCredential",value:function(t){var n={};return n[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},n[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},n[t]}},{key:"displayInfoForAction",value:function(t){var n={};return n[e.ActionManageExtensions]={label:"Manage Extensions"},n[e.ActionManageBackups]={label:"Download/Import Backups"},n[e.ActionViewProtectedNotes]={label:"View Protected Notes"},n[e.ActionManagePrivileges]={label:"Manage Privileges"},n[e.ActionManagePasscode]={label:"Manage Passcode"},n[e.ActionDeleteNote]={label:"Delete Notes"},n[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),r=a,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(r)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(n))]));case 3:case"end":return t.stop()}var i,a}),t,this)})));function n(e){return t.apply(this,arguments)}return n}()},{key:"clearSession",value:function(){var t=k(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"getSelectedSessionLength",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(n));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"getSessionExpirey",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(n)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"actionHasPrivilegesConfigured",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"actionRequiresPrivilege",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",n.length>0);case 9:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"savePrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"authenticateAction",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a,o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:r=e.sent,i=[],a=[],o=!0,s=!1,u=void 0,e.prev=7,c=r[Symbol.iterator]();case 9:if(o=(l=c.next()).done){e.next=18;break}return f=l.value,e.next=13,this._verifyAuthenticationParameters(f,n[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==c.return||c.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"_verifyAuthenticationParameters",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",i(r));case 6:if(n!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",a(r));case 8:case"end":return t.stop()}}),t)})));function n(e,n){return t.apply(this,arguments)}return n}()}]),e}();r.SFPrivilegesManager=A;var F="sessionHistory_persist",O="sessionHistory_revisions",M="sessionHistory_autoOptimize",P=function(){function e(t,n,r,i,a){var o=this;w(this,e),this.modelManager=t,this.storageManager=n,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=r,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",i,(function(e,t,n,r,i){if(r!==D.MappingSourceLocalDirtied){var a=!0,s=!1,u=void 0;try{for(var c,l=e[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var f=c.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){s=!0,u=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}}))}))}return S(e,[{key:"encryptionParams",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"addHistoryEntryForItem",value:function(e){var t=this,n={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},r=this.historySession.addEntryForItem(n);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),r&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"clearAllHistory",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem(O));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"toggleDiskSaving",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem(F,JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem(F,JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem(O));case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"saveToDisk",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new U(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){n.storageManager.setItem(O,JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"loadFromDisk",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem(F);case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem(O);case 6:if(!(n=e.sent)){e.next=18;break}return n=JSON.parse(n),e.next=11,this.encryptionParams();case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:i=new W(n),this.historySession=i,e.next=19;break;case 18:this.historySession=new W;case 19:return e.next=21,this.storageManager.getItem(M);case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"toggleAutoOptimize",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem(M,JSON.stringify(!0)):this.storageManager.setItem(M,JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()}]),e}();r.SFSessionHistoryManager=P;var N=function(){function e(t,n){var r=this;w(this,e),this.syncManager=n,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,n,i,a,o){a!==D.MappingSourceLocalDirtied&&r.resolveSingletons(t.allNondummyItems,null,!0)}}),n.addEventHandler((function(e,n){if("local-data-loaded"==e)r.resolveSingletons(t.allNondummyItems,null,!0),r.initialDataLoaded=!0;else if("sync:completed"==e){if(!r.initialDataLoaded)return;r.resolveSingletons(n.retrievedItems,n.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var n=!0,i=!1,a=void 0;try{for(var o,s=r.singletonHandlers[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;u.singleton&&H.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,r.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}))}return S(e,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(e,t,n){var r=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var s,u=function(){var i=s.value,a=i.predicates.slice(),o=r.modelManager.filterItemsWithPredicates(e,a),u=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},c=r.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||c>0){var l=r.modelManager.itemsMatchingPredicates(a);if(l.length>=2){var f=l.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getSyncURL",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,n){var r=new Date(n.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(n.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?r:a0&&void 0!==u[0]?u[0]:{},r=n.incrementalCallback,i=n.batchSize,!(a=n.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var n=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],u=function(){var c=k(regeneratorRuntime.mark((function c(){var l,f;return regeneratorRuntime.wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return l=t.slice(a,a+i),c.next=3,s.handleItemsResponse(l,null,D.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=c.sent,o.push(f),!((a+=l.length)0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(m=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new U(t,m.keys,m.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,r&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return y=t.sent,t.next=32,i.storageManager.saveModels(y).catch((function(e){console.error("Error writing items",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,n){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)})));function n(e,n){return t.apply(this,arguments)}return n}()},{key:"syncOffline",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!0,r=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),r=!0,i=e.t0;case 11:e.prev=11,e.prev=12,n||null==a.return||a.return();case 14:if(e.prev=14,!r){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"markAllItemsDirtyAndSaveOffline",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,d,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}n=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),r=!0,i=!1,a=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:r=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,r||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(c=this.modelManager.allNondummyItems,l=!0,f=!1,p=void 0,e.prev=32,d=c[Symbol.iterator]();!(l=(h=d.next()).done);l=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,p=e.t1;case 40:e.prev=40,e.prev=41,l||null==d.return||d.return();case 43:if(e.prev=43,!f){e.next=46;break}throw p;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(c,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"setSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setCursorToken",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getCursorToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e)}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n,r=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=k(regeneratorRuntime.mark((function t(i,a){var o,s,u,c,l,f,p,d,h,m,y,v,g,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n||(n={}),o=r.modelManager.getDirtyItems(),s=o.filter((function(e){return!r.lastDirtyItemsSave||e.dirtiedDate>r.lastDirtyItemsSave})),t.next=5,r.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,c=r.syncStatus.syncOpInProgress,l=r.initialDataLoaded(),!c&&l){t.next=16;break}return r.performSyncAgainOnCompletion=!0,r.lastDirtyItemsSave=new Date,t.next=13,r.writeItemsToLocalStorage(s,!1);case 13:return c&&(r.queuedCallbacks.push(i),r.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),l||(r.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),i()),t.abrupt("return");case 16:if(r.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt("return",r.syncOffline(o).then((function(e){r.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){r.notifyEvent("sync-exception",e)})));case 19:if(r.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return r.loggingEnabled&&console.log("Syncing online user."),f=r.syncStatus.needsMoreSync,r.syncStatus.syncStart=new Date,r.beginCheckingIfSyncIsTakingTooLong(),p=r.PerSyncItemUploadLimit,(d=o.slice(0,p)).lengthr.syncStatus.total&&(r.syncStatus.total=r.syncStatus.current),r.syncStatusDidChange(),t.next=34,r.writeItemsToLocalStorage(s,!1);case 34:return r.lastDirtyItemsSave=new Date,n.onPreSyncSave&&n.onPreSyncSave(),r.allRetreivedItems||(r.allRetreivedItems=[]),r.allSavedItems||(r.allSavedItems=[]),(h={}).limit=r.ServerItemDownloadLimit,n.performIntegrityCheck&&(h.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(d.map((function(e){var t=new U(e,u.keys,u.auth_params);return t.additionalFields=n.additionalFields,t.paramsForSync()}))).then((function(e){h.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),r.notifyEvent("sync-exception",t.t0);case 49:for(m=!0,y=!1,v=void 0,t.prev=52,g=d[Symbol.iterator]();!(m=(b=g.next()).done);m=!0)b.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),y=!0,v=t.t1;case 60:t.prev=60,t.prev=61,m||null==g.return||g.return();case 63:if(t.prev=63,!y){t.next=66;break}throw v;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,r.getSyncToken();case 70:return h.sync_token=t.sent,t.next=73,r.getCursorToken();case 73:return h.cursor_token=t.sent,h.api=R.getApiVersion(),r.loggingEnabled&&console.log("Syncing with params",h),t.prev=76,t.t2=r.httpManager,t.next=80,r.getSyncURL();case 80:t.t3=t.sent,t.t4=h,t.t5=function(e){r.handleSyncSuccess(d,e,n).then((function(){i(e)})).catch((function(e){console.log("Caught sync success exception:",e),r.handleSyncError(e,null,o).then((function(t){r.notifyEvent("sync-exception",e),i(t)}))}))},t.t6=function(e,t){r.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,n){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"_awaitSleep",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"handleSyncSuccess",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r,i){var a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",r),o=this.allSavedItems.map((function(e){return e.uuid})),s=r.saved_items.map((function(e){return e.uuid})),r.retrieved_items=r.retrieved_items.filter((function(e){var t=o.includes(e.uuid),n=s.includes(e.uuid);if(t||n)return!1;var r=w.modelManager.findItem(e.uuid);return!r||!r.dirty})),u=[],c=!0,l=!1,f=void 0,t.prev=13,p=n[Symbol.iterator]();!(c=(d=p.next()).done);c=!0)0==(h=d.value).dirtyCount&&u.push(h);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),l=!0,f=t.t0;case 21:t.prev=21,t.prev=22,c||null==p.return||p.return();case 24:if(t.prev=24,!l){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(r.retrieved_items,null,D.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return m=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(m),this.syncStatus.retrievedCount=this.allRetreivedItems.length,y=["content","auth_hash"],t.next=38,this.handleItemsResponse(r.saved_items,y,D.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return v=t.sent,this.allSavedItems=this.allSavedItems.concat(v),g=r.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(g);case 43:return t.next=45,this.handleConflictsResponse(r.conflicts);case 45:if(b=t.sent,k=b&&b.length>0,!b){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(b,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(v,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(m,!1);case 54:if(!r.integrity_hash||r.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(r.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||v.length>=this.majorDataChangeThreshold||g&&g.length>=this.majorDataChangeThreshold||b&&b.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(r),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt("return",r);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])})));function n(e,n,r){return t.apply(this,arguments)}return n}()},{key:"handleSyncError",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==n&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(r,!1),this.modelManager.didSyncModelsOffline(r),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"handleItemsResponse",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,n,r);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"refreshErroredItems",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((n=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(n,null,D.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"handleConflictsResponse",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T,A,F,O,M,P;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",n),r={},i=!0,a=!1,o=void 0,t.prev=7,s=n[Symbol.iterator]();case 9:if(i=(u=s.next()).done){t.next=21;break}if(c=u.value,l=c.server_item||c.unsaved_item,f=this.modelManager.findItem(l.uuid)){t.next=16;break}return r[l.uuid]={},t.abrupt("continue",18);case 16:p=f.getContentCopy(),r[l.uuid]={frozenContent:p,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==s.return||s.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:d=[],h=!0,m=!1,y=void 0,t.prev=39,v=n[Symbol.iterator]();case 41:if(h=(g=v.next()).done){t.next=91;break}return b=g.value,k=b.server_item||b.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[k],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=r[k.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(d.push(S),"uuid_conflict"!==b.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,d.push(_),t.next=88;break;case 62:if("sync_conflict"!==b.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);case 65:if(E=t.sent,C=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),I=!C.isItemContentEqualWith(E),R=!S.isItemContentEqualWith(E),T=!1,A=!1,F=!1,O=!1,k.deleted||S.deleted?O=!0:I?(M=20,(new Date-S.client_updated_at)/1e30&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var r=k(regeneratorRuntime.mark((function r(i,a){var o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o={limit:n.limit||500,sync_token:n.syncToken,cursor_token:n.cursorToken,content_type:n.contentType,event:n.event,api:R.getApiVersion()},r.prev=1,r.t0=t.httpManager,r.next=5,t.getSyncURL();case 5:r.t1=r.sent,r.t2=o,r.t3=function(){var r=k(regeneratorRuntime.mark((function r(a){var o,s;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n.retrievedItems||(n.retrievedItems=[]),o=a.retrieved_items,r.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=r.sent.keys,r.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:n.retrievedItems=n.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),n.syncToken=a.sync_token,n.cursorToken=a.cursor_token,n.cursorToken?t.stateless_downloadAllItems(n).then(i):i(n.retrievedItems);case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.t4=function(e,t){a(e)},r.t0.postAuthenticatedAbsolute.call(r.t0,r.t1,r.t2,r.t3,r.t4),r.next=16;break;case 12:r.prev=12,r.t5=r.catch(1),console.log("Download all items exception caught:",r.t5),a(r.t5);case 16:case"end":return r.stop()}}),r,null,[[1,12]])})));return function(e,t){return r.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=k(regeneratorRuntime.mark((function e(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],i=!0,a=!1,o=void 0,e.prev=4,s=n[Symbol.iterator]();case 6:if(i=(u=s.next()).done){e.next=18;break}if(c=u.value,!(l=t.modelManager.findItem(c.uuid))){e.next=14;break}if(c.isItemContentEqualWith(l)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(l);case 14:r.push(c);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==s.return||s.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:r,source:D.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"handleSignout",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"clearSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();r.SFSyncManager=B;var z=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==g(this.content)||this.content.references||(this.content.references=[])}return S(e,[{key:"initUUID",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var n=0,r=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];n"==n.operator?m>h:"<="==n.operator?m<=h:">="==n.operator?m>=h:"startsWith"==n.operator?m.startsWith(h):"in"==n.operator?-1!=h.indexOf(m):"includes"==n.operator?this.resolveIncludesPredicate(m,h):"matches"==n.operator&&new RegExp(h).test(m)}},{key:"resolveIncludesPredicate",value:function(t,n){if("string"==typeof n)return t.includes(n);var r;r=Array.isArray(n)?e.fromArray(n):n;var i=!0,a=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(this.ObjectSatisfiesPredicate(c,r))return!0}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,n){return Array.isArray(n)&&(n=e.fromArray(n)),this.ObjectSatisfiesPredicate(t,n)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),n=t[1],r=new Date,i=parseInt(t[0]);return"days"==n?r.setDate(r.getDate()-i):"hours"==n&&r.setHours(r.getHours()-i),r}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();r.SFPredicate=H;var K=function(e){function t(e){var n;return w(this,t),(n=c(this,f(t).call(this,e))).content.desktopPrivileges||(n.content.desktopPrivileges={}),n}return p(t,e),S(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),S(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var n=this.getCredentialsForAction(e);n.push(t),this.setCredentialsForAction(e,n)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(z);r.SFPrivileges=K;var W=function(e){function t(e){var n;return w(this,t),(n=c(this,f(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(n.content.itemUUIDToItemHistoryMapping={}),Object.keys(n.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=n.content.itemUUIDToItemHistoryMapping[e];n.content.itemUUIDToItemHistoryMapping[e]=new V(t)})),n}return p(t,e),S(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new V),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var n=this.historyForItem(e);n.entries.length>t.LargeItemEntryAmountThreshold&&n.optimize()}}]),t}(z);r.SFHistorySession=W,W.LargeItemEntryAmountThreshold=60;var V=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(w(this,e),this.entries||(this.entries=[]),t.entries){var n=!0,r=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}}return S(e,[{key:"createEntryForItem",value:function(t){var n=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return n||(n=q),new n(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),n=this.getLastEntry();if(t.setPreviousEntry(n),!t.isSameAsEntry(n))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,n=[],r=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?n.push(e):-1!==(i=n.indexOf(e))&&n.splice(i,1),a&&r(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&n.push(o)}};this.entries.forEach((function(e,n){if(0==n||n==t.entries.length-1)i(e,n,!0);else{var a=r(e);i(e,n,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==n.indexOf(e)}))}}]),e}();r.SFItemHistory=V,V.LargeEntryDeltaThreshold=15;var q=function(){function e(t){w(this,e),this.item=z.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return S(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new z(this.item),n=new z(e.item);return t.isItemContentEqualWith(n)}}]),e}();r.SFItemHistoryEntry=q,I="undefined"!=typeof window?window:void 0!==e?e:null;var $=function(){function e(){w(this,e),this.DefaultPBKDF2Length=768}return S(e,[{key:"generateUUIDSync",value:function(){var e=I.crypto||I.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var n=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){n++;var r=t[n>>3]>>n%8*4&15;return("x"==e?r:3&r|8).toString(16)}))}var r=(new Date).getTime();return I.performance&&"function"==typeof I.performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"timingSafeEqual",value:function(e,t){var n=String(e),r=String(t),i=n.length,a=0;i!==r.length&&(r=n,a=1);for(var o=0;o0&&void 0!==d[0]?d[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(d.length>1?d[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(c=e.sent,!1!==this.timingSafeEqual(o,c)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return l=u.enc.Hex.parse(i),f=u.enc.Hex.parse(a||""),p=u.AES.decrypt(r,l,{iv:f,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",p.toString(u.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"encryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u.enc.Hex.parse(n),a=u.enc.Hex.parse(r||""),o=u.AES.encrypt(t,i,{iv:a,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"generateRandomKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"generateItemEncryptionKey",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,n=1,e.next=4,this.generateRandomKey(t);case 4:return r=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt("return",this.pbkdf2(i,r,n,t));case 9:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"firstHalfOfKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"secondHalfOfKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"base64",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",I.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"base64Decode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",I.atob(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"sha256",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"hmac256",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.enc.Hex.parse(n),i=u.enc.Utf8.parse(t),a=u.HmacSHA256(i,r).toString(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"generateSalt",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",n,r,i].join(":"));case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"generateSymmetricKeyPair",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},n=t.password,r=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(n,r,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,s=o/3,u=a.slice(0,s),c=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[u,c,l]);case 10:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"computeEncryptionKeysForUser",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=n.version){e.next=9;break}if(n.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(n.identifier,n.version,n.pw_cost,n.pw_nonce);case 6:r=e.sent,e.next=10;break;case 9:r=n.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:r,pw_cost:n.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"generateInitialKeysAndAuthParamsForUser",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,r,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:n,pw_salt:o,pw_cost:i}).then((function(e){var n={pw_nonce:a,pw_cost:i,identifier:t,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:n}})));case 9:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),e}();r.SFAbstractCrypto=$;var J=function(e){function t(){return w(this,t),c(this,f(t).apply(this,arguments))}return p(t,e),S(t,[{key:"pbkdf2",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:u.algo.SHA512,iterations:r},e.abrupt("return",u.PBKDF2(t,n,a).toString());case 2:case"end":return e.stop()}}),e)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()}]),t}($);r.SFCryptoJS=J;var Q=(I="undefined"!=typeof window?window:void 0!==e?e:null).crypto?I.crypto.subtle:null,G=function(e){function t(){return w(this,t),c(this,f(t).apply(this,arguments))}return p(t,e),S(t,[{key:"pbkdf2",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(a=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(a,n,r,i));case 7:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"generateRandomKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=!0,e.abrupt("return",Q.generateKey({name:"AES-CBC",length:t},n,["encrypt","decrypt"]).then((function(e){return Q.exportKey("raw",e).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"generateItemEncryptionKey",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=256,e.abrupt("return",Promise.all([this.generateRandomKey(t),this.generateRandomKey(t)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"encryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(r);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:"AES-CBC",iv:i},e.next=11,this.hexStringToArrayBuffer(n);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,["encrypt"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,u).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"decryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h=this,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=m.length>0&&void 0!==m[0]?m[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(m.length>1?m[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(u)),e.abrupt("return",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return c=e.t0,l={name:"AES-CBC",iv:c},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,l.name,["decrypt"]);case 26:return p=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return d=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,p,d).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.arrayBufferToString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"hmac256",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(n);case 2:return r=e.sent,e.next=5,this.webCryptoImportKey(r,"HMAC",["sign"],{name:"SHA-256"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},i,a).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"webCryptoImportKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",Q.importKey("raw",a,{name:n,hash:i},!1,r).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"webCryptoDeriveBits",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(n);case 2:return e.t0=e.sent,e.t1=r,e.t2={name:"SHA-512"},a={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",Q.deriveBits(a,t,i).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"stringToArrayBuffer",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(r)})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"arrayBufferToString",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(r)})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"arrayBufferToHexString",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=new Uint8Array(t),r="",a=0;a5e3)||this.crypto instanceof G}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(r.StandardFile=X,I)try{I.StandardFile=X,I.SFJS=new X,I.SFCryptoWeb=G,I.SFCryptoJS=J,I.SFItemTransformer=Y,I.SFModelManager=D,I.SFItem=z,I.SFItemParams=U,I.SFHttpManager=R,I.SFStorageManager=L,I.SFSyncManager=B,I.SFAuthManager=C,I.SFMigrationManager=T,I.SFAlertManager=E,I.SFPredicate=H,I.SFHistorySession=W,I.SFSessionHistoryManager=P,I.SFItemHistory=V,I.SFItemHistoryEntry=q,I.SFPrivilegesManager=A,I.SFPrivileges=K,I.SFSingletonManager=N}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}).call(t,n(3))},function(e,t){!function(t){"use strict";var n,r=Object.prototype,i=r.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag",c="object"==typeof e,l=t.regeneratorRuntime;if(l)c&&(e.exports=l);else{(l=t.regeneratorRuntime=c?e.exports:{}).wrap=k;var f="suspendedStart",p="suspendedYield",d="executing",h="completed",m={},y={};y[o]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==r&&i.call(g,o)&&(y=g);var b=_.prototype=x.prototype=Object.create(y);S.prototype=b.constructor=_,_.constructor=S,_[u]=S.displayName="GeneratorFunction",l.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===S||"GeneratorFunction"===(t.displayName||t.name))},l.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(b),e},l.awrap=function(e){return{__await:e}},E(C.prototype),C.prototype[s]=function(){return this},l.AsyncIterator=C,l.async=function(e,t,n,r){var i=new C(k(e,t,n,r));return l.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(b),b[u]="Generator",b[o]=function(){return this},b.toString=function(){return"[object Generator]"},l.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},l.values=A,D.prototype={constructor:D,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(T),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,i){return s.type="throw",s.arg=e,t.next=r,i&&(t.method="next",t.arg=n),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(u&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),m}}}function k(e,t,n,r){var i=t&&t.prototype instanceof x?t:x,a=Object.create(i.prototype),o=new D(r||[]);return a._invoke=function(e,t,n){var r=f;return function(i,a){if(r===d)throw new Error("Generator is already running");if(r===h){if("throw"===i)throw a;return F()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=I(o,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=d;var u=w(e,t,n);if("normal"===u.type){if(r=n.done?h:p,u.arg===m)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=h,n.method="throw",n.arg=u.arg)}}}(e,n,o),a}function w(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function x(){}function S(){}function _(){}function E(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function C(e){function t(n,r,a,o){var s=w(e[n],e,r);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&i.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,a,o)}),(function(e){t("throw",e,a,o)})):Promise.resolve(c).then((function(e){u.value=e,a(u)}),o)}o(s.arg)}var n;this._invoke=function(e,r){function i(){return new Promise((function(n,i){t(e,r,n,i)}))}return n=n?n.then(i,i):i()}}function I(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,I(e,t),"throw"===t.method))return m;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var i=w(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,m):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function A(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r=0?this.items[c]=u:this.items.push(u);case 15:n=!0,l.next=5;break;case 18:l.next=24;break;case 20:l.prev=20,l.t0=l.catch(3),r=!0,i=l.t0;case 24:l.prev=24,l.prev=25,n||null==o.return||o.return();case 27:if(l.prev=27,!r){l.next=30;break}throw i;case 30:return l.finish(27);case 31:return l.finish(24);case 32:this.notifyObserversOfEvent(e.BridgeEventReceivedItems);case 33:case"end":return l.stop()}}),null,this,[[3,20,24,32],[25,,27,31]])}},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}},{key:"createItem",value:function(e,t){this.createItems([e],t)}},{key:"createItems",value:function(e,t){this.componentManager.createItems(e,(function(e){t&&t(e.map((function(e){return new a.SFItem(e)})))}))}},{key:"saveItem",value:function(e){return regeneratorRuntime.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.saveItems([e]));case 1:case"end":return t.stop()}}),null,this)}},{key:"saveItems",value:function(t){var n=this;return regeneratorRuntime.async((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",new Promise((function(r,i){n.componentManager.saveItems(t,(function(t){r(t),n.notifyObserversOfEvent(e.BridgeEventSavedItem)}))})));case 1:case"end":return r.stop()}}))}},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"deleteItem",value:function(e,t){this.deleteItems([e],t)}},{key:"deleteItems",value:function(e,t){this.componentManager.deleteItems(e,t)}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}}])&&o(t.prototype,n),r&&o(t,r),e}();s(u,"FileItemContentTypeKey","SN|FileSafe|File"),s(u,"FileSafeCredentialsContentType","SN|FileSafe|Credentials"),s(u,"FileDescriptorContentTypeKey","SN|FileSafe|FileMetadata"),s(u,"FileSafeIntegrationContentTypeKey","SN|FileSafe|Integration"),s(u,"BridgeEventLoadedCredentials","BridgeEventLoadedCredentials"),s(u,"BridgeEventReceivedItems","BridgeEventReceivedItems"),s(u,"BridgeEventSavedItem","BridgeEventSavedItem")},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"default",(function(){return p}));var r=n(2),i=n(7),a=n(8),o=n(9),s=n(10),u=n(12),c=n(0);n.n(c);function l(e,t){for(var n=0;n(t=$(t,e)).length)n=e;else{var r=0,i=-1,a=-1,o=(n=t).length;for(0>r&&(r=-r>o?0:o+r),0>(i=i>o?o:i)&&(i+=o),o=r>i?0:i-r>>>0,r>>>=0,i=Array(o);++aa?Ge:o,a=1),t=Object(t);++is))return!1;if((u=a.get(e))&&a.get(t))return u==t;var u=-1,c=!0,l=2&n?new E:Ge;for(a.set(e,t),a.set(t,e);++u(n=null==n?0:Me(n))&&(n=$t(r+n,0)),h(e,ae(t,3),n)):-1}function be(e){return null!=e&&e.length?M(e,1):[]}function ke(e){var t=null==e?0:e.length;return t?e[t-1]:Ge}function we(e,t){var n;if(e&&e.length&&t&&t.length){var r=m,i=-1,a=(n=t).length;for(e===n&&(n=Y(n));++i=e}function Re(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Te(e){return null!=e&&"object"==typeof e}function De(e){return!(!Te(e)||"[object Object]"!=L(e))&&(null===(e=Nt(e))||"function"==typeof(e=It.call(e,"constructor")&&e.constructor)&&e instanceof e&&Ct.call(e)==Dt)}function Ae(e){return"string"==typeof e||!_n(e)&&Te(e)&&"[object String]"==L(e)}function Fe(e){return"symbol"==typeof e||Te(e)&&"[object Symbol]"==L(e)}function Oe(e){return e?(e=Pe(e))===Ye||e===-Ye?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Me(e){var t=(e=Oe(e))%1;return e==e?t?e-t:e:0}function Pe(e){if("number"==typeof e)return e;if(Fe(e))return Xe;if(Re(e)&&(e=Re(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(rt,"");var t=st.test(e);return t||ct.test(e)?ht(e.slice(2),t?2:8):ot.test(e)?Xe:+e}function Ne(e){return X(e,Ue(e))}function Le(e){return null==e?"":V(e)}function je(e,t,n){return(e=null==e?Ge:P(e,t))===Ge?n:e}function Be(e,t){var n;if(n=null!=e){for(var r,i=-1,a=(r=$(t,n=e)).length,o=!1;++i(e=D(t,e))||(e==t.length-1?t.pop():Bt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=D(t,e))?Ge:t[e][1]},S.prototype.has=function(e){return-1r?(++this.size,n.push([e,t])):n[r][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Yt||S),string:new x}},_.prototype.delete=function(e){return e=oe(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return oe(this,e).get(e)},_.prototype.has=function(e){return oe(this,e).has(e)},_.prototype.set=function(e,t){var n=oe(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},E.prototype.add=E.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},E.prototype.has=function(e){return this.__data__.has(e)},C.prototype.clear=function(){this.__data__=new S,this.size=0},C.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},C.prototype.get=function(e){return this.__data__.get(e)},C.prototype.has=function(e){return this.__data__.has(e)},C.prototype.set=function(e,t){var n=this.__data__;if(n instanceof S){var r=n.__data__;if(!Yt||199>r.length)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _(r)}return n.set(e,t),this.size=n.size,this};var pn=function(e,t){if(null==e)return e;if(!_e(e))return function(e,t){return e&&dn(e,t,ze)}(e,t);for(var n=e.length,r=-1,i=Object(e);++rn&&(n=$t(r+n,0)),Ae(e)?n<=r&&-10){var i=!0,a=!1,o=void 0;try{for(var s,u=t.integrations[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(c!=e){t.setIntegrationAsDefault(c);break}}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}}}))}},{key:"integrations",get:function(){return this.extensionBridge.filterItems(a.a.FileSafeIntegrationContentTypeKey)}}])&&o(t.prototype,n),r&&o(t,r),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(1),i=(n.n(r),n(0)),a=(n.n(i),n(2));function o(e,t){for(var n=0;n0&&(e=n.credentials[0]),e})),s(this,"setCredentialAsDefault",(function(e){var t=n.getDefaultCredentials();t&&(t.content.isDefault=!1),e.content.isDefault=!0,n.extensionBridge.saveItems([t,e])})),s(this,"deleteCredential",(function(e){n.extensionBridge.deleteItem(e)})),this.extensionBridge=r,this.onCredentialLoad=i,this.credentials=[],this.extensionBridge.addEventHandler((function(e){e==a.a.BridgeEventReceivedItems&&n.reloadCredentials()}))}var t,n,r;return t=e,(n=[{key:"reloadCredentials",value:function(){this.credentials=[];var e=this.extensionBridge.filterItems(a.a.FileSafeCredentialsContentType);if(0!=e.length){var t=!0,n=!1,r=void 0;try{for(var i,o=e[Symbol.iterator]();!(t=(i=o.next()).done);t=!0){var s=i.value;this.credentials.find((function(e){return e.uuid==s.uuid}))||this.credentials.push(s)}}catch(e){n=!0,r=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw r}}this.onCredentialLoad(),this.credentials.length>0&&this.didLoadCredentials()}}},{key:"createNewCredentials",value:function(){var e,t,n,r,o;return regeneratorRuntime.async((function(s){for(;;)switch(s.prev=s.next){case 0:return e=256,s.next=3,regeneratorRuntime.awrap(SFJS.crypto.generateRandomKey(e));case 3:return t=s.sent,s.next=6,regeneratorRuntime.awrap(SFJS.crypto.generateRandomKey(e));case 6:return n=s.sent,s.next=9,regeneratorRuntime.awrap(SFJS.crypto.generateInitialKeysAndAuthParamsForUser(t,n));case 9:return(r=s.sent).isDefault=0==this.credentials.length,o=new i.SFItem({content_type:a.a.FileSafeCredentialsContentType,content:r}),this.extensionBridge.saveItem(o),this.didLoadCredentials(),s.abrupt("return",o);case 15:case"end":return s.stop()}}),null,this)}},{key:"didLoadCredentials",value:function(){this.extensionBridge.notifyObserversOfEvent(a.a.BridgeEventLoadedCredentials)}},{key:"credentialForFileDescriptor",value:function(e){return this.credentials.find((function(t){return e.content.references.find((function(e){return e.uuid==t.uuid}))}))}},{key:"getAllCredentials",value:function(){return this.credentials}},{key:"saveCredential",value:function(e){this.extensionBridge.saveItem(e)}}])&&o(t.prototype,n),r&&o(t,r),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=(n.n(r),n(0)),a=(n.n(i),n(11)),o=n.n(a),s=n(2);function u(e,t){for(var n=0;n3&&void 0!==arguments[3]&&arguments[3],a=document.createElement("a");a.setAttribute("download",t);var o=this.tempUrlForData(e,n);a.href=o,a.setAttribute("target","_blank"),i?window.location.href=a.href:(document.body.appendChild(a),a.click(),a.remove()),setTimeout((function(){r.revokeTempUrl(o)}),500)}},{key:"tempUrlForData",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t||"text/json"}))}},{key:"revokeTempUrl",value:function(e){window.URL.revokeObjectURL(e)}},{key:"copyTextToClipboard",value:function(e){if(window.clipboardData&&window.clipboardData.setData)return clipboardData.setData("Text",e);var t;if(document.queryCommandSupported&&document.queryCommandSupported("copy"))try{(t=document.createElement("textarea")).setAttribute("readonly",!0),t.setAttribute("contenteditable",!0),t.style.position="fixed",t.value=e,document.body.appendChild(t),t.focus(),t.select();var n=document.createRange();n.selectNodeContents(t);var r=window.getSelection();r.removeAllRanges(),r.addRange(n),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){console.error(e)}finally{document.body.removeChild(t)}}}],(n=null)&&r(t.prototype,n),i&&r(t,i),e}()}])},418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,a){for(var o,s,u=i(e),c=1;c{"use strict";var r=n(294),i=n(418),a=n(840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n

\n `}templateString(){let e,t;return this.buttons?(e=`\n
\n ${this.buttonsString()}\n
\n `,t=""):(e="",t='style="padding-bottom: 8px"'),`\n
\n
\n
\n
\n
\n
\n
\n ${this.title?`
${this.title}
`:""}\n\n
\n ${this.text?`

${this.text}

`:""}\n
\n\n ${e}\n
\n
\n
\n
\n
\n
\n `}dismiss(){this.onElement.removeChild(this.element),document.removeEventListener("keyup",this.keyupListener)}primaryButton(){let e=this.buttons.find((e=>!0===e.primary));return e||(e=this.buttons[this.buttons.length-1]),e}present({onElement:e}={}){e||(e=document.body),this.onElement=e,this.element=document.createElement("div"),this.element.className="sn-component",this.element.innerHTML=this.templateString().trim(),this.buttons&&(document.addEventListener("keyup",this.keyupListener),this.buttons.forEach(((e,t)=>{this.element.querySelector(`#button-${t}`).onclick=()=>{e.action&&e.action(),this.dismiss()}}))),e.appendChild(this.element)}}}},t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}return n.m=e,n.x=e=>{},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={388:0},t=[[754]],r=e=>{},i=(i,a)=>{for(var o,s,[u,c,l,f]=a,p=0,d=[];p{}),r}a.forEach(i.bind(null,0)),a.push=i.bind(null,a.push.bind(a));var s=n.x;n.x=()=>(n.x=s||(e=>{}),(r=o)())})(),n.x()})()},e.exports=t()},256:(e,t,n)=>{var r;self,e.exports=(r=n(974),(()=>{var e,t,n={156:e=>{self,e.exports=(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};let n,r,i,a;var o;e.d(t,{default:()=>E}),function(e){e.SetSize="set-size",e.StreamItems="stream-items",e.StreamContextItem="stream-context-item",e.SaveItems="save-items",e.SelectItem="select-item",e.AssociateItem="associate-item",e.DeassociateItem="deassociate-item",e.ClearSelection="clear-selection",e.CreateItem="create-item",e.CreateItems="create-items",e.DeleteItems="delete-items",e.SetComponentData="set-component-data",e.InstallLocalComponent="install-local-component",e.ToggleActivateComponent="toggle-activate-component",e.RequestPermissions="request-permissions",e.PresentConflictResolution="present-conflict-resolution",e.DuplicateItem="duplicate-item",e.ComponentRegistered="component-registered",e.ActivateThemes="themes",e.Reply="reply",e.SaveSuccess="save-success",e.SaveError="save-error",e.ThemesActivated="themes-activated",e.KeyDown="key-down",e.KeyUp="key-up",e.Click="click"}(n||(n={})),function(e){e[e.Web=1]="Web",e[e.Desktop=2]="Desktop",e[e.Mobile=3]="Mobile"}(r||(r={})),function(e){e.Any="*",e.Item="SF|Item",e.RootKey="SN|RootKey|NoSync",e.ItemsKey="SN|ItemsKey",e.EncryptedStorage="SN|EncryptedStorage",e.Note="Note",e.Tag="Tag",e.SmartTag="SN|SmartTag",e.Component="SN|Component",e.Editor="SN|Editor",e.ActionsExtension="Extension",e.UserPrefs="SN|UserPreferences",e.HistorySession="SN|HistorySession",e.Theme="SN|Theme",e.Mfa="SF|MFA",e.ServerExtension="SF|Extension",e.FilesafeCredentials="SN|FileSafe|Credentials",e.FilesafeFileMetadata="SN|FileSafe|FileMetadata",e.FilesafeIntegration="SN|FileSafe|Integration",e.ExtensionRepo="SN|ExtensionRepo"}(i||(i={})),function(e){e.Pinned="pinned",e.Archived="archived",e.Locked="locked",e.UserModifiedDate="client_updated_at",e.DefaultEditor="defaultEditor",e.MobileRules="mobileRules",e.NotAvailableOnMobile="notAvailableOnMobile",e.MobileActive="mobileActive",e.LastSize="lastSize",e.PrefersPlainEditor="prefersPlainEditor",e.ComponentInstallError="installError"}(a||(a={}));var s=new Uint8Array(16);function u(){if(!o&&!(o="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(s)}const c=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,l=function(e){return"string"==typeof e&&c.test(e)};for(var f=[],p=0;p<256;++p)f.push((p+256).toString(16).substr(1));const d=function(e,t,n){var r=(e=e||{}).random||(e.rng||u)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[e[t+0]]+f[e[t+1]]+f[e[t+2]]+f[e[t+3]]+"-"+f[e[t+4]]+f[e[t+5]]+"-"+f[e[t+6]]+f[e[t+7]]+"-"+f[e[t+8]]+f[e[t+9]]+"-"+f[e[t+10]]+f[e[t+11]]+f[e[t+12]]+f[e[t+13]]+f[e[t+14]]+f[e[t+15]]).toLowerCase();if(!l(n))throw TypeError("Stringified UUID is invalid");return n}(r)},h=e=>{var t;const n={[r.Web]:"web",[r.Desktop]:"desktop",[r.Mobile]:"mobile"};return null!==(t=n[e])&&void 0!==t?t:n[r.Web]},m=e=>null!=e,y=()=>{};class v{static get isSupported(){return!(!window.console&&!console)}static get info(){return v.isSupported&&this.enabled?console.log.bind(console):y}static get error(){return v.isSupported?console.error.bind(console):y}}var g,b,k,w;function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t0&&(this.initialPermissions=n),m(null==r?void 0:r.coallesedSaving)&&(this.coallesedSaving=r.coallesedSaving),m(null==r?void 0:r.coallesedSavingDelay)&&(this.coallesedSavingDelay=r.coallesedSavingDelay),m(null==r?void 0:r.acceptsThemes)&&(this.component.acceptsThemes=null===(o=null==r?void 0:r.acceptsThemes)||void 0===o||o),m(i)&&(this.onReadyCallback=i),m(a)&&(this.onThemesChangeCallback=a),v.enabled=null!==(t=null==r?void 0:r.debug)&&void 0!==t&&t}deinit(){this.onReadyCallback=void 0,this.component={acceptsThemes:!0,activeThemes:[]},this.messageQueue=[],this.sentMessages=[],this.lastStreamedItem=void 0,this.pendingSaveItems=void 0,this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0,this.messageHandler&&(this.contentWindow.document.removeEventListener("message",this.messageHandler),this.contentWindow.removeEventListener("message",this.messageHandler)),this.keyDownEventListener&&this.contentWindow.removeEventListener("keydown",this.keyDownEventListener),this.keyUpEventListener&&this.contentWindow.removeEventListener("keyup",this.keyUpEventListener),this.clickEventListener&&this.contentWindow.removeEventListener("click",this.clickEventListener)}registerMessageHandler(){this.messageHandler=e=>{if(v.info("Components API Message received:",e.data),document.referrer&&new URL(document.referrer).origin!==new URL(e.origin).origin)return;const{data:t}=e,r=(e=>{if("string"!=typeof e)return!1;try{const t=JSON.parse(e),n=Object.prototype.toString.call(t);return"[object Object]"===n||"[object Array]"===n}catch(e){return!1}})(t)?JSON.parse(t):t;if(r){if(void 0===this.component.origin&&r.action===n.ComponentRegistered)this.component.origin=e.origin;else if(e.origin!==this.component.origin)return;this.handleMessage(r)}else v.error("Invalid data received. Skipping...")},this.contentWindow.document.addEventListener("message",this.messageHandler,!1),this.contentWindow.addEventListener("message",this.messageHandler,!1),v.info("Waiting for messages...")}registerKeyboardEventListeners(){this.keyDownEventListener=e=>{v.info("A key has been pressed: ".concat(e.key)),e.ctrlKey?this.keyDownEvent(w.Ctrl):e.shiftKey?this.keyDownEvent(w.Shift):(e.metaKey||"Meta"===e.key)&&this.keyDownEvent(w.Meta)},this.keyUpEventListener=e=>{v.info("A key has been released: ".concat(e.key)),"Control"===e.key?this.keyUpEvent(w.Ctrl):"Shift"===e.key?this.keyUpEvent(w.Shift):"Meta"===e.key&&this.keyUpEvent(w.Meta)},this.contentWindow.addEventListener("keydown",this.keyDownEventListener,!1),this.contentWindow.addEventListener("keyup",this.keyUpEventListener,!1)}registerMouseEventListeners(){this.clickEventListener=e=>{v.info("A click has been performed."),this.mouseClickEvent()},this.contentWindow.addEventListener("click",this.clickEventListener,!1)}handleMessage(e){switch(e.action){case n.ComponentRegistered:this.component.sessionKey=e.sessionKey,e.componentData&&(this.component.data=e.componentData),this.onReady(e.data),v.info("Component successfully registered with payload:",e);break;case n.ActivateThemes:this.activateThemes(e.data.themes);break;default:{var t,r;if(!e.original)return;const n=null===(t=this.sentMessages)||void 0===t?void 0:t.filter((t=>{var n;return t.messageId===(null===(n=e.original)||void 0===n?void 0:n.messageId)}))[0];if(!n){const e=this.contentWindow.document.title,t=("The extension '".concat(e,"' is attempting to communicate with Standard Notes, ")+"but an error is preventing it from doing so. Please restart this extension and try again.").replace(" "," ");return void v.info(t)}null==n||null===(r=n.callback)||void 0===r||r.call(n,e.data);break}}}onReady(e){this.component.environment=e.environment,this.component.platform=e.platform,this.component.uuid=e.uuid,this.initialPermissions&&this.initialPermissions.length>0&&this.requestPermissions(this.initialPermissions);for(const e of this.messageQueue)this.postMessage(e.action,e.data,e.callback);this.messageQueue=[],v.info("Data passed to onReady:",e),this.activateThemes(e.activeThemeUrls||[]),this.postMessage(n.ThemesActivated,{}),this.onReadyCallback&&this.onReadyCallback()}getSelfComponentUUID(){return this.component.uuid}isRunningInDesktopApplication(){return this.component.environment===h(r.Desktop)}isRunningInMobileApplication(){return this.component.environment===h(r.Mobile)}getComponentDataValueForKey(e){if(this.component.data)return this.component.data[e]}setComponentDataValueForKey(e,t){if(!this.component.data)throw new Error("The component has not been initialized.");if(!e||e&&0===e.length)throw new Error("The key for the data value should be a valid string.");this.component.data=S(S({},this.component.data),{},{[e]:t}),this.postMessage(n.SetComponentData,{componentData:this.component.data})}clearComponentData(){this.component.data={},this.postMessage(n.SetComponentData,{componentData:this.component.data})}postMessage(e,t,n){if(!this.component.sessionKey)return void this.messageQueue.push({action:e,data:t,api:k.Component,callback:n});const r={action:e,data:t,messageId:this.generateUUID(),sessionKey:this.component.sessionKey,api:k.Component},i=JSON.parse(JSON.stringify(r));let a;i.callback=n,this.sentMessages.push(i),a=this.isRunningInMobileApplication()?JSON.stringify(r):r,v.info("Posting message:",a),this.contentWindow.parent.postMessage(a,this.component.origin)}requestPermissions(e,t){this.postMessage(n.RequestPermissions,{permissions:e},(()=>{t&&t()}))}activateThemes(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!this.component.acceptsThemes)return;v.info("Incoming themes:",e);const{activeThemes:t}=this.component;if(t&&t.sort().toString()==e.sort().toString())return;let n=e;const r=[];for(const i of t)e.includes(i)?n=n.filter((e=>e!==i)):r.push(i);v.info("Deactivating themes:",r),v.info("Activating themes:",n);for(const e of r)this.deactivateTheme(e);this.component.activeThemes=e;for(const e of n){if(!e)continue;const t=this.contentWindow.document.createElement("link");t.id=btoa(e),t.href=e,t.type="text/css",t.rel="stylesheet",t.media="screen,print",t.className="custom-theme",this.contentWindow.document.getElementsByTagName("head")[0].appendChild(t)}this.onThemesChangeCallback&&this.onThemesChangeCallback()}themeElementForUrl(e){return Array.from(this.contentWindow.document.getElementsByClassName("custom-theme")).slice().find((t=>t.id==btoa(e)))}deactivateTheme(e){const t=this.themeElementForUrl(e);t&&t.parentNode&&(t.setAttribute("disabled","true"),t.parentNode.removeChild(t))}generateUUID(){return d()}get platform(){return this.component.platform}get environment(){return this.component.environment}streamItems(e,t){this.postMessage(n.StreamItems,{content_types:e},(e=>{t(e.items)}))}streamContextItem(e){this.postMessage(n.StreamContextItem,{},(t=>{const{item:n}=t;(!this.lastStreamedItem||this.lastStreamedItem.uuid!==n.uuid)&&this.pendingSaveTimeout&&(clearTimeout(this.pendingSaveTimeout),this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0),this.lastStreamedItem=n,e(this.lastStreamedItem)}))}selectItem(e){this.postMessage(n.SelectItem,{item:this.jsonObjectForItem(e)})}clearSelection(){this.postMessage(n.ClearSelection,{content_type:i.Tag})}createItem(e,t){this.postMessage(n.CreateItem,{item:this.jsonObjectForItem(e)},(e=>{let{item:n}=e;!n&&e.items&&e.items.length>0&&(n=e.items[0]),this.associateItem(n),t&&t(n)}))}createItems(e,t){const r=e.map((e=>this.jsonObjectForItem(e)));this.postMessage(n.CreateItems,{items:r},(e=>{t&&t(e.items)}))}associateItem(e){this.postMessage(n.AssociateItem,{item:this.jsonObjectForItem(e)})}deassociateItem(e){this.postMessage(n.DeassociateItem,{item:this.jsonObjectForItem(e)})}deleteItem(e,t){this.deleteItems([e],t)}deleteItems(e,t){const r={items:e.map((e=>this.jsonObjectForItem(e)))};this.postMessage(n.DeleteItems,r,(e=>{t&&t(e)}))}sendCustomEvent(e,t,n){this.postMessage(e,t,(e=>{n&&n(e)}))}saveItem(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.saveItems([e],t,n)}saveItemWithPresave(e,t,n){this.saveItemsWithPresave([e],t,n)}saveItemsWithPresave(e,t,n){this.saveItems(e,n,!1,t)}performSavingOfItems(e){let{items:t,presave:r,callback:i}=e;const a=setTimeout((()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),alert("This editor is unable to communicate with Standard Notes. Your changes may not be saved. Please backup your changes, then restart the application and try again.")}),5e3);this.concernTimeouts.push(a),r&&r();const o=[];for(const e of t)o.push(this.jsonObjectForItem(e));this.postMessage(n.SaveItems,{items:o},(()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),null==i||i()}))}saveItems(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;if(this.pendingSaveItems||(this.pendingSaveItems=[]),this.coallesedSaving&&!n){this.pendingSaveTimeout&&clearTimeout(this.pendingSaveTimeout);const n=e.map((e=>e.uuid)),i=this.pendingSaveItems.filter((e=>!n.includes(e.uuid)));this.pendingSaveItems=i.concat(e),this.pendingSaveParams={items:this.pendingSaveItems,presave:r,callback:t},this.pendingSaveTimeout=setTimeout((()=>{this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveItems=[],this.pendingSaveTimeout=void 0,this.pendingSaveParams=null}),this.coallesedSavingDelay)}else this.performSavingOfItems({items:e,presave:r,callback:t})}setSize(e,t){this.postMessage(n.SetSize,{type:"container",width:e,height:t})}keyDownEvent(e){this.postMessage(n.KeyDown,{keyboardModifier:e})}keyUpEvent(e){this.postMessage(n.KeyUp,{keyboardModifier:e})}mouseClickEvent(){this.postMessage(n.Click,{})}jsonObjectForItem(e){const t=Object.assign({},e);return t.children=null,t.parent=null,t}getItemAppDataValue(e,t){var n,r;return null==e||null===(n=e.content)||void 0===n||null===(r=n.appData)||void 0===r?void 0:r["org.standardnotes.sn"][t]}}return t.default})()},695:e=>{"use strict";e.exports=r}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var i=Object.create(null);a.r(i);var o={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>o[e]=()=>n[e]));return o.default=()=>n,a.d(i,o),i},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";a.d(o,{default:()=>d});var e=a(156),t=a.n(e);const n=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))};function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class i{constructor(e){this.options=e,r(this,"uuidToFileTempUrlAndTypeMapping",{}),r(this,"currentlyLoadingIds",[]),r(this,"statusElementMapping",{}),r(this,"fileTypeToElementType",{"image/png":"img","image/jpg":"img","image/jpeg":"img","image/gif":"img","image/tiff":"img","image/bmp":"img","video/mp4":"video","audio/mpeg":"audio","audio/mp3":"audio"})}fileTypeForElementType(e){return this.fileTypeToElementType[e.toLowerCase()]}loadFileSafeElements(){const e=this.options.getElementsBySelector("*[fsplaceholder]");for(const t of e)this.loadFileSafeElement(t)}async loadFileSafeElement(e){var t;const{fileSafeInstance:r}=this.options,i=e.getAttribute("fsid"),a=null!==(t=e.getAttribute("fsName"))&&void 0!==t?t:"",o=a&&"undefined"!=a?a:"file";if(!i)return!1;const s=this.uuidToFileTempUrlAndTypeMapping[i];if(s)return this.insertMediaElement({fsid:i,fsElement:e,url:s.url,fileType:s.fileType,fsName:s.fsName}),!1;if(this.currentlyLoadingIds.includes(i))return!1;const u=r.findFileDescriptor(i);if(!u)return this.setStatus({fsElement:e,fsid:i,status:"Unable to find ".concat(o," ").concat(i,"."),removable:!0}),!1;const c='[fsid="'.concat(u.uuid,'"][fscollapsable]');if(document.querySelectorAll("img".concat(c,", figure").concat(c,", video").concat(c,", audio").concat(c)).length>0)return!1;this.currentlyLoadingIds.push(i),this.setStatus({fsElement:e,fsid:i,status:"Downloading ".concat(o,"...")}),await n(.05);const l=await r.downloadFileFromDescriptor(u).catch((()=>{this.setStatus({fsElement:e,fsid:i,status:"Unable to download ".concat(o," ").concat(i,".")})}));if(!l)return!1;this.setStatus({fsElement:e,fsid:i,status:"Decrypting ".concat(o,"...")}),await n(.05);const f=await r.decryptFile({fileDescriptor:u,fileItem:l}).catch((()=>{this.setStatus({fsElement:e,fsid:i,status:"Unable to decrypt ".concat(o," ").concat(i,".")})}));if(!f)return!1;this.setStatus({fsElement:e,fsid:i}),await n(.05);const p=u.content.fileType,d=r.createTemporaryFileUrl({base64Data:f.decryptedData,dataType:p});return this.insertMediaElement({fsid:i,fileType:p,fsName:a,fsElement:e,url:d}),(()=>{this.currentlyLoadingIds.splice(this.currentlyLoadingIds.indexOf(i),1)})(),this.uuidToFileTempUrlAndTypeMapping[i]={fileType:p,url:d,fsName:a},!0}insertMediaElement(e){let t,{url:n,fsid:r,fsName:i,fileType:a,fsElement:o}=e;switch(this.fileTypeForElementType(a)){case"img":t=this.createImageElement({url:n,fsid:r,fsName:i,fsElement:o});break;case"video":t=this.createVideoElement({url:n,fsid:r,fileType:a,fsName:i,fsElement:o});break;case"audio":t=this.createAudioElement({url:n,fsid:r,fsName:i});break;default:t=this.createDownloadElement({url:n,fsid:r,fsName:i})}this.insertElementNearElement(t,o),o.remove()}wrapElementInTag(e){let{element:t,tagName:n,fsid:r,fsName:i}=e;const a=document.createElement(n);return a.setAttribute("fsid",r),a.setAttribute("fsName",i),a.setAttribute("fscollapsable","true"),a.setAttribute("contenteditable","true"),a.append(t),a}createImageElement(e){let{url:t,fsid:n,fsName:r,fsElement:i}=e;const a=document.createElement("img");a.setAttribute("src",t),a.setAttribute("srcset","".concat(t," 2x")),a.setAttribute("fsid",n),a.setAttribute("fsName",r),a.setAttribute("fscollapsable","true");const o=i.getAttribute("width");o&&a.setAttribute("width",o);const s=i.getAttribute("height");return s&&a.setAttribute("height",s),a}createVideoElement(e){let{url:t,fsid:n,fileType:r,fsName:i,fsElement:a}=e;const o=document.createElement("video");o.setAttribute("controls","true"),o.setAttribute("fsid",n),o.setAttribute("fsName",i),o.setAttribute("fscollapsable","true");const s=a.getAttribute("width");s&&o.setAttribute("width",s);const u=a.getAttribute("height");u&&o.setAttribute("height",u);const c=document.createElement("source");return c.setAttribute("src",t),c.setAttribute("type",r),o.append(c),this.wrapElementInTag({fsid:n,fsName:i,element:o,tagName:"p"})}createDownloadElement(e){let{url:t,fsid:n,fsName:r}=e;const i=document.createElement("a");return i.setAttribute("fsid",n),i.setAttribute("fsName",r),i.setAttribute("ghost","true"),i.setAttribute("fscollapsable","true"),i.setAttribute("href",t),i.textContent="".concat(r),i}createAudioElement(e){let{url:t,fsid:n,fsName:r}=e;const i=document.createElement("audio");return i.setAttribute("src",t),i.setAttribute("controls","true"),i.setAttribute("fsid",n),i.setAttribute("fsName",r),i.setAttribute("fscollapsable","true"),this.wrapElementInTag({fsid:n,fsName:r,element:i,tagName:"p"})}setStatus(e){let{status:t,fsElement:n,fsid:r,removable:i=!1}=e;if(r){const e=this.statusElementMapping[r];e&&(e.remove(),delete this.statusElementMapping[r])}if(t){let e=document.createElement("label");return e.setAttribute("id",r),e.setAttribute("ghost","true"),e.setAttribute("contenteditable","false"),e.style.fontWeight="bold",e.textContent=t,i&&(e.style.userSelect="all"),e=this.insertElementNearElement(e,n),r&&(this.statusElementMapping[r]=e),e}}insertStatusAtCursor(e){const t=Math.random().toString(36).substring(7);return this.setStatus({status:e,fsid:t,fsElement:null}),t}removeCursorStatus(e){const t=this.options.getElementsBySelector("#".concat(e));t.length>0&&t[0].remove()}insertElementNearElement(e,t){const n=this.options.preprocessElement(e);let r="child";if(t&&"figure"==n.tagName.toLowerCase()){const e=t.closest("p");e&&(t=e,r="afterend")}return this.options.insertElement(n,t,r),n}}class s{constructor(e){this.options=e}onKeyUp(e){let{isEnter:t,isPaste:n,isSpace:r}=e;(t||n||r)&&this.searchPatterns({searchPreviousLine:null!=t&&t})}searchPatterns(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{searchPreviousLine:!1};const t=e.searchPreviousLine?this.options.getPreviousLineText():this.options.getCurrentLineText();for(const n of this.options.patterns){const r=n.regex.exec(t);if(!r)continue;const i=r[0];if(i){const t=n.callback(i);this.replaceSelection(n.regex,t,e.searchPreviousLine)}}}replaceSelection(e,t,n){var r,i,a;null!==(r=this.options)&&void 0!==r&&r.beforeExpand&&this.options.beforeExpand(),this.options.replaceText({regex:e,replacement:t,searchPreviousLine:n}),null!==(i=this.options)&&void 0!==i&&i.afterExpand&&(null===(a=this.options)||void 0===a||a.afterExpand())}}const u=/(

)?\[FileSafe[^\]]*\](<\/p>)?/g,c=e=>e.replace(u,(e=>f(e))),l=e=>"[FileSafe:".concat(e.uuid,":").concat(e.content.fileName,"]"),f=e=>{const t=(e=(e=(e=e.replace("

","")).replace("

","")).replace("[","").replace("]","")).split(":"),n=t[1],r=t[2],i=t[3];let a="";if(i){const e=i.split("x");a="width=".concat(e[0]," height=").concat(e[1])}return"

")};function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class d{constructor(e,t){this.delegate=e,this.options=t,p(this,"fileIdsPendingAssociation",[]),p(this,"componentRelay",void 0),p(this,"fileLoader",void 0),p(this,"textExpander",void 0),p(this,"fileSafeLoading",void 0),p(this,"fileSafeClass",void 0),p(this,"fileSafeInstance",void 0),p(this,"note",void 0),p(this,"ignoreNextTextChange",void 0),p(this,"needsFileSafeElementLoad",void 0),p(this,"previousText",void 0),this.connectToBridge(),this.options.supportsFileSafe&&(this.fileSafeLoading=this.importFileSafe())}connectToBridge(){const{coallesedSaving:e,coallesedSavingDelay:n,mode:r,supportsFileSafe:i}=this.options;this.componentRelay=new(t())({targetWindow:window,options:{coallesedSaving:e,coallesedSavingDelay:n},onReady:()=>{const{platform:e}=this.componentRelay;e&&document.documentElement.classList.add(e)},onThemesChange:this.delegate.onThemesChange}),this.componentRelay.streamContextItem((async e=>{let t=!0;this.note&&this.note.uuid==e.uuid&&(t=!1);const n=this.note;if(i){const t=this.fileSafeClass.getSFItemClass();this.note=new t(e),this.fileSafeInstance.setCurrentNote(this.note)}else this.note=e;if(e.isMetadataUpdate)return;let a=e.content.text;if("html"===r&&t&&(/<[a-z][\s\S]*>/i.test(a)||(this.ignoreNextTextChange=!0)),this.previousText=a,i&&(this.needsFileSafeElementLoad=!0,a=c(a)),this.delegate.onNoteValueChange&&await this.delegate.onNoteValueChange(e),this.delegate.setEditorRawText(a),this.delegate.onNoteLockToggle){var o,s;const e=null!==(o=this.componentRelay.getItemAppDataValue(n,"locked"))&&void 0!==o&&o,t=null!==(s=this.componentRelay.getItemAppDataValue(this.note,"locked"))&&void 0!==s&&s;e!==t&&this.delegate.onNoteLockToggle(t)}var u,l;t&&(null===(u=(l=this.delegate).clearUndoHistory)||void 0===u||u.call(l))}))}async importFileSafe(){return Promise.resolve().then(a.t.bind(a,695,23)).then((e=>(this.fileSafeClass=e.default,this.configureFileSafe(),this.fileSafeInstance)))}configureFileSafe(){const e=["getCurrentLineText","getPreviousLineText","replaceText","getElementsBySelector","insertElement","preprocessElement","insertRawText"];for(const t of e)if(!this.delegate[t])throw Error("Missing ".concat(t," delegate function."));this.fileSafeInstance=new this.fileSafeClass({componentManager:this.componentRelay}),this.fileSafeInstance.addDataChangeObserver((()=>{const e=this.fileSafeInstance.getAllFileDescriptors();if(this.note&&this.fileIdsPendingAssociation.length>0){let t=!1;for(const n of this.fileIdsPendingAssociation.slice()){const r=e.find((e=>e.uuid==n));if(!r)continue;t=!0,this.fileIdsPendingAssociation.splice(this.fileIdsPendingAssociation.indexOf(n),1);const i=l(r);this.delegate.insertRawText(i)}t&&this.textExpander.searchPatterns()}e.length>0&&this.fileLoader.loadFileSafeElements()})),this.fileSafeInstance.addNewFileDescriptorHandler((e=>{this.fileIdsPendingAssociation.push(e.uuid)})),this.fileLoader=new i({fileSafeInstance:this.fileSafeInstance,getElementsBySelector:this.delegate.getElementsBySelector,insertElement:this.delegate.insertElement,preprocessElement:this.delegate.preprocessElement}),this.textExpander=new s({afterExpand:()=>this.fileLoader.loadFileSafeElements(),getCurrentLineText:this.delegate.getCurrentLineText,getPreviousLineText:this.delegate.getPreviousLineText,replaceText:this.delegate.replaceText,patterns:[{regex:u,callback:e=>c(e)}]})}async getFileSafe(){return!this.fileSafeInstance&&this.fileSafeLoading?this.fileSafeLoading:this.importFileSafe()}onEditorKeyUp(e){let{isSpace:t,isEnter:n}=e;this.textExpander.onKeyUp({isSpace:t,isEnter:n})}onEditorPaste(){this.textExpander.onKeyUp({isPaste:!0})}onEditorValueChanged(e){const{mode:t,supportsFileSafe:n}=this.options;if(this.needsFileSafeElementLoad&&(this.needsFileSafeElementLoad=!1,this.fileLoader.loadFileSafeElements()),this.ignoreNextTextChange)return void(this.ignoreNextTextChange=!1);if(n&&(e=(e=>{const t=(new DOMParser).parseFromString(e,"text/html"),n=t.querySelectorAll("*[fscollapsable]");for(const e of n){const t=e.getAttribute("fsid"),n=e.getAttribute("fsname"),r=e.getAttribute("width"),i=e.getAttribute("height"),a=["FileSafe",t,n];if(r&&i){const e="".concat(r,"x").concat(i);a.push(e)}const o="

[".concat(a.join(":"),"]

");e.insertAdjacentHTML("afterend",o),e.remove()}return t.querySelectorAll("*[ghost]").forEach((e=>e.remove())),t.body.innerHTML})(e),this.previousText==e))return;if(this.previousText=e,!this.note)return;const r=this.note;this.componentRelay.saveItemWithPresave(r,(()=>{if(r.content.text=e,this.delegate.generateCustomPreview){var n;const t=this.delegate.generateCustomPreview(e);r.content.preview_plain=null!==(n=t.plain)&&void 0!==n?n:" ",r.content.preview_html=t.html}else{if("html"===t){let t=e.replace(u,(e=>""));t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:90;return e.length<=t?e:e.substring(0,t)+"..."}((e=>{const t=document.implementation.createHTMLDocument().body;return t.innerHTML=e,t.textContent||t.innerText||""})(t)),r.content.preview_plain=t.length>0?t:" "}else r.content.preview_plain=e;r.content.preview_html=null}}))}canUploadFiles(){const e=this.fileSafeInstance.getAllCredentials(),t=this.fileSafeInstance.getAllIntegrations();return e.length>0&&t.length>0}async uploadJSFileObject(e){const t=this.fileLoader.insertStatusAtCursor("Processing file...");return this.fileSafeInstance.encryptAndUploadJavaScriptFileObject(e).then((()=>{this.fileLoader.removeCursorStatus(t)}))}saveItemWithPresave(e,t){this.componentRelay.saveItemWithPresave(e,t)}get platform(){return this.componentRelay.platform}get environment(){return this.componentRelay.environment}canUseFileSafe(){return this.fileSafeInstance.hasLegacyAccess()}}})(),o.default})())},742:(e,t,n)=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}([function(e,t){e.exports=n(886)},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){e.exports=n(13)},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t){function n(e,t){for(var n=0;n=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;w(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:S(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(10),o=n.n(a),s=n(6),u=n.n(s),c=n(5),l=n.n(c),f=n(7),p=n.n(f),d=n(8),h=n.n(d),m=n(4),y=n.n(m),v=n(2),g=n.n(v),b=n(1),k=n.n(b);function w(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return x(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?x(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e: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(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&!t.content.isDefault&&i.a.createElement("a",{className:"info",onClick:function(){e.setCredentialAsDefault(t)}},"Make Default"),i.a.createElement("a",{className:"info",onClick:function(){e.exportCredential(t)}},"Export"),i.a.createElement("a",{className:"danger",onClick:function(){e.deleteCredential(t)}},"Delete")))))}))))}}]),n}(i.a.Component),E=n(3),C=n.n(E),I=n(9),R=n.n(I),T=function(){function e(t){var n=t.credentialManager,r=t.integrationManager;u()(this,e),this.credentialManager=n,this.integrationManager=r}var t;return l()(e,[{key:"getMessages",value:(t=R()(C.a.mark((function e(){var t,n;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[],e.next=3,this.credentialManager.getDefaultCredentials();case 3:return e.sent||t.push({message:"Create keys by selecting Create New under Keys.",css:"sk-base"}),(n=this.integrationManager.integrations)&&0!=n.length||t.push({message:"Add a new integration by selecting Add New under Integrations",css:"sk-base"}),e.abrupt("return",t);case 8:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();var D=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),(r=t.call(this,e)).state={},r}return l()(n,[{key:"render",value:function(){return i.a.createElement("div",{id:"messages"},i.a.createElement("div",{className:"title"},"Complete the following steps before uploading your first file:"),i.a.createElement("ul",null,this.props.messages.map((function(e){return i.a.createElement("li",{dangerouslySetInnerHTML:{__html:e.message},className:e.css})}))))}}]),n}(i.a.Component);var A=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),r=t.call(this,e),k()(g()(r),"setStatusForFile",(function(e,t,n){r.setState({fileStatusFile:e,fileStatus:t,hasStatusSpinner:n})})),k()(g()(r),"decryptFileDescriptor",function(){var e=R()(C.a.mark((function e(t){var n,i;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=S.get().filesafe.integrationForFileDescriptor(t)){e.next=4;break}return alert("Unable to find integration for file. If you have deleted the integration, please re-add it and try again."),e.abrupt("return");case 4:return i=S.get().filesafe.displayStringForIntegration(n),r.setStatusForFile(t,"Downloading from ".concat(i,"..."),!0),e.abrupt("return",S.get().filesafe.downloadFileFromDescriptor(t).then((function(e){return r.setStatusForFile(t,"Decrypting...",!0),S.get().filesafe.decryptFile({fileDescriptor:t,fileItem:e}).then((function(e){return{base64Data:e.decryptedData,fileName:t.content.fileName,fileType:t.content.fileType}})).catch((function(e){console.error("filesafe-embed | error decrypting file:",e),r.flashErrorForFileDescriptor(t,"Error decrypting file.")}))})).catch((function(e){console.error("Error downloading file",e),r.flashErrorForFileDescriptor(t,"Error downloading file.")})));case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),k()(g()(r),"downloadFile",function(){var e=R()(C.a.mark((function e(t){var n,i;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.isMobile){e.next=5;break}return n=S.get().filesafe.getPlatform(),alert("Downloading files is not currently supported on ".concat("ios"==n?"iOS":"Android",".")),e.abrupt("return");case 5:return e.next=7,r.decryptFileDescriptor(t);case 7:if(i=e.sent){e.next=11;break}return console.error("decryptFile returned nil data"),e.abrupt("return");case 11:S.get().filesafe.downloadBase64Data(i),r.setStatusForFile(t,null);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),k()(g()(r),"previewFile",function(){var e=R()(C.a.mark((function e(t){var n,i;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.decryptFileDescriptor(t);case 2:n=e.sent,i=S.get().filesafe.createTemporaryFileUrl({base64Data:n.base64Data,dataType:n.fileType}),r.setStatusForFile(t,null),r.setState({previewUrl:i,previewingFile:t});case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),k()(g()(r),"onClickPreview",(function(){setTimeout((function(){r.revokePreview()}),500)})),k()(g()(r),"selectFile",(function(e,t){e.target.focus(),r.state.selectedFile==t?(r.setState({selectedFile:null}),r.delegate.onSelectFile&&r.delegate.onSelectFile(null)):(r.setState({selectedFile:t}),r.delegate.onSelectFile&&r.delegate.onSelectFile(t)),r.revokePreview()})),k()(g()(r),"deleteFile",(function(e){S.get().filesafe.deleteFileFromDescriptor(e)})),k()(g()(r),"copyInsertionLink",(function(e){var t="[FileSafe:".concat(e.uuid,":").concat(e.content.fileName,"]");S.get().filesafe.copyTextToClipboard(t),r.setState({copiedLink:e}),setTimeout((function(){r.setState({copiedLink:null})}),1e3)})),k()(g()(r),"isFileSelected",(function(e){return r.state.selectedFile==e})),k()(g()(r),"elementForFile",(function(e){var t,n=S.get().filesafe.integrationForFileDescriptor(e);t=n?S.get().filesafe.displayStringForIntegration(n):"Integration Not Found";var a=e.content.serverMetadata.file_path,o=r.state.previewUrl&&r.state.previewingFile==e,s=r.state.fileStatusFile==e&&r.state.fileStatus,u=r.state.hasStatusSpinner;return i.a.createElement("div",{className:"file-item-container "+(r.isFileSelected(e)?"expanded":"")},i.a.createElement("div",{onClick:function(t){r.selectFile(t,e)},className:"file-item-button sk-button info "+(r.isFileSelected(e)?"selected":void 0)},i.a.createElement("div",{className:"sk-label"},e.content.fileName),s&&i.a.createElement("div",{className:"file-download-status sk-horizontal-group"},u&&i.a.createElement("div",{className:"sk-spinner x-small"}),i.a.createElement("div",{className:"file-status-label"},r.state.fileStatus)),r.isFileSelected(e)&&i.a.createElement("div",{className:"file-item-options-wrapper"},i.a.createElement("div",{onClick:function(e){e.stopPropagation()},className:"sk-app-bar file-item-options"},i.a.createElement("div",{className:"center"},i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.downloadFile(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast "+(r.isMobile?"disabled":"")},"Download")),i.a.createElement("div",{className:"sk-app-bar-item border"}),r.supportsPreviews&&o&&i.a.createElement("a",{className:"sk-app-bar-item",href:r.state.previewUrl,onClick:function(e){e.stopPropagation(),r.onClickPreview()},target:"_blank"},i.a.createElement("div",{className:"sk-label contrast"},"Open Preview")),r.supportsPreviews&&!o&&i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.previewFile(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast "+(r.isMobile?"disabled":"")},"Preview")),r.supportsPreviews&&i.a.createElement("div",{className:"sk-app-bar-item border"}),i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.copyInsertionLink(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast"},r.state.copiedLink==e?"Copied":"Copy Insert Link")),i.a.createElement("div",{className:"sk-app-bar-item border"}),i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.deleteFile(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast"},"Delete")))),i.a.createElement("div",{className:"file-location"},i.a.createElement("strong",null,t),i.a.createElement("span",null," ",a)))))})),r.state={},r.delegate=S.get().getDelegate(),r}return l()(n,[{key:"revokePreview",value:function(){this.state.previewUrl&&S.get().filesafe.revokeTempUrl(this.state.previewUrl),this.setState({previewUrl:null,previewingFile:null})}},{key:"flashErrorForFileDescriptor",value:function(e,t){var n=this;this.setStatusForFile(e,t,!1),setTimeout((function(){n.setStatusForFile(null)}),2500)}},{key:"render",value:function(){var e=this;return this.props.files.map((function(t){return e.elementForFile(t)}))}},{key:"supportsPreviews",get:function(){if(void 0!==this._supportsPreview)return this._supportsPreview;var e=S.get().filesafe.getEnvironment();if(null==e)return!1;this._supportsPreview="web"==e}},{key:"isMobile",get:function(){return S.get().filesafe.isMobile()}}]),n}(i.a.Component);function F(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e: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(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n5e7)){r.next=14;break}return alert("The maximum upload size is ".concat(50," megabytes per file.")),n.setState({status:null}),e(),r.abrupt("return");case 14:return r.next=16,SFJS.crypto.arrayBufferToBase64(u);case 16:return c=r.sent,r.next=19,n.encryptFile(c,t.name,t.type);case 19:e();case 20:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),n.setState({status:"Reading file..."}),t.name.endsWith(".sf")||t.name.endsWith(".json")?(a=!0,i.readAsText(t)):i.readAsArrayBuffer(t)})));case 4:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"decryptDraggedFile",value:(r=R()(C.a.mark((function e(t){var n,r,i,a,o,s=this;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.setState({status:"Decrypting..."}),n=S.get().filesafe.getAllCredentials(),r=function(){var e=R()(C.a.mark((function e(n){return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){S.get().filesafe.decryptFile({fileItem:t,credential:n}).then((function(t){var n=t.decryptedItem;S.get().filesafe.downloadBase64Data({base64Data:t.decryptedData,fileName:n.content.fileName,fileType:n.content.fileType}),s.setState({status:null}),e(!0)})).catch((function(e){console.error("Error decrypting:",e),s.flashError("Error decrypting file."),r(!1)}))})));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),i=F(n),e.prev=4,i.s();case 6:if((a=i.n()).done){e.next=15;break}return o=a.value,e.next=10,r(o);case 10:if(!e.sent){e.next=13;break}return e.abrupt("return");case 13:e.next=6;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(4),i.e(e.t0);case 20:return e.prev=20,i.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,this,[[4,17,20,23]])}))),function(e){return r.apply(this,arguments)})},{key:"wait",value:(n=R()(C.a.mark((function e(t){return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),1e3*t)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"encryptFile",value:(t=R()(C.a.mark((function e(t,n,r){var i,a,o=this;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=S.get().filesafe.getDefaultCredentials()){e.next=5;break}return this.setState({status:null}),alert("Please set up at least one key before attempting to upload a file. To do this, press Expand, and select Create New in the Keys section."),e.abrupt("return");case 5:if(a=S.get().filesafe.getDefaultIntegration()){e.next=10;break}return this.setState({status:null}),alert("Please set up at least one integration before attempting to upload a file. To do this, press Expand, and select Add New in the Integrations section."),e.abrupt("return");case 10:return this.setState({status:"Encrypting..."}),e.abrupt("return",S.get().filesafe.encryptFile({data:t,inputFileName:n,fileType:r,credential:i}).then(function(){var e=R()(C.a.mark((function e(t){return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o.setState({status:"Uploading to ".concat(S.get().filesafe.displayStringForIntegration(a),"...")}),e.next=3,o.wait(.5);case 3:return e.abrupt("return",S.get().filesafe.uploadFile({fileItem:t,inputFileName:n,fileType:r,credential:i}).then((function(){o.setState({status:"Upload Success."}),setTimeout((function(){o.setState({status:null})}),2e3)})).catch((function(e){console.error("fs-embed | error uploading file:",e),o.flashError("Error uploading file.")})));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 12:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"flashError",value:function(e){var t=this;this.setState({status:e,statusClass:"danger"}),setTimeout((function(){t.setState({status:null,statusClass:null})}),2500)}},{key:"render",value:function(){var e=this,t=this.state.statusClass?this.state.statusClass:"info",n="info"==t;return i.a.createElement("div",{className:"sn-component files-view"},i.a.createElement("div",{className:"sk-panel-row align-top"},i.a.createElement("div",{className:"files"},this.state.messages.length>0&&i.a.createElement("div",{id:"messages-container",className:"sk-panel-section"},i.a.createElement(D,{messages:this.state.messages})),this.state.status&&i.a.createElement("div",{id:"file-upload-status",className:"sk-horizontal-group"},n&&i.a.createElement("div",{className:"sk-spinner info small"}),i.a.createElement("div",{className:t},this.state.status)),i.a.createElement("div",{id:"add-file-button-container"},i.a.createElement("div",{className:"file sk-button info"},i.a.createElement("label",{className:"no-style"},i.a.createElement("input",{type:"file",style:{display:"none"},onChange:function(t){e.handleDroppedFiles(t.target.files)}}),i.a.createElement("div",{id:"attach-file-button-label",className:"sk-label"},"Attach File")))),i.a.createElement(A,{files:this.state.noteFiles}))))}},{key:"rootElement",get:function(){return document.getElementById("filesafe-embed")}},{key:"dropContainer",get:function(){return document.getElementById("files-view")}},{key:"fileInput",get:function(){return document.getElementById("file-input")}}]),c}(i.a.Component);var P=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),r=t.call(this,e),k()(g()(r),"toggleVisibility",(function(){r.setState({expanded:!r.state.expanded})})),r.state={expanded:!1,files:S.get().filesafe.getAllFileDescriptors()||[]},S.get().addDataChangeObserver((function(){r.setState({files:S.get().filesafe.getAllFileDescriptors()})})),r}return l()(n,[{key:"render",value:function(){return i.a.createElement("div",{className:"files-view"},i.a.createElement("div",{className:"sk-panel-row justify-left"},i.a.createElement("div",{className:"sk-horizontal-group"},i.a.createElement("div",{className:"sk-panel-section-title"},"All Files ",i.a.createElement("span",{style:{fontWeight:"normal"}},"(",this.state.files.length,")")),i.a.createElement("a",{className:"info",onClick:this.toggleVisibility},this.state.expanded?"Hide":"Show"))),this.state.expanded&&i.a.createElement("div",{className:"sk-panel-row"},i.a.createElement("div",{className:"files"},i.a.createElement(A,{files:this.state.files}))))}}]),n}(i.a.Component);var N=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),r=t.call(this,e),k()(g()(r),"handleKeyPress",(function(e){"Enter"===e.key&&r.submitIntegrationCode()})),k()(g()(r),"handleTextChange",(function(e){var t=e.target.value;r.setState({integrationCode:t})})),k()(g()(r),"submitIntegrationCode",(function(){var e=r.state.integrationCode;e&&0!=e.length&&S.get().filesafe.saveIntegrationFromCode(e).then((function(){r.setState({integrationCode:null,showInputForm:!1}),r.reloadIntegrations()})).catch((function(){alert("Invalid integration code. Ensure the correct value is copied and try again.")}))})),k()(g()(r),"addNewIntegrationClicked",(function(){window.open(S.get().defaultRelayServerUrl(),"_blank"),r.setState({showInputForm:!0})})),k()(g()(r),"cancelIntegrationForm",(function(){r.setState({showInputForm:!1})})),k()(g()(r),"deleteIntegration",(function(e){S.get().filesafe.deleteIntegration(e)})),k()(g()(r),"setIntegrationAsDefaultUploadSource",(function(e){S.get().filesafe.setIntegrationAsDefault(e)})),r.state={integrations:S.get().filesafe.getAllIntegrations()||[]},S.get().addDataChangeObserver((function(){r.reloadIntegrations()})),r}return l()(n,[{key:"reloadIntegrations",value:function(){var e=S.get().filesafe.getAllIntegrations();this.setState({integrations:e})}},{key:"componentDidMount",value:function(){}},{key:"componentWillUnmount",value:function(){}},{key:"displayStringForIntegration",value:function(e){return S.get().filesafe.displayStringForIntegration(e)}},{key:"render",value:function(){var e=this,t=this.state.integrations.length>1;return i.a.createElement("div",null,i.a.createElement("div",{className:"sk-panel-row"},i.a.createElement("div",{className:"sk-h2 sk-bold"},"Integrations"),!this.state.showInputForm&&i.a.createElement("div",{className:"sk-button info no-border",onClick:this.addNewIntegrationClicked},i.a.createElement("div",{className:"sk-label"},"Add New"))),i.a.createElement("div",{id:"integrations"},this.state.showInputForm&&i.a.createElement("div",{className:"sk-notification info"},i.a.createElement("strong",null,"New Integration"),i.a.createElement("p",{className:"sk-p"},"A new browser tab has opened—if not, try ",i.a.createElement("a",{href:S.get().defaultRelayServerUrl(),target:"_blank"},"this link"),". Complete the authentication flow and enter the code you receive below."),i.a.createElement("div",{className:"sk-panel-row"}),i.a.createElement("input",{className:"title sk-input contrast",type:"text",placeholder:"Enter integration code",value:this.state.integrationCode,onChange:this.handleTextChange,onKeyPress:this.handleKeyPress}),i.a.createElement("div",{className:"sk-button-group",style:{marginTop:10}},i.a.createElement("div",{className:"sk-button neutral",onClick:this.cancelIntegrationForm},i.a.createElement("a",{className:"sk-label"},"Cancel")),i.a.createElement("div",{className:"sk-button sk-base",onClick:this.submitIntegrationCode},i.a.createElement("a",{className:"sk-label"},"Submit"))))),i.a.createElement("div",{className:"list-container"},this.state.integrations.map((function(n){return i.a.createElement("div",{className:"list-item sk-horizontal-group top"},i.a.createElement("div",{className:"sk-circle x-small "+(n.content.isDefaultUploadSource?"info":"sk-secondary-contrast")}),i.a.createElement("div",null,i.a.createElement("div",{className:"sk-panel-row condensed sk-bold"},e.displayStringForIntegration(n)),i.a.createElement("div",{className:"sk-panel-row condensed"},i.a.createElement("div",{className:"sk-horizontal-group"},t&&!n.content.isDefaultUploadSource&&i.a.createElement("a",{className:"info",onClick:function(){e.setIntegrationAsDefaultUploadSource(n)}},"Make Default"),i.a.createElement("a",{className:"danger",onClick:function(){e.deleteIntegration(n)}},"Delete")))))}))))}}]),n}(i.a.Component);var L=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),(r=t.call(this,e)).state={hasLegacyAccess:!1},S.get().addDataChangeObserver((function(){r.setState({hasLegacyAccess:S.get().filesafe.hasLegacyAccess()})})),r}return l()(n,[{key:"render",value:function(){return this.state.hasLegacyAccess?i.a.createElement("div",{id:"home",className:"sk-panel static"},i.a.createElement("div",{id:"main-content",className:"sk-panel-content"},i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(M,null)),i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(N,null)),i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(_,null)),i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(P,null)))):i.a.createElement("div",{id:"home",className:"sk-panel static"},i.a.createElement("div",{id:"main-content",className:"sk-panel-content"},i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement("div",{class:"sk-notification danger"},i.a.createElement("div",{class:"sk-notification-title"},"Deprecated"),i.a.createElement("div",{class:"sk-notification-text"},i.a.createElement("p",{className:"sk-p"},"FileSafe is deprecated and no longer offered to new users as of February 9th, 2022."),i.a.createElement("p",{className:"sk-p"},"Existing users who have the extension installed, will continue to have access to it indefinitely."))))))}}]),n}(i.a.Component);var j=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){return u()(this,n),t.call(this,e)}return l()(n,null,[{key:"renderInElement",value:function(e,t,r){S.get().setFilesafeInstance(t),S.get().setDelegate(r),o.a.render(i.a.createElement(n),e)}},{key:"unload",value:function(e){S.get().unload(),o.a.unmountComponentAtNode(e)}}]),l()(n,[{key:"render",value:function(){return i.a.createElement("div",{id:"filesafe-embed"},i.a.createElement("div",{className:"sn-component"},i.a.createElement(L,null)))}}]),n}(i.a.Component);t.default={FilesafeEmbed:j,React:i.a,ReactDOM:o.a}}])},470:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,a){for(var o,s,u=i(e),c=1;c{"use strict";var r=n(886),i=n(470),a=n(404);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n

>>0?1:0),w=u.low=w+L,u.high=k+N+(w>>>0>>0?1:0),S=c.low=S+B,c.high=x+j+(S>>>0>>0?1:0),E=l.low=E+U,l.high=_+z+(E>>>0>>0?1:0),I=f.low=I+K,f.high=C+H+(I>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=n._createHelper(a),t.HmacSHA512=n._createHmacHelper(a)}(),s=(o=u).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,u=a.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.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 n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),function(){var e=u,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var r=e.blockSize,i=4*r;n.sigBytes>i&&(n=e.finalize(n)),n.clamp();for(var a=this._oKey=n.clone(),o=this._iKey=n.clone(),s=a.words,u=o.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.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 n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),Object.defineProperty(r,"__esModule",{value:!0}),r.StandardFile=r.SFItemTransformer=r.SFCryptoWeb=r.SFCryptoJS=r.SFAbstractCrypto=r.SFItemHistoryEntry=r.SFItemHistory=r.SFHistorySession=r.SFPrivileges=r.SFPredicate=r.SFItemParams=r.SFItem=r.SFSyncManager=r.SFStorageManager=r.SFSingletonManager=r.SFSessionHistoryManager=r.SFPrivilegesManager=r.SFModelManager=r.SFMigrationManager=r.SFHttpManager=r.SFAuthManager=r.SFAlertManager=void 0;var k=function(){function e(){v(this,e)}var t,n;return b(e,[{key:"alert",value:(n=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"confirm",value:(t=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.confirm(t.text)?e():n()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();r.SFAlertManager=k;var w=function(){function e(t,n,r,i){v(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=n,this.storageManager=t,this.alertManager=r||new k,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}var t,n,r,i,a,o,s,u,c,l;return b(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"saveKeys",value:(l=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"signout",value:(c=y(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!n){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){r.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"keys",value:(u=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getAuthParams",value:(s=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"defaultProtocolVersion",value:(o=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"protocolVersion",value:(a=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"getAuthParamsForEmail",value:(i=y(regeneratorRuntime.mark((function e(t,n,r){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:n},r)).api=S.getApiVersion(),e.abrupt("return",new Promise((function(e,n){var r=t+"/auth/params";a.httpManager.getAbsolute(r,i,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==h(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)}))),function(e,t,n){return i.apply(this,arguments)})},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:(r=y(regeneratorRuntime.mark((function t(n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=y(regeneratorRuntime.mark((function t(u,c){var l,f,p,d,m,v,g,b,k,w;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(n,r,o);case 13:if((l=t.sent).identifier=r,!l.error){t.next=18;break}return s.unlockAndResolve(u,l),t.abrupt("return");case 18:if(l&&l.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(l.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(l.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(l.version)){t.next=32;break}return p="The encryption version for your account, ".concat(l.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),d=!1,t.next=30,s.alertManager.confirm({title:"Update Needed",text:p,confirmButtonText:"Sign In"}).catch((function(){s.unlockAndResolve(u,{error:{}}),d=!0}));case 30:if(!d){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(l.pw_cost)){t.next=36;break}return s.unlockAndResolve(u,{error:{message:"Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in."}}),t.abrupt("return");case 36:if(m=SFJS.costMinimumForVersion(l.version),!(l.pw_cost5&&void 0!==u[5]&&u[5],e.abrupt("return",new Promise(function(){var e=y(regeneratorRuntime.mark((function e(u,c){var l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((l=new XMLHttpRequest).onreadystatechange=function(){if(4==l.readyState){var e=l.responseText;if(e)try{e=JSON.parse(e)}catch(e){}l.status>=200&&l.status<=299?s.$timeout((function(){i(e),u(e)})):(console.error("Request error:",e),s.$timeout((function(){a(e,l.status),c(e)})))}},"get"==t&&Object.keys(r).length>0&&(n=s.urlForUrlAndParams(n,r)),l.open(t,n,!0),l.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(l);case 8:"post"==t||"patch"==t?l.send(JSON.stringify(r)):l.send();case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(e,n,r,i,a){return t.apply(this,arguments)})},{key:"urlForUrlAndParams",value:function(e,t){var n=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+n:e+"?"+n}}]),e}();r.SFHttpManager=S;var E=function(){function e(t,n,r,i){var a=this;v(this,e),this.modelManager=t,this.syncManager=n,this.storageManager=r,this.completionHandlers=[],this.loadMigrations();var o=!1,s=i.addEventHandler((function(e){e==w.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=n.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=y(regeneratorRuntime.mark((function e(t,n){var r,u,c,l,f,p,d,h,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u="sync:completed"==t,!(r="local-data-loaded"==t)&&!u){e.next=40;break}if(r?a.receivedLocalDataEvent=!0:u&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(s),e.next=10,a.getCompletedMigrations();case 10:c=e.sent.slice(),l=!0,f=!1,p=void 0,e.prev=14,d=c[Symbol.iterator]();case 16:if(l=(h=d.next()).done){e.next=25;break}return m=h.value,e.next=20,a.migrationForEncodedName(m);case 20:e.sent.runOnlyOnce||_.pull(a._completed,m);case 22:l=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,p=e.t0;case 31:e.prev=31,e.prev=32,l||null==d.return||d.return();case 34:if(e.prev=34,!f){e.next=37;break}throw p;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,n){return e.apply(this,arguments)}}())}var t,n,r,i,a,o,s,u;return b(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:(u=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return n=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==n})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:(s=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,n=!0,r=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),r=!0,i=e.t0;case 14:e.prev=14,e.prev=15,n||null==a.return||a.return();case 17:if(e.prev=17,!r){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,c=!1,l=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(p=f.next()).done){e.next=51;break}for(d=p.value,h=!0,m=!1,y=void 0,e.prev=32,v=t[Symbol.iterator]();!(h=(g=v.next()).done);h=!0)s=g.value,d.content_type==s.content_type&&s.items.push(d);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),m=!0,y=e.t1;case 40:e.prev=40,e.prev=41,h||null==v.return||v.return();case 43:if(e.prev=43,!m){e.next=46;break}throw y;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),c=!0,l=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!c){e.next=63;break}throw l;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!0,k=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(b=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:b=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),k=!0,w=e.t3;case 87:e.prev=87,e.prev=88,b||null==x.return||x.return();case 90:if(e.prev=90,!k){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,E=!1,C=void 0,e.prev=98,I=this.completionHandlers[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)(0,R.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),E=!0,C=e.t4;case 106:e.prev=106,e.prev=107,_||null==I.return||I.return();case 109:if(e.prev=109,!E){e.next=112;break}throw C;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])}))),function(){return s.apply(this,arguments)})},{key:"encode",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"decode",value:(a=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"getCompletedMigrations",value:(i=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"getPendingMigrations",value:(r=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,n=[],r=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}n.push(u);case 19:r=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,r||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",n);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])}))),function(){return r.apply(this,arguments)})},{key:"markMigrationCompleted",value:(n=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return n=e.sent,e.t0=n,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(n)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"runMigration",value:(t=y(regeneratorRuntime.mark((function e(t,n){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){r.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(n).then((function(){r.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFMigrationManager=E;var C=function(){function e(t){v(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var t,n,r,i,a,o,s,u,c,l,f,p;return b(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;try{s.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"alternateUUIDForItem",value:(p=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.createItem(n),t.next=3,SFJS.crypto.generateUUID();case 3:for(r.uuid=t.sent,r.informReferencesOfUUIDChange(n.uuid,r.uuid),this.informModelsOfUUIDChangeForItem(r,n.uuid,r.uuid),i=!0,a=!1,o=void 0,t.prev=9,s=n.referencingObjects[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)(c=u.value).setIsNoLongerBeingReferencedBy(n),n.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(r);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==s.return||s.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(n.referencingObjects,!0),this.resolveReferencesForItem(r),this.loggingEnabled&&console.log(n.uuid,"--\x3e",r.uuid),n.deleted=!0,n.content.references=[],this.setItemDirty(n,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([n],e.MappingSourceLocalSaved);case 33:return this.addItem(r),this.setItemDirty(r,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(n,r),t.abrupt("return",r);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])}))),function(e){return p.apply(this,arguments)})},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,n){var r=!0,i=!1,a=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(r=(o=s.next()).done);r=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,n)}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:(f=y(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:n,sourceKey:r}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return f.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsOmittingFields",value:(l=y(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:n,source:r,sourceKey:i}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return l.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsWithOptions",value:(c=y(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T,D,A,F,O,M,P,N,L,j,B,z,U;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.items,r=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],s=[],u=[],c=!0,l=!1,f=void 0,e.prev=5,p=n[Symbol.iterator]();case 7:if(c=(h=p.next()).done){e.next=58;break}if(m=h.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(y=!m.content&&!m.errorDecrypting,m.content_type&&m.uuid&&!y||m.deleted){e.next=16;break}return console.error("Server response item is corrupt:",m),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(v=!0,g=!1,b=void 0,e.prev=20,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0)x=w.value,delete m[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),g=!0,b=e.t0;case 28:e.prev=28,e.prev=29,v||null==k.return||k.return();case 31:if(e.prev=31,!g){e.next=34;break}throw b;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(m.uuid))&&(S.updateFromJSON(m),S.dummy=!1),_=m.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt("continue",55);case 42:if(E=!1,1!=m.deleted){e.next=50;break}if(!m.dirty){e.next=48;break}E=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(m)),this.addItem(S,E),S.errorDecrypting||u.push(S),o.push(S),s.push(m);case 55:c=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,f=e.t1;case 64:e.prev=64,e.prev=65,c||null==p.return||p.return();case 67:if(e.prev=67,!l){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(C=!0,I=!1,R=void 0,e.prev=75,T=s.entries()[Symbol.iterator]();!(C=(D=T.next()).done);C=!0)A=d(D.value,2),F=A[0],O=A[1],M=o[F],O.content&&this.resolveReferencesForItem(M),M.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),I=!0,R=e.t2;case 83:e.prev=83,e.prev=84,C||null==T.return||T.return();case 86:if(e.prev=86,!I){e.next=89;break}throw R;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(P=this.popMissedReferenceStructsForObjects(s),N=!0,L=!1,j=void 0,e.prev=95,B=function(){var e=U.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},z=P[Symbol.iterator]();!(N=(U=z.next()).done);N=!0)B();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),L=!0,j=e.t3;case 104:e.prev=104,e.prev=105,N||null==z.return||z.return();case 107:if(e.prev=107,!L){e.next=110;break}throw j;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,i,a);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])}))),function(e){return c.apply(this,arguments)})},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],n=[],r=e.map((function(e){return e.uuid})),i=r[0].length,a=0,o=Object.keys(this.missedReferences);a1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var n=e.contentObject;if(e.updateLocalRelationships(),n.references){var r=n.references.slice(),i=r.map((function(e){return e.uuid})),a=!0,o=this.findItems(i,a),s=!0,u=!1,c=void 0;try{for(var l,f=o.entries()[Symbol.iterator]();!(s=(l=f.next()).done);s=!0){var p=d(l.value,2),h=p[0],m=p[1];if(m)e.addItemAsRelationship(m),t&&this.setItemDirty(m,!0);else{var y=i[h],v=this.missedReferenceBuildKey(y,e.uuid);if(!this.missedReferences[v]){var g={reference_uuid:y,for_item:e};this.missedReferences[v]=g}}}}catch(e){u=!0,c=e}finally{try{s||null==f.return||f.return()}finally{if(u)throw c}}}}}},{key:"notifySyncObserversOfModels",value:(u=y(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c,l,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,s,n,r);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),c=i[Symbol.iterator]();case 7:if(a=(l=c.next()).done){e.next=12;break}return e.delegateYield(u(),"t0",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,a||null==c.return||c.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])}))),function(e,t,n){return u.apply(this,arguments)})},{key:"_callSyncObserverCallbackWithTimeout",value:(s=y(regeneratorRuntime.mark((function e(t,n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,u){s.$timeout((function(){try{t.callback(n,r,i,a,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,n,r,i,a){return s.apply(this,arguments)})},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,n,r,i)}},{key:"setItemsDirty",value:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var c,l=t[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var f=c.value;f.setDirty(n,r)}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:"createItem",value:function(t){var n=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return n||(n=O),new n(t)}},{key:"createDuplicateItemFromResponseItem",value:(o=y(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return n=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return n.uuid=e.sent,r=this.createItem(n),e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,n=e.duplicateOf,r=this.duplicateItemWithCustomContent({content:t,duplicateOf:n});return this.addDuplicatedItemAsConflict({duplicate:r,duplicateOf:n}),r}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,n=e.duplicateOf;this.addDuplicatedItem(t,n),t.content.conflict_of=n.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,n=e.duplicateOf,r=new n.constructor({content:t});return r.created_at=n.created_at,r.content_type||(r.content_type=n.content_type),r}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var n=!0,r=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,n){this.addItemSyncObserverWithPriority({id:e,types:t,callback:n,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,n=e.priority,r=e.types,i=e.callback;Array.isArray(r)||(r=[r]),this.itemSyncObservers.push({id:t,types:r,priority:n,callback:i})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,n=!1,r=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}var u=!0,c=!1,l=void 0;try{for(var f,p=e.referencingObjects[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){var d=f.value;d.removeItemAsRelationship(e),this.setItemDirty(d,!0)}}catch(e){c=!0,l=e}finally{try{u||null==p.return||p.return()}finally{if(c)throw l}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:(a=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value,c=this.itemsHash[u];(c||t)&&n.push(c)}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}))}},{key:"importItems",value:(i=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],i={},a=!0,o=!1,s=void 0,t.prev=5,u=n[Symbol.iterator]();case 7:if(a=(c=u.next()).done){t.next=18;break}if(l=c.value,f=this.findItem(l.uuid)){t.next=13;break}return i[l.uuid]={},t.abrupt("continue",15);case 13:p=this.duplicateItemWithoutAdding(f),i[l.uuid]={frozenValue:p,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,a||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:d=!0,h=!1,m=void 0,t.prev=35,y=n[Symbol.iterator]();case 37:if(d=(v=y.next()).done){t.next=52;break}if(g=v.value,b=i[g.uuid],k=b.frozenValue,w=b.itemRef,!k||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(g);case 43:x=t.sent,g.deleted||k.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),r.push(x)),t.next=49;break;case 47:r.push(g),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:d=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),h=!0,m=t.t1;case 58:t.prev=58,t.prev=59,d||null==y.return||y.return();case 61:if(t.prev=61,!h){t.next=64;break}throw m;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(r,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,E=!1,C=void 0,t.prev=72,I=S[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)T=R.value,this.setItemDirty(T,!0,!1),T.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),E=!0,C=t.t2;case 80:t.prev=80,t.prev=81,_||null==I.return||I.return();case 83:if(t.prev=83,!E){t.next=86;break}throw C;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])}))),function(e){return i.apply(this,arguments)})},{key:"getAllItemsJSONData",value:(r=y(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,n,r));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"getJSONDataForItems",value:(n=y(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new M(e,n,r).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return n&&(t.auth_params=r),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,r,i){return n.apply(this,arguments)})},{key:"computeDataIntegrityHash",value:(t=y(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),n=t.map((function(e){return e.updatedAtTimestamp()})),r=n.join(","),e.next=6,SFJS.crypto.sha256(r);case 6:return i=e.sent,e.abrupt("return",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])}))),function(){return t.apply(this,arguments)})},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();r.SFModelManager=C;var I=function(){function e(t,n,r){v(this,e),this.modelManager=t,this.syncManager=n,this.singletonManager=r,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}var t,n,r,i,a,o,s,u,c,l,f,p;return b(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:(p=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=n,r=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,s=void 0,t.prev=8,u=r[Symbol.iterator]();case 10:if(a=(c=u.next()).done){t.next=27;break}if((l=c.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(l),t.next=24;break;case 19:if(l!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(l);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,a||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",i);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])}))),function(e){return p.apply(this,arguments)})},{key:"loadPrivileges",value:(f=y(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,n){var r=N.contentType(),i=new P("content_type","=",r);t.singletonManager.registerSingleton([i],(function(n){t.privileges=n,e(n)}),function(){var n=y(regeneratorRuntime.mark((function n(i){var a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=new N({content_type:r}),SFJS.crypto.generateUUIDSync){n.next=4;break}return n.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"getPrivileges",value:(l=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"displayInfoForCredential",value:function(t){var n={};return n[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},n[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},n[t]}},{key:"displayInfoForAction",value:function(t){var n={};return n[e.ActionManageExtensions]={label:"Manage Extensions"},n[e.ActionManageBackups]={label:"Download/Import Backups"},n[e.ActionViewProtectedNotes]={label:"View Protected Notes"},n[e.ActionManagePrivileges]={label:"Manage Privileges"},n[e.ActionManagePasscode]={label:"Manage Passcode"},n[e.ActionDeleteNote]={label:"Delete Notes"},n[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:(c=y(regeneratorRuntime.mark((function t(n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),r=a,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(r)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(n))]));case 3:case"end":return t.stop()}var i,a}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"clearSession",value:(u=y(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:"getSelectedSessionLength",value:(s=y(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(n));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:"getSessionExpirey",value:(o=y(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(n)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"actionHasPrivilegesConfigured",value:(a=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"actionRequiresPrivilege",value:(i=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",n.length>0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"savePrivileges",value:(r=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"authenticateAction",value:(n=y(regeneratorRuntime.mark((function e(t,n){var r,i,a,o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:r=e.sent,i=[],a=[],o=!0,s=!1,u=void 0,e.prev=7,c=r[Symbol.iterator]();case 9:if(o=(l=c.next()).done){e.next=18;break}return f=l.value,e.next=13,this._verifyAuthenticationParameters(f,n[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==c.return||c.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])}))),function(e,t){return n.apply(this,arguments)})},{key:"_verifyAuthenticationParameters",value:(t=y(regeneratorRuntime.mark((function t(n,r){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",i(r));case 6:if(n!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",a(r));case 8:case"end":return t.stop()}}),t)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFPrivilegesManager=I;var R=function(){function e(t,n,r,i,a){var o=this;v(this,e),this.modelManager=t,this.storageManager=n,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=r,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",i,(function(e,t,n,r,i){if(r!==C.MappingSourceLocalDirtied){var a=!0,s=!1,u=void 0;try{for(var c,l=e[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var f=c.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){s=!0,u=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}}))}))}var t,n,r,i,a,o,s;return b(e,[{key:"encryptionParams",value:(s=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"addHistoryEntryForItem",value:function(e){var t=this,n={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},r=this.historySession.addEntryForItem(n);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),r&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"clearAllHistory",value:(a=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"toggleDiskSaving",value:(i=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 8:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"saveToDisk",value:(r=y(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new M(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){n.storageManager.setItem("sessionHistory_revisions",JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"loadFromDisk",value:(n=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("sessionHistory_persist");case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem("sessionHistory_revisions");case 6:if(!(n=e.sent)){e.next=18;break}return n=JSON.parse(n),e.next=11,this.encryptionParams();case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:i=new L(n),this.historySession=i,e.next=19;break;case 18:this.historySession=new L;case 19:return e.next=21,this.storageManager.getItem("sessionHistory_autoOptimize");case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"toggleAutoOptimize",value:(t=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!0)):this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();r.SFSessionHistoryManager=R;var T=function(){function e(t,n){var r=this;v(this,e),this.syncManager=n,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,n,i,a,o){a!==C.MappingSourceLocalDirtied&&r.resolveSingletons(t.allNondummyItems,null,!0)}}),n.addEventHandler((function(e,n){if("local-data-loaded"==e)r.resolveSingletons(t.allNondummyItems,null,!0),r.initialDataLoaded=!0;else if("sync:completed"==e){if(!r.initialDataLoaded)return;r.resolveSingletons(n.retrievedItems,n.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var n=!0,i=!1,a=void 0;try{for(var o,s=r.singletonHandlers[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;u.singleton&&P.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,r.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}))}return b(e,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(e,t,n){var r=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var s,u=function(){var i=s.value,a=i.predicates.slice(),o=r.modelManager.filterItemsWithPredicates(e,a),u=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},c=r.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||c>0){var l=r.modelManager.itemsMatchingPredicates(a);if(l.length>=2){var f=l.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)}))),function(e){return T.apply(this,arguments)})},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:(R=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)}))),function(){return R.apply(this,arguments)})},{key:"getSyncURL",value:(I=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)}))),function(){return I.apply(this,arguments)})},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:(E=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return E.apply(this,arguments)})},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,n){var r=new Date(n.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(n.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?r:a0&&void 0!==u[0]?u[0]:{},r=n.incrementalCallback,i=n.batchSize,!(a=n.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var n=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],u=function(){var c=y(regeneratorRuntime.mark((function c(){var l,f;return regeneratorRuntime.wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return l=t.slice(a,a+i),c.next=3,s.handleItemsResponse(l,null,C.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=c.sent,o.push(f),!((a+=l.length)0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(m=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new M(t,m.keys,m.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,r&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return v=t.sent,t.next=32,i.storageManager.saveModels(v).catch((function(e){console.error("Error writing items",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,n){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)}))),function(e,t){return w.apply(this,arguments)})},{key:"syncOffline",value:(k=y(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!0,r=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),r=!0,i=e.t0;case 11:e.prev=11,e.prev=12,n||null==a.return||a.return();case 14:if(e.prev=14,!r){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])}))),function(e){return k.apply(this,arguments)})},{key:"markAllItemsDirtyAndSaveOffline",value:(g=y(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,d,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}n=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),r=!0,i=!1,a=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:r=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,r||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(c=this.modelManager.allNondummyItems,l=!0,f=!1,p=void 0,e.prev=32,d=c[Symbol.iterator]();!(l=(h=d.next()).done);l=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,p=e.t1;case 40:e.prev=40,e.prev=41,l||null==d.return||d.return();case 43:if(e.prev=43,!f){e.next=46;break}throw p;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(c,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])}))),function(e){return g.apply(this,arguments)})},{key:"setSyncToken",value:(m=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return m.apply(this,arguments)})},{key:"getSyncToken",value:(h=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"setCursorToken",value:(d=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"getCursorToken",value:(p=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e)}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:(f=y(regeneratorRuntime.mark((function t(){var n,r=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=y(regeneratorRuntime.mark((function t(i,a){var o,s,u,c,l,f,p,d,h,m,y,v,g,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n||(n={}),o=r.modelManager.getDirtyItems(),s=o.filter((function(e){return!r.lastDirtyItemsSave||e.dirtiedDate>r.lastDirtyItemsSave})),t.next=5,r.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,c=r.syncStatus.syncOpInProgress,l=r.initialDataLoaded(),!c&&l){t.next=16;break}return r.performSyncAgainOnCompletion=!0,r.lastDirtyItemsSave=new Date,t.next=13,r.writeItemsToLocalStorage(s,!1);case 13:return c&&(r.queuedCallbacks.push(i),r.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),l||(r.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),i()),t.abrupt("return");case 16:if(r.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt("return",r.syncOffline(o).then((function(e){r.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){r.notifyEvent("sync-exception",e)})));case 19:if(r.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return r.loggingEnabled&&console.log("Syncing online user."),f=r.syncStatus.needsMoreSync,r.syncStatus.syncStart=new Date,r.beginCheckingIfSyncIsTakingTooLong(),p=r.PerSyncItemUploadLimit,(d=o.slice(0,p)).lengthr.syncStatus.total&&(r.syncStatus.total=r.syncStatus.current),r.syncStatusDidChange(),t.next=34,r.writeItemsToLocalStorage(s,!1);case 34:return r.lastDirtyItemsSave=new Date,n.onPreSyncSave&&n.onPreSyncSave(),r.allRetreivedItems||(r.allRetreivedItems=[]),r.allSavedItems||(r.allSavedItems=[]),(h={}).limit=r.ServerItemDownloadLimit,n.performIntegrityCheck&&(h.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(d.map((function(e){var t=new M(e,u.keys,u.auth_params);return t.additionalFields=n.additionalFields,t.paramsForSync()}))).then((function(e){h.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),r.notifyEvent("sync-exception",t.t0);case 49:for(m=!0,y=!1,v=void 0,t.prev=52,g=d[Symbol.iterator]();!(m=(b=g.next()).done);m=!0)b.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),y=!0,v=t.t1;case 60:t.prev=60,t.prev=61,m||null==g.return||g.return();case 63:if(t.prev=63,!y){t.next=66;break}throw v;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,r.getSyncToken();case 70:return h.sync_token=t.sent,t.next=73,r.getCursorToken();case 73:return h.cursor_token=t.sent,h.api=S.getApiVersion(),r.loggingEnabled&&console.log("Syncing with params",h),t.prev=76,t.t2=r.httpManager,t.next=80,r.getSyncURL();case 80:t.t3=t.sent,t.t4=h,t.t5=function(e){r.handleSyncSuccess(d,e,n).then((function(){i(e)})).catch((function(e){console.log("Caught sync success exception:",e),r.handleSyncError(e,null,o).then((function(t){r.notifyEvent("sync-exception",e),i(t)}))}))},t.t6=function(e,t){r.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,n){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)}))),function(){return f.apply(this,arguments)})},{key:"_awaitSleep",value:(l=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"handleSyncSuccess",value:(c=y(regeneratorRuntime.mark((function t(n,r,i){var a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",r),o=this.allSavedItems.map((function(e){return e.uuid})),s=r.saved_items.map((function(e){return e.uuid})),r.retrieved_items=r.retrieved_items.filter((function(e){var t=o.includes(e.uuid),n=s.includes(e.uuid);if(t||n)return!1;var r=w.modelManager.findItem(e.uuid);return!r||!r.dirty})),u=[],c=!0,l=!1,f=void 0,t.prev=13,p=n[Symbol.iterator]();!(c=(d=p.next()).done);c=!0)0==(h=d.value).dirtyCount&&u.push(h);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),l=!0,f=t.t0;case 21:t.prev=21,t.prev=22,c||null==p.return||p.return();case 24:if(t.prev=24,!l){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(r.retrieved_items,null,C.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return m=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(m),this.syncStatus.retrievedCount=this.allRetreivedItems.length,y=["content","auth_hash"],t.next=38,this.handleItemsResponse(r.saved_items,y,C.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return v=t.sent,this.allSavedItems=this.allSavedItems.concat(v),g=r.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(g);case 43:return t.next=45,this.handleConflictsResponse(r.conflicts);case 45:if(b=t.sent,k=b&&b.length>0,!b){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(b,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(v,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(m,!1);case 54:if(!r.integrity_hash||r.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(r.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||v.length>=this.majorDataChangeThreshold||g&&g.length>=this.majorDataChangeThreshold||b&&b.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(r),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt("return",r);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])}))),function(e,t,n){return c.apply(this,arguments)})},{key:"handleSyncError",value:(u=y(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==n&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(r,!1),this.modelManager.didSyncModelsOffline(r),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return u.apply(this,arguments)})},{key:"handleItemsResponse",value:(s=y(regeneratorRuntime.mark((function e(t,n,r,i){var a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,n,r);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return s.apply(this,arguments)})},{key:"refreshErroredItems",value:(o=y(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((n=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(n,null,C.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"handleConflictsResponse",value:(a=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,I,R,T,D,A,F,M,P;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",n),r={},i=!0,a=!1,o=void 0,t.prev=7,s=n[Symbol.iterator]();case 9:if(i=(u=s.next()).done){t.next=21;break}if(c=u.value,l=c.server_item||c.unsaved_item,f=this.modelManager.findItem(l.uuid)){t.next=16;break}return r[l.uuid]={},t.abrupt("continue",18);case 16:p=f.getContentCopy(),r[l.uuid]={frozenContent:p,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==s.return||s.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:d=[],h=!0,m=!1,y=void 0,t.prev=39,v=n[Symbol.iterator]();case 41:if(h=(g=v.next()).done){t.next=91;break}return b=g.value,k=b.server_item||b.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[k],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=r[k.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(d.push(S),"uuid_conflict"!==b.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,d.push(_),t.next=88;break;case 62:if("sync_conflict"!==b.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);case 65:if(E=t.sent,I=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),R=!I.isItemContentEqualWith(E),T=!S.isItemContentEqualWith(E),D=!1,A=!1,F=!1,M=!1,k.deleted||S.deleted?M=!0:R?(new Date-S.client_updated_at)/1e3<20?(F=!0,A=!0):(D=!0,M=!0):T?O.AreItemContentsEqual({leftContent:S.content,rightContent:E.content,keysToIgnore:S.keysToIgnoreWhenCheckingContentEquality().concat(["references"]),appDataKeysToIgnore:S.appDataKeysToIgnoreWhenCheckingContentEquality()})?F=!0:(D=!0,M=!0):M=!0,!D){t.next=79;break}return t.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:x,duplicateOf:S});case 77:P=t.sent,d.push(P);case 79:if(A&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:E,duplicateOf:S}),d.push(E)),!M){t.next=83;break}return t.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([k],null,C.MappingSourceRemoteRetrieved);case 83:F&&(S.updated_at=E.updated_at,S.setDirty(!0)),t.next=88;break;case 86:return console.error("Unsupported conflict type",b.type),t.abrupt("continue",88);case 88:h=!0,t.next=41;break;case 91:t.next=97;break;case 93:t.prev=93,t.t4=t.catch(39),m=!0,y=t.t4;case 97:t.prev=97,t.prev=98,h||null==v.return||v.return();case 100:if(t.prev=100,!m){t.next=103;break}throw y;case 103:return t.finish(100);case 104:return t.finish(97);case 105:return t.abrupt("return",d);case 106:case"end":return t.stop()}}),t,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])}))),function(e){return a.apply(this,arguments)})},{key:"deprecated_handleUnsavedItemsResponse",value:(i=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Unsaved Items:",n),r=!0,i=!1,a=void 0,t.prev=6,o=n[Symbol.iterator]();case 8:if(r=(s=o.next()).done){t.next=35;break}return u=s.value,c=u.item,t.t0=SFJS.itemTransformer,t.t1=[c],t.next=15,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 15:return t.t2=t.sent.keys,t.next=18,t.t0.decryptMultipleItems.call(t.t0,t.t1,t.t2);case 18:if(l=this.modelManager.findItem(c.uuid)){t.next=21;break}return t.abrupt("continue",32);case 21:if("uuid_conflict"!==(f=u.error).tag){t.next=27;break}return t.next=25,this.modelManager.alternateUUIDForItem(l);case 25:t.next=32;break;case 27:if("sync_conflict"!==f.tag){t.next=32;break}return t.next=30,this.modelManager.createDuplicateItemFromResponseItem(c);case 30:p=t.sent,c.deleted||l.isItemContentEqualWith(p)||this.modelManager.addDuplicatedItemAsConflict({duplicate:p,duplicateOf:l});case 32:r=!0,t.next=8;break;case 35:t.next=41;break;case 37:t.prev=37,t.t3=t.catch(6),i=!0,a=t.t3;case 41:t.prev=41,t.prev=42,r||null==o.return||o.return();case 44:if(t.prev=44,!i){t.next=47;break}throw a;case 47:return t.finish(44);case 48:return t.finish(41);case 49:case"end":return t.stop()}}),t,this,[[6,37,41,49],[42,,44,48]])}))),function(e){return i.apply(this,arguments)})},{key:"stateless_downloadAllItems",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var r=y(regeneratorRuntime.mark((function r(i,a){var o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o={limit:n.limit||500,sync_token:n.syncToken,cursor_token:n.cursorToken,content_type:n.contentType,event:n.event,api:S.getApiVersion()},r.prev=1,r.t0=t.httpManager,r.next=5,t.getSyncURL();case 5:r.t1=r.sent,r.t2=o,r.t3=function(){var r=y(regeneratorRuntime.mark((function r(a){var o,s;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n.retrievedItems||(n.retrievedItems=[]),o=a.retrieved_items,r.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=r.sent.keys,r.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:n.retrievedItems=n.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),n.syncToken=a.sync_token,n.cursorToken=a.cursor_token,n.cursorToken?t.stateless_downloadAllItems(n).then(i):i(n.retrievedItems);case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.t4=function(e,t){a(e)},r.t0.postAuthenticatedAbsolute.call(r.t0,r.t1,r.t2,r.t3,r.t4),r.next=16;break;case 12:r.prev=12,r.t5=r.catch(1),console.log("Download all items exception caught:",r.t5),a(r.t5);case 16:case"end":return r.stop()}}),r,null,[[1,12]])})));return function(e,t){return r.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:(r=y(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=y(regeneratorRuntime.mark((function e(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],i=!0,a=!1,o=void 0,e.prev=4,s=n[Symbol.iterator]();case 6:if(i=(u=s.next()).done){e.next=18;break}if(c=u.value,!(l=t.modelManager.findItem(c.uuid))){e.next=14;break}if(c.isItemContentEqualWith(l)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(l);case 14:r.push(c);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==s.return||s.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:r,source:C.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"handleSignout",value:(n=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"clearSyncToken",value:(t=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();r.SFSyncManager=F;var O=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};v(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==h(this.content)||this.content.references||(this.content.references=[])}var t;return b(e,[{key:"initUUID",value:(t=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var n=0,r=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];n"==n.operator?m>h:"<="==n.operator?m<=h:">="==n.operator?m>=h:"startsWith"==n.operator?m.startsWith(h):"in"==n.operator?-1!=h.indexOf(m):"includes"==n.operator?this.resolveIncludesPredicate(m,h):"matches"==n.operator&&new RegExp(h).test(m)}},{key:"resolveIncludesPredicate",value:function(t,n){if("string"==typeof n)return t.includes(n);var r;r=Array.isArray(n)?e.fromArray(n):n;var i=!0,a=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(this.ObjectSatisfiesPredicate(c,r))return!0}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,n){return Array.isArray(n)&&(n=e.fromArray(n)),this.ObjectSatisfiesPredicate(t,n)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),n=t[1],r=new Date,i=parseInt(t[0]);return"days"==n?r.setDate(r.getDate()-i):"hours"==n&&r.setHours(r.getHours()-i),r}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();r.SFPredicate=P;var N=function(e){function t(e){var n;return v(this,t),(n=c(this,l(t).call(this,e))).content.desktopPrivileges||(n.content.desktopPrivileges={}),n}return f(t,e),b(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),b(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var n=this.getCredentialsForAction(e);n.push(t),this.setCredentialsForAction(e,n)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(O);r.SFPrivileges=N;var L=function(e){function t(e){var n;return v(this,t),(n=c(this,l(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(n.content.itemUUIDToItemHistoryMapping={}),Object.keys(n.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=n.content.itemUUIDToItemHistoryMapping[e];n.content.itemUUIDToItemHistoryMapping[e]=new j(t)})),n}return f(t,e),b(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new j),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var n=this.historyForItem(e);n.entries.length>t.LargeItemEntryAmountThreshold&&n.optimize()}}]),t}(O);r.SFHistorySession=L,L.LargeItemEntryAmountThreshold=60;var j=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(v(this,e),this.entries||(this.entries=[]),t.entries){var n=!0,r=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}}return b(e,[{key:"createEntryForItem",value:function(t){var n=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return n||(n=B),new n(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),n=this.getLastEntry();if(t.setPreviousEntry(n),!t.isSameAsEntry(n))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,n=[],r=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?n.push(e):-1!==(i=n.indexOf(e))&&n.splice(i,1),a&&r(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&n.push(o)}};this.entries.forEach((function(e,n){if(0==n||n==t.entries.length-1)i(e,n,!0);else{var a=r(e);i(e,n,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==n.indexOf(e)}))}}]),e}();r.SFItemHistory=j,j.LargeEntryDeltaThreshold=15;var B=function(){function e(t){v(this,e),this.item=O.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return b(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new O(this.item),n=new O(e.item);return t.isItemContentEqualWith(n)}}]),e}();r.SFItemHistoryEntry=B,x="undefined"!=typeof window?window:void 0!==e?e:null;var z=function(){function e(){v(this,e),this.DefaultPBKDF2Length=768}var t,n,r,i,a,o,s,c,l,f,p,d,h,m,g;return b(e,[{key:"generateUUIDSync",value:function(){var e=x.crypto||x.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var n=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){n++;var r=t[n>>3]>>n%8*4&15;return("x"==e?r:3&r|8).toString(16)}))}var r=(new Date).getTime();return x.performance&&"function"==typeof x.performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:(g=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"timingSafeEqual",value:function(e,t){var n=String(e),r=String(t),i=n.length,a=0;i!==r.length&&(r=n,a=1);for(var o=0;o0&&void 0!==d[0]?d[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(d.length>1?d[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(c=e.sent,!1!==this.timingSafeEqual(o,c)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return l=u.enc.Hex.parse(i),f=u.enc.Hex.parse(a||""),p=u.AES.decrypt(r,l,{iv:f,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",p.toString(u.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)}))),function(){return m.apply(this,arguments)})},{key:"encryptText",value:(h=y(regeneratorRuntime.mark((function e(t,n,r){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u.enc.Hex.parse(n),a=u.enc.Hex.parse(r||""),o=u.AES.encrypt(t,i,{iv:a,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)}))),function(e,t,n){return h.apply(this,arguments)})},{key:"generateRandomKey",value:(d=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return d.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(p=y(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,n=1,e.next=4,this.generateRandomKey(t);case 4:return r=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt("return",this.pbkdf2(i,r,n,t));case 9:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"firstHalfOfKey",value:(f=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"secondHalfOfKey",value:(l=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"base64",value:(c=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:"base64Decode",value:(s=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"sha256",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"hmac256",value:(a=y(regeneratorRuntime.mark((function e(t,n){var r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.enc.Hex.parse(n),i=u.enc.Utf8.parse(t),a=u.HmacSHA256(i,r).toString(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})},{key:"generateSalt",value:(i=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",n,r,i].join(":"));case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return i.apply(this,arguments)})},{key:"generateSymmetricKeyPair",value:(r=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},n=t.password,r=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(n,r,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,s=o/3,u=a.slice(0,s),c=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[u,c,l]);case 10:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"computeEncryptionKeysForUser",value:(n=y(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=n.version){e.next=9;break}if(n.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(n.identifier,n.version,n.pw_cost,n.pw_nonce);case 6:r=e.sent,e.next=10;break;case 9:r=n.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:r,pw_cost:n.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"generateInitialKeysAndAuthParamsForUser",value:(t=y(regeneratorRuntime.mark((function e(t,n){var r,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,r,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:n,pw_salt:o,pw_cost:i}).then((function(e){var n={pw_nonce:a,pw_cost:i,identifier:t,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:n}})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFAbstractCrypto=z;var U=function(e){function t(){return v(this,t),c(this,l(t).apply(this,arguments))}var n;return f(t,e),b(t,[{key:"pbkdf2",value:(n=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:u.algo.SHA512,iterations:r},e.abrupt("return",u.PBKDF2(t,n,a).toString());case 2:case"end":return e.stop()}}),e)}))),function(e,t,r,i){return n.apply(this,arguments)})}]),t}(z);r.SFCryptoJS=U;var H=(x="undefined"!=typeof window?window:void 0!==e?e:null).crypto?x.crypto.subtle:null,K=function(e){function t(){return v(this,t),c(this,l(t).apply(this,arguments))}var n,r,i,a,o,s,u,p,d,h,m,g,k,w;return f(t,e),b(t,[{key:"pbkdf2",value:(w=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(a=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(a,n,r,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return w.apply(this,arguments)})},{key:"generateRandomKey",value:(k=y(regeneratorRuntime.mark((function e(t){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",H.generateKey({name:"AES-CBC",length:t},!0,["encrypt","decrypt"]).then((function(e){return H.exportKey("raw",e).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.arrayBufferToHexString(new Uint8Array(t));case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return k.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(g=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([this.generateRandomKey(256),this.generateRandomKey(256)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"encryptText",value:(m=y(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(r);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:"AES-CBC",iv:i},e.next=11,this.hexStringToArrayBuffer(n);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,["encrypt"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,u).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return m.apply(this,arguments)})},{key:"decryptText",value:(h=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h=this,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=m.length>0&&void 0!==m[0]?m[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(m.length>1?m[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(u)),e.abrupt("return",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return c=e.t0,l={name:"AES-CBC",iv:c},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,l.name,["decrypt"]);case 26:return p=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return d=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,p,d).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.arrayBufferToString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"hmac256",value:(d=y(regeneratorRuntime.mark((function e(t,n){var r,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(n);case 2:return r=e.sent,e.next=5,this.webCryptoImportKey(r,"HMAC",["sign"],{name:"SHA-256"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},i,a).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return d.apply(this,arguments)})},{key:"webCryptoImportKey",value:(p=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",H.importKey("raw",a,{name:n,hash:i},!1,r).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return p.apply(this,arguments)})},{key:"webCryptoDeriveBits",value:(u=y(regeneratorRuntime.mark((function e(t,n,r,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(n);case 2:return e.t0=e.sent,e.t1=r,e.t2={name:"SHA-512"},a={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",H.deriveBits(a,t,i).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return u.apply(this,arguments)})},{key:"stringToArrayBuffer",value:(s=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(r)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"arrayBufferToString",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(r)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"arrayBufferToHexString",value:(a=y(regeneratorRuntime.mark((function e(t){var n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=new Uint8Array(t),r="",a=0;a5e3)||this.crypto instanceof K}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(r.StandardFile=V,x)try{x.StandardFile=V,x.SFJS=new V,x.SFCryptoWeb=K,x.SFCryptoJS=U,x.SFItemTransformer=W,x.SFModelManager=C,x.SFItem=O,x.SFItemParams=M,x.SFHttpManager=S,x.SFStorageManager=D,x.SFSyncManager=F,x.SFAuthManager=w,x.SFMigrationManager=E,x.SFAlertManager=k,x.SFPredicate=P,x.SFHistorySession=L,x.SFSessionHistoryManager=R,x.SFItemHistory=j,x.SFItemHistoryEntry=B,x.SFPrivilegesManager=I,x.SFPrivileges=N,x.SFSingletonManager=T}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}).call(this,n(2))},function(e,t){!function(t){"use strict";var n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag",u="object"==typeof e,c=t.regeneratorRuntime;if(c)u&&(e.exports=c);else{(c=t.regeneratorRuntime=u?e.exports:{}).wrap=m;var l={},f={};f[a]=function(){return this};var p=Object.getPrototypeOf,d=p&&p(p(C([])));d&&d!==n&&r.call(d,a)&&(f=d);var h=b.prototype=v.prototype=Object.create(f);g.prototype=h.constructor=b,b.constructor=g,b[s]=g.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(h),e},c.awrap=function(e){return{__await:e}},k(w.prototype),w.prototype[o]=function(){return this},c.AsyncIterator=w,c.async=function(e,t,n,r){var i=new w(m(e,t,n,r));return c.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(h),h[s]="Generator",h[a]=function(){return this},h.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},c.values=C,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}}}function m(e,t,n,r){var i=t&&t.prototype instanceof v?t:v,a=Object.create(i.prototype),o=new E(r||[]);return a._invoke=function(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=x(o,n);if(s){if(s===l)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=y(e,t,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(e,n,o),a}function y(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function v(){}function g(){}function b(){}function k(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e){var t;this._invoke=function(n,i){function a(){return new Promise((function(t,a){!function t(n,i,a,o){var s=y(e[n],e,i);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&r.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,a,o)}),(function(e){t("throw",e,a,o)})):Promise.resolve(c).then((function(e){u.value=e,a(u)}),o)}o(s.arg)}(n,i,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=y(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,l;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n(t=V(t,e)).length)n=e;else{var r=0,i=-1,a=-1,o=(n=t).length;for(0>r&&(r=-r>o?0:o+r),0>(i=i>o?o:i)&&(i+=o),o=r>i?0:i-r>>>0,r>>>=0,i=Array(o);++aa?Je:o,a=1),t=Object(t);++is))return!1;if((u=a.get(e))&&a.get(t))return u==t;var u=-1,c=!0,l=2&n?new E:Je;for(a.set(e,t),a.set(t,e);++u(n=null==n?0:Fe(n))&&(n=Vt(r+n,0)),h(e,re(t,3),n)):-1}function ve(e){return null!=e&&e.length?function e(t,n,r,i,a){var o=-1,s=t.length;for(r||(r=ue),a||(a=[]);++o=e}function Ce(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ie(e){return null!=e&&"object"==typeof e}function Re(e){return!(!Ie(e)||"[object Object]"!=N(e))&&(null===(e=Mt(e))||"function"==typeof(e=Et.call(e,"constructor")&&e.constructor)&&e instanceof e&&_t.call(e)==Rt)}function Te(e){return"string"==typeof e||!xn(e)&&Ie(e)&&"[object String]"==N(e)}function De(e){return"symbol"==typeof e||Ie(e)&&"[object Symbol]"==N(e)}function Ae(e){return e?(e=Oe(e))===Qe||e===-Qe?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Fe(e){var t=(e=Ae(e))%1;return e==e?t?e-t:e:0}function Oe(e){if("number"==typeof e)return e;if(De(e))return Ge;if(Ce(e)&&(e=Ce(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(tt,"");var t=at.test(e);return t||st.test(e)?pt(e.slice(2),t?2:8):it.test(e)?Ge:+e}function Me(e){return G(e,Be(e))}function Pe(e){return null==e?"":K(e)}function Ne(e,t,n){return(e=null==e?Je:M(e,t))===Je?n:e}function Le(e,t){var n;if(n=null!=e){for(var r,i=-1,a=(r=V(t,n=e)).length,o=!1;++i(e=D(t,e))||(e==t.length-1?t.pop():Lt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=D(t,e))?Je:t[e][1]},S.prototype.has=function(e){return-1r?(++this.size,n.push([e,t])):n[r][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Qt||S),string:new x}},_.prototype.delete=function(e){return e=ie(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return ie(this,e).get(e)},_.prototype.has=function(e){return ie(this,e).has(e)},_.prototype.set=function(e,t){var n=ie(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},E.prototype.add=E.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},E.prototype.has=function(e){return this.__data__.has(e)},C.prototype.clear=function(){this.__data__=new S,this.size=0},C.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},C.prototype.get=function(e){return this.__data__.get(e)},C.prototype.has=function(e){return this.__data__.has(e)},C.prototype.set=function(e,t){var n=this.__data__;if(n instanceof S){var r=n.__data__;if(!Qt||199>r.length)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _(r)}return n.set(e,t),this.size=n.size,this};var ln=function(e,t){if(null==e)return e;if(!xe(e))return function(e,t){return e&&fn(e,t,je)}(e,t);for(var n=e.length,r=-1,i=Object(e);++rn&&(n=Vt(r+n,0)),Te(e)?n<=r&&-1=e.length?{done:!0}:{done:!1,value:e[r++]}},e: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,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?this.items[u]=s:this.items.push(s);case 13:t.next=3;break;case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(1),i.e(t.t0);case 20:return t.prev=20,i.f(),t.finish(20);case 23:this.notifyObserversOfEvent(e.BridgeEventReceivedItems);case 24:case"end":return t.stop()}}),t,this,[[1,17,20,23]])}))),function(e){return c.apply(this,arguments)})},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}},{key:"createItem",value:function(e,t){this.createItems([e],t)}},{key:"createItems",value:function(e,t){this.componentManager.createItems(e,(function(e){t&&t(e.map((function(e){return new r.SFItem(e)})))}))}},{key:"saveItem",value:(s=a(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.saveItems([t]));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"saveItems",value:(i=a(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t,i){r.componentManager.saveItems(n,(function(n){t(n),r.notifyObserversOfEvent(e.BridgeEventSavedItem)}))})));case 1:case"end":return t.stop()}}),t)}))),function(e){return i.apply(this,arguments)})},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"deleteItem",value:function(e,t){this.deleteItems([e],t)}},{key:"deleteItems",value:function(e,t){this.componentManager.deleteItems(e,t)}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}}])&&u(t.prototype,n),e}();function f(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function p(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){f(a,r,i,o,s,"next",e)}function s(e){f(a,r,i,o,s,"throw",e)}o(void 0)}))}}function d(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e: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(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var i,a=m(t.integrations);try{for(a.s();!(i=a.n()).done;){var o=i.value;if(o!=e){t.setIntegrationAsDefault(o);break}}}catch(e){a.e(e)}finally{a.f()}}}))}},{key:"integrations",get:function(){return this.extensionBridge.filterItems(l.FileSafeIntegrationContentTypeKey)}}])&&g(t.prototype,n),e}();function k(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e=n.credentials[0]),e})),S(this,"setCredentialAsDefault",(function(e){var t=n.getDefaultCredentials();t&&(t.content.isDefault=!1),e.content.isDefault=!0,n.extensionBridge.saveItems([t,e])})),S(this,"deleteCredential",(function(e){n.extensionBridge.deleteItem(e)})),this.extensionBridge=r,this.onCredentialLoad=i,this.credentials=[],this.extensionBridge.addEventHandler((function(e){e==l.BridgeEventReceivedItems&&n.reloadCredentials()}))}var t,n,i,a;return t=e,(n=[{key:"reloadCredentials",value:function(){var e=this;this.credentials=[];var t=this.extensionBridge.filterItems(l.FileSafeCredentialsContentType);if(0!=t.length){var n,r=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e: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(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(t);try{var i=function(){var t=n.value;e.credentials.find((function(e){e.uuid,t.uuid}))||e.credentials.push(t)};for(r.s();!(n=r.n()).done;)i()}catch(e){r.e(e)}finally{r.f()}this.onCredentialLoad(),this.credentials.length>0&&this.didLoadCredentials()}}},{key:"createNewCredentials",value:(i=regeneratorRuntime.mark((function e(){var t,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=256,e.next=3,SFJS.crypto.generateRandomKey(t);case 3:return n=e.sent,e.next=6,SFJS.crypto.generateRandomKey(t);case 6:return i=e.sent,e.next=9,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(n,i);case 9:return(a=e.sent).isDefault=0==this.credentials.length,o=new r.SFItem({content_type:l.FileSafeCredentialsContentType,content:a}),this.extensionBridge.saveItem(o),this.didLoadCredentials(),e.abrupt("return",o);case 15:case"end":return e.stop()}}),e,this)})),a=function(){var e=this,t=arguments;return new Promise((function(n,r){var a=i.apply(e,t);function o(e){k(a,n,r,o,s,"next",e)}function s(e){k(a,n,r,o,s,"throw",e)}o(void 0)}))},function(){return a.apply(this,arguments)})},{key:"didLoadCredentials",value:function(){this.extensionBridge.notifyObserversOfEvent(l.BridgeEventLoadedCredentials)}},{key:"credentialForFileDescriptor",value:function(e){return this.credentials.find((function(t){return e.content.references.find((function(e){return e.uuid==t.uuid}))}))}},{key:"getAllCredentials",value:function(){return this.credentials}},{key:"saveCredential",value:function(e){this.extensionBridge.saveItem(e)}}])&&x(t.prototype,n),e}(),E=function(){return new Worker(n.p+"filesafe-js/EncryptionWorker.js")};function C(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function I(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){C(a,r,i,o,s,"next",e)}function s(e){C(a,r,i,o,s,"throw",e)}o(void 0)}))}}function R(e,t){for(var n=0;n3&&void 0!==arguments[3]&&arguments[3],a=document.createElement("a");a.setAttribute("download",t);var o=this.tempUrlForData(e,n);a.href=o,a.setAttribute("target","_blank"),i?window.location.href=a.href:(document.body.appendChild(a),a.click(),a.remove()),setTimeout((function(){r.revokeTempUrl(o)}),500)}},{key:"tempUrlForData",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t||"text/json"}))}},{key:"revokeTempUrl",value:function(e){window.URL.revokeObjectURL(e)}},{key:"copyTextToClipboard",value:function(e){if(window.clipboardData&&window.clipboardData.setData)return clipboardData.setData("Text",e);var t;if(document.queryCommandSupported&&document.queryCommandSupported("copy"))try{(t=document.createElement("textarea")).setAttribute("readonly",!0),t.setAttribute("contenteditable",!0),t.style.position="fixed",t.value=e,document.body.appendChild(t),t.focus(),t.select();var n=document.createRange();n.selectNodeContents(t);var r=window.getSelection();r.removeAllRanges(),r.addRange(n),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){console.error(e)}finally{document.body.removeChild(t)}}}],null&&A(t.prototype,null),n&&A(t,n),e}();function O(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function M(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){O(a,r,i,o,s,"next",e)}function s(e){O(a,r,i,o,s,"throw",e)}o(void 0)}))}}function P(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return N(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?N(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e: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(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&this.getAllIntegrations().length>0),t=Boolean(this.getAllFileDescriptors().length>0);return e||t}}]),e}()}])}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e=n(294),t=n(935),r=n(742),i=n.n(r),a=n(256),o=n.n(a),s=n(856),u=n.n(s),c=n(308);n(166);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e: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(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var u=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(u&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),M(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;M(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:O(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),y}}}function b(e,t,r,n){var i=t&&t.prototype instanceof x?t:x,a=Object.create(i.prototype),o=new C(n||[]);return a._invoke=function(e,t,r){var n=f;return function(i,a){if(n===p)throw new Error("Generator is already running");if(n===d){if("throw"===i)throw a;return F()}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var s=A(o,r);if(s){if(s===y)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=d,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var u=w(e,t,r);if("normal"===u.type){if(n=r.done?d:h,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=d,r.method="throw",r.arg=u.arg)}}}(e,r,o),a}function w(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function x(){}function S(){}function _(){}function R(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function I(e){function t(r,n,a,o){var s=w(e[r],e,n);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&i.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,a,o)}),(function(e){t("throw",e,a,o)})):Promise.resolve(c).then((function(e){u.value=e,a(u)}),o)}o(s.arg)}var r;this._invoke=function(e,n){function i(){return new Promise((function(r,i){t(e,n,r,i)}))}return r=r?r.then(i,i):i()}}function A(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,A(e,t),"throw"===t.method))return y;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var i=w(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,y;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,y):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,y)}function D(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(D,this),this.reset(!0)}function O(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o>>6*(3-o)&63));if(t=n.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(i=n.charAt(64))&&-1!=(i=e.indexOf(i))&&(t=i);for(var i=[],a=0,o=0;o>>6-o%4*2;i[a>>>2]|=(s|u)<<24-a%4*8,a++}return r.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,r,n,i,a,o){return((e=e+(t&r|~t&n)+i+o)<>>32-a)+t}function r(e,t,r,n,i,a,o){return((e=e+(t&n|r&~n)+i+o)<>>32-a)+t}function n(e,t,r,n,i,a,o){return((e=e+(t^r^n)+i+o)<>>32-a)+t}function i(e,t,r,n,i,a,o){return((e=e+(r^(t|~n))+i+o)<>>32-a)+t}for(var a=l,o=(u=a.lib).WordArray,s=u.Hasher,u=a.algo,c=[],f=0;64>f;f++)c[f]=4294967296*e.abs(e.sin(f+1))|0;u=u.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],l=(s=e[a+1],e[a+2]),f=e[a+3],h=e[a+4],p=e[a+5],d=e[a+6],y=e[a+7],v=e[a+8],g=e[a+9],m=e[a+10],k=e[a+11],b=e[a+12],w=e[a+13],x=e[a+14],S=e[a+15],_=t(_=o[0],A=o[1],I=o[2],R=o[3],u,7,c[0]),R=t(R,_,A,I,s,12,c[1]),I=t(I,R,_,A,l,17,c[2]),A=t(A,I,R,_,f,22,c[3]);_=t(_,A,I,R,h,7,c[4]),R=t(R,_,A,I,p,12,c[5]),I=t(I,R,_,A,d,17,c[6]),A=t(A,I,R,_,y,22,c[7]),_=t(_,A,I,R,v,7,c[8]),R=t(R,_,A,I,g,12,c[9]),I=t(I,R,_,A,m,17,c[10]),A=t(A,I,R,_,k,22,c[11]),_=t(_,A,I,R,b,7,c[12]),R=t(R,_,A,I,w,12,c[13]),I=t(I,R,_,A,x,17,c[14]),_=r(_,A=t(A,I,R,_,S,22,c[15]),I,R,s,5,c[16]),R=r(R,_,A,I,d,9,c[17]),I=r(I,R,_,A,k,14,c[18]),A=r(A,I,R,_,u,20,c[19]),_=r(_,A,I,R,p,5,c[20]),R=r(R,_,A,I,m,9,c[21]),I=r(I,R,_,A,S,14,c[22]),A=r(A,I,R,_,h,20,c[23]),_=r(_,A,I,R,g,5,c[24]),R=r(R,_,A,I,x,9,c[25]),I=r(I,R,_,A,f,14,c[26]),A=r(A,I,R,_,v,20,c[27]),_=r(_,A,I,R,w,5,c[28]),R=r(R,_,A,I,l,9,c[29]),I=r(I,R,_,A,y,14,c[30]),_=n(_,A=r(A,I,R,_,b,20,c[31]),I,R,p,4,c[32]),R=n(R,_,A,I,v,11,c[33]),I=n(I,R,_,A,k,16,c[34]),A=n(A,I,R,_,x,23,c[35]),_=n(_,A,I,R,s,4,c[36]),R=n(R,_,A,I,h,11,c[37]),I=n(I,R,_,A,y,16,c[38]),A=n(A,I,R,_,m,23,c[39]),_=n(_,A,I,R,w,4,c[40]),R=n(R,_,A,I,u,11,c[41]),I=n(I,R,_,A,f,16,c[42]),A=n(A,I,R,_,d,23,c[43]),_=n(_,A,I,R,g,4,c[44]),R=n(R,_,A,I,b,11,c[45]),I=n(I,R,_,A,S,16,c[46]),_=i(_,A=n(A,I,R,_,l,23,c[47]),I,R,u,6,c[48]),R=i(R,_,A,I,y,10,c[49]),I=i(I,R,_,A,x,15,c[50]),A=i(A,I,R,_,p,21,c[51]),_=i(_,A,I,R,b,6,c[52]),R=i(R,_,A,I,f,10,c[53]),I=i(I,R,_,A,m,15,c[54]),A=i(A,I,R,_,s,21,c[55]),_=i(_,A,I,R,v,6,c[56]),R=i(R,_,A,I,S,10,c[57]),I=i(I,R,_,A,d,15,c[58]),A=i(A,I,R,_,w,21,c[59]),_=i(_,A,I,R,h,6,c[60]),R=i(R,_,A,I,k,10,c[61]),I=i(I,R,_,A,l,15,c[62]),A=i(A,I,R,_,g,21,c[63]),o[0]=o[0]+_|0,o[1]=o[1]+A|0,o[2]=o[2]+I|0,o[3]=o[3]+R|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var a=e.floor(n/4294967296);for(r[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),r[14+(i+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t.sigBytes=4*(r.length+1),this._process(),r=(t=this._hash).words,n=0;4>n;n++)i=r[n],r[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=s._createHelper(u),a.HmacMD5=s._createHmacHelper(u)}(Math),function(){var e,t=l,r=(e=t.lib).Base,n=e.WordArray,i=(e=t.algo).EvpKDF=r.extend({cfg:r.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r=(s=this.cfg).hasher.create(),i=n.create(),a=i.words,o=s.keySize,s=s.iterations;a.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:u,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var r=t.createEncryptor;else r=t.createDecryptor,this._minBufferSize=1;this._mode=r.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var h=t.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(u=(d.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?n.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var r=n.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return h.create({ciphertext:e,salt:r})}},t.SerializableCipher=r.extend({cfg:r.extend({format:u}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n);return t=i.finalize(t),i=i.cfg,h.create({ciphertext:t,key:r,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),e.createDecryptor(r,n).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),d=(d.kdf={}).OpenSSL={execute:function(e,t,r,i){return i||(i=n.random(8)),e=o.create({keySize:t+r}).compute(e,i),r=n.create(e.words.slice(t),4*r),e.sigBytes=4*t,h.create({key:e,iv:r,salt:i})}},y=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:d}),encrypt:function(e,t,r,n){return r=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize),n.iv=r.iv,(e=p.encrypt.call(this,e,t,r.key,n)).mixIn(r),e},decrypt:function(e,t,r,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),r=n.kdf.execute(r,e.keySize,e.ivSize,t.salt),n.iv=r.iv,p.decrypt.call(this,e,t,r.key,n)}})}(),function(){for(var e=l,t=e.lib.BlockCipher,r=e.algo,n=[],i=[],a=[],o=[],s=[],u=[],c=[],f=[],h=[],p=[],d=[],y=0;256>y;y++)d[y]=128>y?y<<1:y<<1^283;var v=0,g=0;for(y=0;256>y;y++){var m=(m=g^g<<1^g<<2^g<<3^g<<4)>>>8^255&m^99;n[v]=m,i[m]=v;var k=d[v],b=d[k],w=d[b],x=257*d[m]^16843008*m;a[v]=x<<24|x>>>8,o[v]=x<<16|x>>>16,s[v]=x<<8|x>>>24,u[v]=x,x=16843009*w^65537*b^257*k^16843008*v,c[m]=x<<24|x>>>8,f[m]=x<<16|x>>>16,h[m]=x<<8|x>>>24,p[m]=x,v?(v=k^d[d[d[w^k]]],g^=d[d[g]]):v=g=1}var S=[0,1,2,4,8,16,32,64,128,27,54];r=r.AES=t.extend({_doReset:function(){for(var e=(r=this._key).words,t=r.sigBytes/4,r=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o]):(o=n[(o=o<<8|o>>>24)>>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o],o^=S[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=a?o:c[n[o>>>24]]^f[n[o>>>16&255]]^h[n[o>>>8&255]]^p[n[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,s,u,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,f,h,p,i),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,a,o,s){for(var u=this._nRounds,c=e[t]^r[0],l=e[t+1]^r[1],f=e[t+2]^r[2],h=e[t+3]^r[3],p=4,d=1;d>>24]^i[l>>>16&255]^a[f>>>8&255]^o[255&h]^r[p++],v=n[l>>>24]^i[f>>>16&255]^a[h>>>8&255]^o[255&c]^r[p++],g=n[f>>>24]^i[h>>>16&255]^a[c>>>8&255]^o[255&l]^r[p++];h=n[h>>>24]^i[c>>>16&255]^a[l>>>8&255]^o[255&f]^r[p++],c=y,l=v,f=g}y=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&h])^r[p++],v=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[h>>>8&255]<<8|s[255&c])^r[p++],g=(s[f>>>24]<<24|s[h>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^r[p++],h=(s[h>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^r[p++],e[t]=y,e[t+1]=v,e[t+2]=g,e[t+3]=h},keySize:8}),e.AES=t._createHelper(r)}(),l=l||function(e,t){var r={},n=r.lib={},i=function(){},a=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("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=n.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes;if(e=e.sigBytes,this.clamp(),n%4)for(var i=0;i>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;){var f;e:{f=u;for(var h=e.sqrt(f),p=2;p<=h;p++)if(!(f%p)){f=!1;break e}f=!0}f&&(8>c&&(a[c]=s(e.pow(u,.5))),o[c]=s(e.pow(u,1/3)),c++),u++}var d=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],s=r[3],u=r[4],c=r[5],l=r[6],f=r[7],h=0;64>h;h++){if(16>h)d[h]=0|e[t+h];else{var p=d[h-15],y=d[h-2];d[h]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+d[h-7]+((y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10)+d[h-16]}p=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+o[h]+d[h],y=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&a^i&a),f=l,l=c,c=u,u=s+p|0,s=a,a=i,i=n,n=p+y|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+a|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+l|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=n.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=n._createHelper(i),t.HmacSHA256=n._createHmacHelper(i)}(Math),a=(i=l).enc.Utf8,i.algo.HMAC=i.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,u=o.words,c=0;c>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uu;u++)s[u]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=(f=this._hash.words)[0],n=f[1],i=f[2],a=f[3],u=f[4],c=f[5],l=f[6],f=f[7],h=r.high,p=r.low,d=n.high,y=n.low,v=i.high,g=i.low,m=a.high,k=a.low,b=u.high,w=u.low,x=c.high,S=c.low,_=l.high,R=l.low,I=f.high,A=f.low,D=h,M=p,C=d,O=y,F=v,P=g,B=m,j=k,E=b,T=w,L=x,H=S,z=_,U=R,N=I,K=A,W=0;80>W;W++){var J=s[W];if(16>W)var q=J.high=0|e[t+2*W],V=J.low=0|e[t+2*W+1];else{q=((V=(q=s[W-15]).high)>>>1|($=q.low)<<31)^(V>>>8|$<<24)^V>>>7;var $=($>>>1|V<<31)^($>>>8|V<<24)^($>>>7|V<<25),G=((V=(G=s[W-2]).high)>>>19|(X=G.low)<<13)^(V<<3|X>>>29)^V>>>6,X=(X>>>19|V<<13)^(X<<3|V>>>29)^(X>>>6|V<<26),Y=(V=s[W-7]).high,Q=(Z=s[W-16]).high,Z=Z.low;q=(q=(q=q+Y+((V=$+V.low)>>>0<$>>>0?1:0))+G+((V+=X)>>>0>>0?1:0))+Q+((V+=Z)>>>0>>0?1:0),J.high=q,J.low=V}Y=E&L^~E&z,Z=T&H^~T&U,J=D&C^D&F^C&F;var ee=M&O^M&P^O&P,te=($=(D>>>28|M<<4)^(D<<30|M>>>2)^(D<<25|M>>>7),G=(M>>>28|D<<4)^(M<<30|D>>>2)^(M<<25|D>>>7),(X=o[W]).high),re=X.low;Q=N+((E>>>14|T<<18)^(E>>>18|T<<14)^(E<<23|T>>>9))+((X=K+((T>>>14|E<<18)^(T>>>18|E<<14)^(T<<23|E>>>9)))>>>0>>0?1:0),N=z,K=U,z=L,U=H,L=E,H=T,E=B+(Q=(Q=(Q=Q+Y+((X+=Z)>>>0>>0?1:0))+te+((X+=re)>>>0>>0?1:0))+q+((X+=V)>>>0>>0?1:0))+((T=j+X|0)>>>0>>0?1:0)|0,B=F,j=P,F=C,P=O,C=D,O=M,D=Q+(J=$+J+((V=G+ee)>>>0>>0?1:0))+((M=X+V|0)>>>0>>0?1:0)|0}p=r.low=p+M,r.high=h+D+(p>>>0>>0?1:0),y=n.low=y+O,n.high=d+C+(y>>>0>>0?1:0),g=i.low=g+P,i.high=v+F+(g>>>0

>>0?1:0),k=a.low=k+j,a.high=m+B+(k>>>0>>0?1:0),w=u.low=w+T,u.high=b+E+(w>>>0>>0?1:0),S=c.low=S+H,c.high=x+L+(S>>>0>>0?1:0),R=l.low=R+U,l.high=_+z+(R>>>0>>0?1:0),A=f.low=A+K,f.high=I+N+(A>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)}(),function(){var e=l,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,r){e=this._hasher=new e.init,"string"==typeof r&&(r=t.parse(r));var n=e.blockSize,i=4*n;r.sigBytes>i&&(r=e.finalize(r)),r.clamp();for(var a=this._oKey=r.clone(),o=this._iKey=r.clone(),s=a.words,u=o.words,c=0;c>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)n[c]=0|e[t+c];else{var l=n[c-3]^n[c-8]^n[c-14]^n[c-16];n[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+n[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)}(),function(){var e=l,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,r){e=this._hasher=new e.init,"string"==typeof r&&(r=t.parse(r));var n=e.blockSize,i=4*n;r.sigBytes>i&&(r=e.finalize(r)),r.clamp();for(var a=this._oKey=r.clone(),o=this._iKey=r.clone(),s=a.words,u=o.words,c=0;c>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)n[c]=0|e[t+c];else{var l=n[c-3]^n[c-8]^n[c-14]^n[c-16];n[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+n[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)}(),Object.defineProperty(n,"__esModule",{value:!0}),n.StandardFile=n.SFItemTransformer=n.SFCryptoWeb=n.SFCryptoJS=n.SFAbstractCrypto=n.SFItemHistoryEntry=n.SFItemHistory=n.SFHistorySession=n.SFPrivileges=n.SFPredicate=n.SFItemParams=n.SFItem=n.SFSyncManager=n.SFStorageManager=n.SFSingletonManager=n.SFSessionHistoryManager=n.SFPrivilegesManager=n.SFModelManager=n.SFMigrationManager=n.SFHttpManager=n.SFAuthManager=n.SFAlertManager=void 0;var x=function(){function e(){k(this,e)}var t,r;return w(e,[{key:"alert",value:(r=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return r.apply(this,arguments)})},{key:"confirm",value:(t=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){window.confirm(t.text)?e():r()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();n.SFAlertManager=x;var S=function(){function e(t,r,n,i){k(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=r,this.storageManager=t,this.alertManager=n||new x,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}var t,r,n,i,a,o,s,u,c,l;return w(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e,t||{})}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:"saveKeys",value:(l=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"signout",value:(c=m(regeneratorRuntime.mark((function t(r){var n=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!r){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){n.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"keys",value:(u=m(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getAuthParams",value:(s=m(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"defaultProtocolVersion",value:(o=m(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"protocolVersion",value:(a=m(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"getAuthParamsForEmail",value:(i=m(regeneratorRuntime.mark((function e(t,r,n){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:r},n)).api=I.getApiVersion(),e.abrupt("return",new Promise((function(e,r){var n=t+"/auth/params";a.httpManager.getAbsolute(n,i,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==v(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)}))),function(e,t,r){return i.apply(this,arguments)})},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:(n=m(regeneratorRuntime.mark((function t(r,n,i,a,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=m(regeneratorRuntime.mark((function t(u,c){var l,f,h,p,d,y,g,k,b,w;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(r,n,o);case 13:if((l=t.sent).identifier=n,!l.error){t.next=18;break}return s.unlockAndResolve(u,l),t.abrupt("return");case 18:if(l&&l.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(l.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(l.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(l.version)){t.next=32;break}return h="The encryption version for your account, ".concat(l.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),p=!1,t.next=30,s.alertManager.confirm({title:"Update Needed",text:h,confirmButtonText:"Sign In"}).catch((function(){s.unlockAndResolve(u,{error:{}}),p=!0}));case 30:if(!p){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(l.pw_cost)){t.next=36;break}return s.unlockAndResolve(u,{error:{message:"Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in."}}),t.abrupt("return");case 36:if(d=SFJS.costMinimumForVersion(l.version),!(l.pw_cost5&&void 0!==u[5]&&u[5],e.abrupt("return",new Promise(function(){var e=m(regeneratorRuntime.mark((function e(u,c){var l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((l=new XMLHttpRequest).onreadystatechange=function(){if(4==l.readyState){var e=l.responseText;if(e)try{e=JSON.parse(e)}catch(e){}l.status>=200&&l.status<=299?s.$timeout((function(){i(e),u(e)})):(console.error("Request error:",e),s.$timeout((function(){a(e,l.status),c(e)})))}},"get"==t&&Object.keys(n).length>0&&(r=s.urlForUrlAndParams(r,n)),l.open(t,r,!0),l.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(l);case 8:"post"==t||"patch"==t?l.send(JSON.stringify(n)):l.send();case 9:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(e,r,n,i,a){return t.apply(this,arguments)})},{key:"urlForUrlAndParams",value:function(e,t){var r=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+r:e+"?"+r}}]),e}();n.SFHttpManager=I;var A=function(){function e(t,r,n,i){var a=this;k(this,e),this.modelManager=t,this.syncManager=r,this.storageManager=n,this.completionHandlers=[],this.loadMigrations();var o=!1,s=i.addEventHandler((function(e){e==S.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=r.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=m(regeneratorRuntime.mark((function e(t,r){var n,u,c,l,f,h,p,d,y;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u="sync:completed"==t,!(n="local-data-loaded"==t)&&!u){e.next=40;break}if(n?a.receivedLocalDataEvent=!0:u&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(s),e.next=10,a.getCompletedMigrations();case 10:c=e.sent.slice(),l=!0,f=!1,h=void 0,e.prev=14,p=c[Symbol.iterator]();case 16:if(l=(d=p.next()).done){e.next=25;break}return y=d.value,e.next=20,a.migrationForEncodedName(y);case 20:e.sent.runOnlyOnce||_.pull(a._completed,y);case 22:l=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,h=e.t0;case 31:e.prev=31,e.prev=32,l||null==p.return||p.return();case 34:if(e.prev=34,!f){e.next=37;break}throw h;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,r){return e.apply(this,arguments)}}())}var t,r,n,i,a,o,s,u;return w(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:(u=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return r=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==r})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:(s=m(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w,x,S,_,R,I,A,D;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,r=!0,n=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(r=(o=a.next()).done);r=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),n=!0,i=e.t0;case 14:e.prev=14,e.prev=15,r||null==a.return||a.return();case 17:if(e.prev=17,!n){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,c=!1,l=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(h=f.next()).done){e.next=51;break}for(p=h.value,d=!0,y=!1,v=void 0,e.prev=32,g=t[Symbol.iterator]();!(d=(m=g.next()).done);d=!0)s=m.value,p.content_type==s.content_type&&s.items.push(p);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),y=!0,v=e.t1;case 40:e.prev=40,e.prev=41,d||null==g.return||g.return();case 43:if(e.prev=43,!y){e.next=46;break}throw v;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),c=!0,l=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!c){e.next=63;break}throw l;case 63:return e.finish(60);case 64:return e.finish(57);case 65:k=!0,b=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(k=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:k=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),b=!0,w=e.t3;case 87:e.prev=87,e.prev=88,k||null==x.return||x.return();case 90:if(e.prev=90,!b){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,R=!1,I=void 0,e.prev=98,A=this.completionHandlers[Symbol.iterator]();!(_=(D=A.next()).done);_=!0)(0,D.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),R=!0,I=e.t4;case 106:e.prev=106,e.prev=107,_||null==A.return||A.return();case 109:if(e.prev=109,!R){e.next=112;break}throw I;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])}))),function(){return s.apply(this,arguments)})},{key:"encode",value:(o=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"decode",value:(a=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"getCompletedMigrations",value:(i=m(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"getPendingMigrations",value:(n=m(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,r=[],n=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(n=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}r.push(u);case 19:n=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,n||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",r);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])}))),function(){return n.apply(this,arguments)})},{key:"markMigrationCompleted",value:(r=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return r=e.sent,e.t0=r,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(r)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"runMigration",value:(t=m(regeneratorRuntime.mark((function e(t,r){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){n.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(r).then((function(){n.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFMigrationManager=A;var D=function(){function e(t){k(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var t,r,n,i,a,o,s,u,c,l,f,h;return w(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;try{s.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:"alternateUUIDForItem",value:(h=m(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.createItem(r),t.next=3,SFJS.crypto.generateUUID();case 3:for(n.uuid=t.sent,n.informReferencesOfUUIDChange(r.uuid,n.uuid),this.informModelsOfUUIDChangeForItem(n,r.uuid,n.uuid),i=!0,a=!1,o=void 0,t.prev=9,s=r.referencingObjects[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)(c=u.value).setIsNoLongerBeingReferencedBy(r),r.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(n);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==s.return||s.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(r.referencingObjects,!0),this.resolveReferencesForItem(n),this.loggingEnabled&&console.log(r.uuid,"--\x3e",n.uuid),r.deleted=!0,r.content.references=[],this.setItemDirty(r,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([r],e.MappingSourceLocalSaved);case 33:return this.addItem(n),this.setItemDirty(n,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(r,n),t.abrupt("return",n);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])}))),function(e){return h.apply(this,arguments)})},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,r){var n=!0,i=!1,a=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(n=(o=s.next()).done);n=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,r)}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:(f=m(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:r,sourceKey:n}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return f.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsOmittingFields",value:(l=m(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:r,source:n,sourceKey:i}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return l.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsWithOptions",value:(c=m(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,u,c,l,f,h,p,d,v,g,m,k,b,w,x,S,_,R,I,A,D,M,C,O,F,P,B,j,E,T,L,H,z,U;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.items,n=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],s=[],u=[],c=!0,l=!1,f=void 0,e.prev=5,h=r[Symbol.iterator]();case 7:if(c=(p=h.next()).done){e.next=58;break}if(d=p.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(v=!d.content&&!d.errorDecrypting,d.content_type&&d.uuid&&!v||d.deleted){e.next=16;break}return console.error("Server response item is corrupt:",d),e.abrupt("continue",55);case 16:if(!Array.isArray(n)){e.next=36;break}for(g=!0,m=!1,k=void 0,e.prev=20,b=n[Symbol.iterator]();!(g=(w=b.next()).done);g=!0)x=w.value,delete d[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),m=!0,k=e.t0;case 28:e.prev=28,e.prev=29,g||null==b.return||b.return();case 31:if(e.prev=31,!m){e.next=34;break}throw k;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(d.uuid))&&(S.updateFromJSON(d),S.dummy=!1),_=d.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt("continue",55);case 42:if(R=!1,1!=d.deleted){e.next=50;break}if(!d.dirty){e.next=48;break}R=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(d)),this.addItem(S,R),S.errorDecrypting||u.push(S),o.push(S),s.push(d);case 55:c=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,f=e.t1;case 64:e.prev=64,e.prev=65,c||null==h.return||h.return();case 67:if(e.prev=67,!l){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(I=!0,A=!1,D=void 0,e.prev=75,M=s.entries()[Symbol.iterator]();!(I=(C=M.next()).done);I=!0)O=y(C.value,2),F=O[0],P=O[1],B=o[F],P.content&&this.resolveReferencesForItem(B),B.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),A=!0,D=e.t2;case 83:e.prev=83,e.prev=84,I||null==M.return||M.return();case 86:if(e.prev=86,!A){e.next=89;break}throw D;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(j=this.popMissedReferenceStructsForObjects(s),E=!0,T=!1,L=void 0,e.prev=95,H=function(){var e=U.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},z=j[Symbol.iterator]();!(E=(U=z.next()).done);E=!0)H();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),T=!0,L=e.t3;case 104:e.prev=104,e.prev=105,E||null==z.return||z.return();case 107:if(e.prev=107,!T){e.next=110;break}throw L;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,i,a);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])}))),function(e){return c.apply(this,arguments)})},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],r=[],n=e.map((function(e){return e.uuid})),i=n[0].length,a=0,o=Object.keys(this.missedReferences);a1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var r=e.contentObject;if(e.updateLocalRelationships(),r.references){var n=r.references.slice(),i=n.map((function(e){return e.uuid})),a=!0,o=this.findItems(i,a),s=!0,u=!1,c=void 0;try{for(var l,f=o.entries()[Symbol.iterator]();!(s=(l=f.next()).done);s=!0){var h=y(l.value,2),p=h[0],d=h[1];if(d)e.addItemAsRelationship(d),t&&this.setItemDirty(d,!0);else{var v=i[p],g=this.missedReferenceBuildKey(v,e.uuid);if(!this.missedReferences[g]){var m={reference_uuid:v,for_item:e};this.missedReferences[g]=m}}}}catch(e){u=!0,c=e}finally{try{s||null==f.return||f.return()}finally{if(u)throw c}}}}}},{key:"notifySyncObserversOfModels",value:(u=m(regeneratorRuntime.mark((function e(t,r,n){var i,a,o,s,u,c,l,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,s,r,n);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),c=i[Symbol.iterator]();case 7:if(a=(l=c.next()).done){e.next=12;break}return e.delegateYield(u(),"t0",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,a||null==c.return||c.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])}))),function(e,t,r){return u.apply(this,arguments)})},{key:"_callSyncObserverCallbackWithTimeout",value:(s=m(regeneratorRuntime.mark((function e(t,r,n,i,a,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,u){s.$timeout((function(){try{t.callback(r,n,i,a,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,r,n,i,a){return s.apply(this,arguments)})},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,r,n,i)}},{key:"setItemsDirty",value:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var c,l=t[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var f=c.value;f.setDirty(r,n)}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:"createItem",value:function(t){var r=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return r||(r=L),new r(t)}},{key:"createDuplicateItemFromResponseItem",value:(o=m(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return r=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return r.uuid=e.sent,n=this.createItem(r),e.abrupt("return",n);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,r=e.duplicateOf,n=this.duplicateItemWithCustomContent({content:t,duplicateOf:r});return this.addDuplicatedItemAsConflict({duplicate:n,duplicateOf:r}),n}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,r=e.duplicateOf;this.addDuplicatedItem(t,r),t.content.conflict_of=r.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,r=e.duplicateOf,n=new r.constructor({content:t});return n.created_at=r.created_at,n.content_type||(n.content_type=r.content_type),n}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var r=!0,n=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,r){this.addItemSyncObserverWithPriority({id:e,types:t,callback:r,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,r=e.priority,n=e.types,i=e.callback;Array.isArray(n)||(n=[n]),this.itemSyncObservers.push({id:t,types:n,priority:r,callback:i})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,r=!1,n=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,r=!1,n=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}var u=!0,c=!1,l=void 0;try{for(var f,h=e.referencingObjects[Symbol.iterator]();!(u=(f=h.next()).done);u=!0){var p=f.value;p.removeItemAsRelationship(e),this.setItemDirty(p,!0)}}catch(e){c=!0,l=e}finally{try{u||null==h.return||h.return()}finally{if(c)throw l}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:(a=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value,c=this.itemsHash[u];(c||t)&&r.push(c)}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return!0}))}},{key:"importItems",value:(i=m(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w,x,S,_,R,I,A,D,M;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=[],i={},a=!0,o=!1,s=void 0,t.prev=5,u=r[Symbol.iterator]();case 7:if(a=(c=u.next()).done){t.next=18;break}if(l=c.value,f=this.findItem(l.uuid)){t.next=13;break}return i[l.uuid]={},t.abrupt("continue",15);case 13:h=this.duplicateItemWithoutAdding(f),i[l.uuid]={frozenValue:h,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,a||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:p=!0,d=!1,y=void 0,t.prev=35,v=r[Symbol.iterator]();case 37:if(p=(g=v.next()).done){t.next=52;break}if(m=g.value,k=i[m.uuid],b=k.frozenValue,w=k.itemRef,!b||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(m);case 43:x=t.sent,m.deleted||b.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),n.push(x)),t.next=49;break;case 47:n.push(m),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:p=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),d=!0,y=t.t1;case 58:t.prev=58,t.prev=59,p||null==v.return||v.return();case 61:if(t.prev=61,!d){t.next=64;break}throw y;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(n,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,R=!1,I=void 0,t.prev=72,A=S[Symbol.iterator]();!(_=(D=A.next()).done);_=!0)M=D.value,this.setItemDirty(M,!0,!1),M.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),R=!0,I=t.t2;case 80:t.prev=80,t.prev=81,_||null==A.return||A.return();case 83:if(t.prev=83,!R){t.next=86;break}throw I;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])}))),function(e){return i.apply(this,arguments)})},{key:"getAllItemsJSONData",value:(n=m(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,r,n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getJSONDataForItems",value:(r=m(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new H(e,r,n).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return r&&(t.auth_params=n),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,n,i){return r.apply(this,arguments)})},{key:"computeDataIntegrityHash",value:(t=m(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),r=t.map((function(e){return e.updatedAtTimestamp()})),n=r.join(","),e.next=6,SFJS.crypto.sha256(n);case 6:return i=e.sent,e.abrupt("return",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])}))),function(){return t.apply(this,arguments)})},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();n.SFModelManager=D;var M=function(){function e(t,r,n){k(this,e),this.modelManager=t,this.syncManager=r,this.singletonManager=n,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}var t,r,n,i,a,o,s,u,c,l,f,h;return w(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:(h=m(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=r,n=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,s=void 0,t.prev=8,u=n[Symbol.iterator]();case 10:if(a=(c=u.next()).done){t.next=27;break}if((l=c.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(l),t.next=24;break;case 19:if(l!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(l);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,a||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",i);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])}))),function(e){return h.apply(this,arguments)})},{key:"loadPrivileges",value:(f=m(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,r){var n=U.contentType(),i=new z("content_type","=",n);t.singletonManager.registerSingleton([i],(function(r){t.privileges=r,e(r)}),function(){var r=m(regeneratorRuntime.mark((function r(i){var a;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(a=new U({content_type:n}),SFJS.crypto.generateUUIDSync){r.next=4;break}return r.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"getPrivileges",value:(l=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"displayInfoForCredential",value:function(t){var r={};return r[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},r[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},r[t]}},{key:"displayInfoForAction",value:function(t){var r={};return r[e.ActionManageExtensions]={label:"Manage Extensions"},r[e.ActionManageBackups]={label:"Download/Import Backups"},r[e.ActionViewProtectedNotes]={label:"View Protected Notes"},r[e.ActionManagePrivileges]={label:"Manage Privileges"},r[e.ActionManagePasscode]={label:"Manage Passcode"},r[e.ActionDeleteNote]={label:"Delete Notes"},r[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:(c=m(regeneratorRuntime.mark((function t(r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=r,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),n=a,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(n)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(r))]));case 3:case"end":return t.stop()}var i,a}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"clearSession",value:(u=m(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:"getSelectedSessionLength",value:(s=m(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(r=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(r));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:"getSessionExpirey",value:(o=m(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(r=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(r)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"actionHasPrivilegesConfigured",value:(a=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"actionRequiresPrivilege",value:(i=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return r=e.sent,e.abrupt("return",r.length>0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"savePrivileges",value:(n=m(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"authenticateAction",value:(r=m(regeneratorRuntime.mark((function e(t,r){var n,i,a,o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:n=e.sent,i=[],a=[],o=!0,s=!1,u=void 0,e.prev=7,c=n[Symbol.iterator]();case 9:if(o=(l=c.next()).done){e.next=18;break}return f=l.value,e.next=13,this._verifyAuthenticationParameters(f,r[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==c.return||c.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])}))),function(e,t){return r.apply(this,arguments)})},{key:"_verifyAuthenticationParameters",value:(t=m(regeneratorRuntime.mark((function t(r,n){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",i(n));case 6:if(r!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",a(n));case 8:case"end":return t.stop()}}),t)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFPrivilegesManager=M;var C="sessionHistory_persist",O="sessionHistory_revisions",F="sessionHistory_autoOptimize",P=function(){function e(t,r,n,i,a){var o=this;k(this,e),this.modelManager=t,this.storageManager=r,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=n,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",i,(function(e,t,r,n,i){if(n!==D.MappingSourceLocalDirtied){var a=!0,s=!1,u=void 0;try{for(var c,l=e[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var f=c.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){s=!0,u=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}}))}))}var t,r,n,i,a,o,s;return w(e,[{key:"encryptionParams",value:(s=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"addHistoryEntryForItem",value:function(e){var t=this,r={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},n=this.historySession.addEntryForItem(r);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),n&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:(o=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"clearAllHistory",value:(a=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem(O));case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"toggleDiskSaving",value:(i=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem(C,JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem(C,JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem(O));case 8:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"saveToDisk",value:(n=m(regeneratorRuntime.mark((function e(){var t,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new H(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){r.storageManager.setItem(O,JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"loadFromDisk",value:(r=m(regeneratorRuntime.mark((function e(){var t,r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem(C);case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem(O);case 6:if(!(r=e.sent)){e.next=18;break}return r=JSON.parse(r),e.next=11,this.encryptionParams();case 11:return n=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(r,n.keys);case 14:i=new N(r),this.historySession=i,e.next=19;break;case 18:this.historySession=new N;case 19:return e.next=21,this.storageManager.getItem(F);case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"toggleAutoOptimize",value:(t=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem(F,JSON.stringify(!0)):this.storageManager.setItem(F,JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();n.SFSessionHistoryManager=P;var B=function(){function e(t,r){var n=this;k(this,e),this.syncManager=r,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,r,i,a,o){a!==D.MappingSourceLocalDirtied&&n.resolveSingletons(t.allNondummyItems,null,!0)}}),r.addEventHandler((function(e,r){if("local-data-loaded"==e)n.resolveSingletons(t.allNondummyItems,null,!0),n.initialDataLoaded=!0;else if("sync:completed"==e){if(!n.initialDataLoaded)return;n.resolveSingletons(r.retrievedItems,r.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var r=!0,i=!1,a=void 0;try{for(var o,s=n.singletonHandlers[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value;u.singleton&&z.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,n.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}))}return w(e,[{key:"registerSingleton",value:function(e,t,r){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:r})}},{key:"resolveSingletons",value:function(e,t,r){var n=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var s,u=function(){var i=s.value,a=i.predicates.slice(),o=n.modelManager.filterItemsWithPredicates(e,a),u=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},c=n.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||c>0){var l=n.modelManager.itemsMatchingPredicates(a);if(l.length>=2){var f=l.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)}))),function(e){return M.apply(this,arguments)})},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:(A=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)}))),function(){return A.apply(this,arguments)})},{key:"getSyncURL",value:(R=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)}))),function(){return R.apply(this,arguments)})},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e,t||{})}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:(S=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return S.apply(this,arguments)})},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,r){var n=new Date(r.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(r.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?n:a0&&void 0!==u[0]?u[0]:{},n=r.incrementalCallback,i=r.batchSize,!(a=r.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var r=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],u=function(){var c=m(regeneratorRuntime.mark((function c(){var l,f;return regeneratorRuntime.wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return l=t.slice(a,a+i),c.next=3,s.handleItemsResponse(l,null,D.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=c.sent,o.push(f),!((a+=l.length)0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(y=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new H(t,y.keys,y.auth_params),e.next=3,r.paramsForLocalStorage();case 3:return r=e.sent,n&&delete r.dirty,e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return v=t.sent,t.next=32,i.storageManager.saveModels(v).catch((function(e){console.error("Error writing items",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,r){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)}))),function(e,t){return b.apply(this,arguments)})},{key:"syncOffline",value:(g=m(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=!0,n=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(r=(o=a.next()).done);r=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),n=!0,i=e.t0;case 11:e.prev=11,e.prev=12,r||null==a.return||a.return();case 14:if(e.prev=14,!n){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var u=a.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])}))),function(e){return g.apply(this,arguments)})},{key:"markAllItemsDirtyAndSaveOffline",value:(v=m(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,u,c,l,f,h,p,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}r=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),n=!0,i=!1,a=void 0,e.prev=5,o=r[Symbol.iterator]();case 7:if(n=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:n=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,n||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(c=this.modelManager.allNondummyItems,l=!0,f=!1,h=void 0,e.prev=32,p=c[Symbol.iterator]();!(l=(d=p.next()).done);l=!0)d.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,h=e.t1;case 40:e.prev=40,e.prev=41,l||null==p.return||p.return();case 43:if(e.prev=43,!f){e.next=46;break}throw h;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(c,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])}))),function(e){return v.apply(this,arguments)})},{key:"setSyncToken",value:(y=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"getSyncToken",value:(d=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"setCursorToken",value:(p=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"getCursorToken",value:(h=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e)}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:(f=m(regeneratorRuntime.mark((function t(){var r,n=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=m(regeneratorRuntime.mark((function t(i,a){var o,s,u,c,l,f,h,p,d,y,v,g,m,k;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r||(r={}),o=n.modelManager.getDirtyItems(),s=o.filter((function(e){return!n.lastDirtyItemsSave||e.dirtiedDate>n.lastDirtyItemsSave})),t.next=5,n.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,c=n.syncStatus.syncOpInProgress,l=n.initialDataLoaded(),!c&&l){t.next=16;break}return n.performSyncAgainOnCompletion=!0,n.lastDirtyItemsSave=new Date,t.next=13,n.writeItemsToLocalStorage(s,!1);case 13:return c&&(n.queuedCallbacks.push(i),n.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),l||(n.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),i()),t.abrupt("return");case 16:if(n.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt("return",n.syncOffline(o).then((function(e){n.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){n.notifyEvent("sync-exception",e)})));case 19:if(n.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return n.loggingEnabled&&console.log("Syncing online user."),f=n.syncStatus.needsMoreSync,n.syncStatus.syncStart=new Date,n.beginCheckingIfSyncIsTakingTooLong(),h=n.PerSyncItemUploadLimit,(p=o.slice(0,h)).lengthn.syncStatus.total&&(n.syncStatus.total=n.syncStatus.current),n.syncStatusDidChange(),t.next=34,n.writeItemsToLocalStorage(s,!1);case 34:return n.lastDirtyItemsSave=new Date,r.onPreSyncSave&&r.onPreSyncSave(),n.allRetreivedItems||(n.allRetreivedItems=[]),n.allSavedItems||(n.allSavedItems=[]),(d={}).limit=n.ServerItemDownloadLimit,r.performIntegrityCheck&&(d.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(p.map((function(e){var t=new H(e,u.keys,u.auth_params);return t.additionalFields=r.additionalFields,t.paramsForSync()}))).then((function(e){d.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),n.notifyEvent("sync-exception",t.t0);case 49:for(y=!0,v=!1,g=void 0,t.prev=52,m=p[Symbol.iterator]();!(y=(k=m.next()).done);y=!0)k.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),v=!0,g=t.t1;case 60:t.prev=60,t.prev=61,y||null==m.return||m.return();case 63:if(t.prev=63,!v){t.next=66;break}throw g;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,n.getSyncToken();case 70:return d.sync_token=t.sent,t.next=73,n.getCursorToken();case 73:return d.cursor_token=t.sent,d.api=I.getApiVersion(),n.loggingEnabled&&console.log("Syncing with params",d),t.prev=76,t.t2=n.httpManager,t.next=80,n.getSyncURL();case 80:t.t3=t.sent,t.t4=d,t.t5=function(e){n.handleSyncSuccess(p,e,r).then((function(){i(e)})).catch((function(e){console.log("Caught sync success exception:",e),n.handleSyncError(e,null,o).then((function(t){n.notifyEvent("sync-exception",e),i(t)}))}))},t.t6=function(e,t){n.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,r){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)}))),function(){return f.apply(this,arguments)})},{key:"_awaitSleep",value:(l=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,r){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"handleSyncSuccess",value:(c=m(regeneratorRuntime.mark((function t(r,n,i){var a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",n),o=this.allSavedItems.map((function(e){return e.uuid})),s=n.saved_items.map((function(e){return e.uuid})),n.retrieved_items=n.retrieved_items.filter((function(e){var t=o.includes(e.uuid),r=s.includes(e.uuid);if(t||r)return!1;var n=w.modelManager.findItem(e.uuid);return!n||!n.dirty})),u=[],c=!0,l=!1,f=void 0,t.prev=13,h=r[Symbol.iterator]();!(c=(p=h.next()).done);c=!0)0==(d=p.value).dirtyCount&&u.push(d);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),l=!0,f=t.t0;case 21:t.prev=21,t.prev=22,c||null==h.return||h.return();case 24:if(t.prev=24,!l){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(n.retrieved_items,null,D.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return y=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(y),this.syncStatus.retrievedCount=this.allRetreivedItems.length,v=["content","auth_hash"],t.next=38,this.handleItemsResponse(n.saved_items,v,D.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return g=t.sent,this.allSavedItems=this.allSavedItems.concat(g),m=n.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(m);case 43:return t.next=45,this.handleConflictsResponse(n.conflicts);case 45:if(k=t.sent,b=k&&k.length>0,!k){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(k,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(g,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(y,!1);case 54:if(!n.integrity_hash||n.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(n.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||g.length>=this.majorDataChangeThreshold||m&&m.length>=this.majorDataChangeThreshold||k&&k.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(n),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt("return",n);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])}))),function(e,t,r){return c.apply(this,arguments)})},{key:"handleSyncError",value:(u=m(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==r&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(n,!1),this.modelManager.didSyncModelsOffline(n),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return u.apply(this,arguments)})},{key:"handleItemsResponse",value:(s=m(regeneratorRuntime.mark((function e(t,r,n,i){var a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,r,n);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return s.apply(this,arguments)})},{key:"refreshErroredItems",value:(o=m(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((r=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(r,null,D.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"handleConflictsResponse",value:(a=m(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w,x,S,_,R,I,A,M,C,O,F,P,B;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&0!=r.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",r),n={},i=!0,a=!1,o=void 0,t.prev=7,s=r[Symbol.iterator]();case 9:if(i=(u=s.next()).done){t.next=21;break}if(c=u.value,l=c.server_item||c.unsaved_item,f=this.modelManager.findItem(l.uuid)){t.next=16;break}return n[l.uuid]={},t.abrupt("continue",18);case 16:h=f.getContentCopy(),n[l.uuid]={frozenContent:h,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==s.return||s.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:p=[],d=!0,y=!1,v=void 0,t.prev=39,g=r[Symbol.iterator]();case 41:if(d=(m=g.next()).done){t.next=91;break}return k=m.value,b=k.server_item||k.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[b],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=n[b.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(p.push(S),"uuid_conflict"!==k.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,p.push(_),t.next=88;break;case 62:if("sync_conflict"!==k.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(b);case 65:if(R=t.sent,I=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),A=!I.isItemContentEqualWith(R),M=!S.isItemContentEqualWith(R),C=!1,O=!1,F=!1,P=!1,b.deleted||S.deleted?P=!0:A?(new Date-S.client_updated_at)/1e3<20?(F=!0,O=!0):(C=!0,P=!0):M?L.AreItemContentsEqual({leftContent:S.content,rightContent:R.content,keysToIgnore:S.keysToIgnoreWhenCheckingContentEquality().concat(["references"]),appDataKeysToIgnore:S.appDataKeysToIgnoreWhenCheckingContentEquality()})?F=!0:(C=!0,P=!0):P=!0,!C){t.next=79;break}return t.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:x,duplicateOf:S});case 77:B=t.sent,p.push(B);case 79:if(O&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:R,duplicateOf:S}),p.push(R)),!P){t.next=83;break}return t.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([b],null,D.MappingSourceRemoteRetrieved);case 83:F&&(S.updated_at=R.updated_at,S.setDirty(!0)),t.next=88;break;case 86:return console.error("Unsupported conflict type",k.type),t.abrupt("continue",88);case 88:d=!0,t.next=41;break;case 91:t.next=97;break;case 93:t.prev=93,t.t4=t.catch(39),y=!0,v=t.t4;case 97:t.prev=97,t.prev=98,d||null==g.return||g.return();case 100:if(t.prev=100,!y){t.next=103;break}throw v;case 103:return t.finish(100);case 104:return t.finish(97);case 105:return t.abrupt("return",p);case 106:case"end":return t.stop()}}),t,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])}))),function(e){return a.apply(this,arguments)})},{key:"deprecated_handleUnsavedItemsResponse",value:(i=m(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&0!=r.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Unsaved Items:",r),n=!0,i=!1,a=void 0,t.prev=6,o=r[Symbol.iterator]();case 8:if(n=(s=o.next()).done){t.next=35;break}return u=s.value,c=u.item,t.t0=SFJS.itemTransformer,t.t1=[c],t.next=15,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 15:return t.t2=t.sent.keys,t.next=18,t.t0.decryptMultipleItems.call(t.t0,t.t1,t.t2);case 18:if(l=this.modelManager.findItem(c.uuid)){t.next=21;break}return t.abrupt("continue",32);case 21:if("uuid_conflict"!==(f=u.error).tag){t.next=27;break}return t.next=25,this.modelManager.alternateUUIDForItem(l);case 25:t.next=32;break;case 27:if("sync_conflict"!==f.tag){t.next=32;break}return t.next=30,this.modelManager.createDuplicateItemFromResponseItem(c);case 30:h=t.sent,c.deleted||l.isItemContentEqualWith(h)||this.modelManager.addDuplicatedItemAsConflict({duplicate:h,duplicateOf:l});case 32:n=!0,t.next=8;break;case 35:t.next=41;break;case 37:t.prev=37,t.t3=t.catch(6),i=!0,a=t.t3;case 41:t.prev=41,t.prev=42,n||null==o.return||o.return();case 44:if(t.prev=44,!i){t.next=47;break}throw a;case 47:return t.finish(44);case 48:return t.finish(41);case 49:case"end":return t.stop()}}),t,this,[[6,37,41,49],[42,,44,48]])}))),function(e){return i.apply(this,arguments)})},{key:"stateless_downloadAllItems",value:function(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var n=m(regeneratorRuntime.mark((function n(i,a){var o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o={limit:r.limit||500,sync_token:r.syncToken,cursor_token:r.cursorToken,content_type:r.contentType,event:r.event,api:I.getApiVersion()},n.prev=1,n.t0=t.httpManager,n.next=5,t.getSyncURL();case 5:n.t1=n.sent,n.t2=o,n.t3=function(){var n=m(regeneratorRuntime.mark((function n(a){var o,s;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r.retrievedItems||(r.retrievedItems=[]),o=a.retrieved_items,n.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=n.sent.keys,n.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:r.retrievedItems=r.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),r.syncToken=a.sync_token,r.cursorToken=a.cursor_token,r.cursorToken?t.stateless_downloadAllItems(r).then(i):i(r.retrievedItems);case 11:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),n.t4=function(e,t){a(e)},n.t0.postAuthenticatedAbsolute.call(n.t0,n.t1,n.t2,n.t3,n.t4),n.next=16;break;case 12:n.prev=12,n.t5=n.catch(1),console.log("Download all items exception caught:",n.t5),a(n.t5);case 16:case"end":return n.stop()}}),n,null,[[1,12]])})));return function(e,t){return n.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:(n=m(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=m(regeneratorRuntime.mark((function e(r){var n,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],i=!0,a=!1,o=void 0,e.prev=4,s=r[Symbol.iterator]();case 6:if(i=(u=s.next()).done){e.next=18;break}if(c=u.value,!(l=t.modelManager.findItem(c.uuid))){e.next=14;break}if(c.isItemContentEqualWith(l)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(l);case 14:n.push(c);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==s.return||s.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:n,source:D.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"handleSignout",value:(r=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"clearSyncToken",value:(t=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();n.SFSyncManager=T;var L=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};k(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==v(this.content)||this.content.references||(this.content.references=[])}var t;return w(e,[{key:"initUUID",value:(t=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var r=0,n=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];r"==r.operator?y>d:"<="==r.operator?y<=d:">="==r.operator?y>=d:"startsWith"==r.operator?y.startsWith(d):"in"==r.operator?-1!=d.indexOf(y):"includes"==r.operator?this.resolveIncludesPredicate(y,d):"matches"==r.operator&&new RegExp(d).test(y)}},{key:"resolveIncludesPredicate",value:function(t,r){if("string"==typeof r)return t.includes(r);var n;n=Array.isArray(r)?e.fromArray(r):r;var i=!0,a=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(this.ObjectSatisfiesPredicate(c,n))return!0}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,r){return Array.isArray(r)&&(r=e.fromArray(r)),this.ObjectSatisfiesPredicate(t,r)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),r=t[1],n=new Date,i=parseInt(t[0]);return"days"==r?n.setDate(n.getDate()-i):"hours"==r&&n.setHours(n.getHours()-i),n}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();n.SFPredicate=z;var U=function(e){function t(e){var r;return k(this,t),(r=f(this,h(t).call(this,e))).content.desktopPrivileges||(r.content.desktopPrivileges={}),r}return p(t,e),w(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),w(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var r=this.getCredentialsForAction(e);r.push(t),this.setCredentialsForAction(e,r)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(L);n.SFPrivileges=U;var N=function(e){function t(e){var r;return k(this,t),(r=f(this,h(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(r.content.itemUUIDToItemHistoryMapping={}),Object.keys(r.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=r.content.itemUUIDToItemHistoryMapping[e];r.content.itemUUIDToItemHistoryMapping[e]=new K(t)})),r}return p(t,e),w(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new K),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var r=this.historyForItem(e);r.entries.length>t.LargeItemEntryAmountThreshold&&r.optimize()}}]),t}(L);n.SFHistorySession=N,N.LargeItemEntryAmountThreshold=60;var K=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(k(this,e),this.entries||(this.entries=[]),t.entries){var r=!0,n=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}}return w(e,[{key:"createEntryForItem",value:function(t){var r=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return r||(r=W),new r(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),r=this.getLastEntry();if(t.setPreviousEntry(r),!t.isSameAsEntry(r))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,r=[],n=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?r.push(e):-1!==(i=r.indexOf(e))&&r.splice(i,1),a&&n(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&r.push(o)}};this.entries.forEach((function(e,r){if(0==r||r==t.entries.length-1)i(e,r,!0);else{var a=n(e);i(e,r,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==r.indexOf(e)}))}}]),e}();n.SFItemHistory=K,K.LargeEntryDeltaThreshold=15;var W=function(){function e(t){k(this,e),this.item=L.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return w(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new L(this.item),r=new L(e.item);return t.isItemContentEqualWith(r)}}]),e}();n.SFItemHistoryEntry=W,R="undefined"!=typeof window?window:void 0!==e?e:null;var J=function(){function e(){k(this,e),this.DefaultPBKDF2Length=768}var t,r,n,i,a,o,s,u,c,f,h,p,d,y,v;return w(e,[{key:"generateUUIDSync",value:function(){var e=R.crypto||R.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var r=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){r++;var n=t[r>>3]>>r%8*4&15;return("x"==e?n:3&n|8).toString(16)}))}var n=(new Date).getTime();return R.performance&&"function"==typeof R.performance.now&&(n+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(n+16*Math.random())%16|0;return n=Math.floor(n/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:(v=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"timingSafeEqual",value:function(e,t){var r=String(e),n=String(t),i=r.length,a=0;i!==n.length&&(n=r,a=1);for(var o=0;o0&&void 0!==p[0]?p[0]:{},r=t.ciphertextToAuth,n=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(p.length>1?p[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(r,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return c=l.enc.Hex.parse(i),f=l.enc.Hex.parse(a||""),h=l.AES.decrypt(n,c,{iv:f,mode:l.mode.CBC,padding:l.pad.Pkcs7}),e.abrupt("return",h.toString(l.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"encryptText",value:(d=m(regeneratorRuntime.mark((function e(t,r,n){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=l.enc.Hex.parse(r),a=l.enc.Hex.parse(n||""),o=l.AES.encrypt(t,i,{iv:a,mode:l.mode.CBC,padding:l.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)}))),function(e,t,r){return d.apply(this,arguments)})},{key:"generateRandomKey",value:(p=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",l.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return p.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(h=m(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,r=1,e.next=4,this.generateRandomKey(t);case 4:return n=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt("return",this.pbkdf2(i,n,r,t));case 9:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"firstHalfOfKey",value:(f=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"secondHalfOfKey",value:(c=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:"base64",value:(u=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",R.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)}))),function(e){return u.apply(this,arguments)})},{key:"base64Decode",value:(s=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",R.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"sha256",value:(o=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",l.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"hmac256",value:(a=m(regeneratorRuntime.mark((function e(t,r){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.enc.Hex.parse(r),i=l.enc.Utf8.parse(t),a=l.HmacSHA256(i,n).toString(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})},{key:"generateSalt",value:(i=m(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",r,n,i].join(":"));case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return i.apply(this,arguments)})},{key:"generateSymmetricKeyPair",value:(n=m(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},r=t.password,n=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(r,n,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,s=o/3,u=a.slice(0,s),c=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[u,c,l]);case 10:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"computeEncryptionKeysForUser",value:(r=m(regeneratorRuntime.mark((function e(t,r){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=r.version){e.next=9;break}if(r.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(r.identifier,r.version,r.pw_cost,r.pw_nonce);case 6:n=e.sent,e.next=10;break;case 9:n=r.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:n,pw_cost:r.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})},{key:"generateInitialKeysAndAuthParamsForUser",value:(t=m(regeneratorRuntime.mark((function e(t,r){var n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,n,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:r,pw_salt:o,pw_cost:i}).then((function(e){var r={pw_nonce:a,pw_cost:i,identifier:t,version:n};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:r}})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFAbstractCrypto=J;var q=function(e){function t(){return k(this,t),f(this,h(t).apply(this,arguments))}var r;return p(t,e),w(t,[{key:"pbkdf2",value:(r=m(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:l.algo.SHA512,iterations:n},e.abrupt("return",l.PBKDF2(t,r,a).toString());case 2:case"end":return e.stop()}}),e)}))),function(e,t,n,i){return r.apply(this,arguments)})}]),t}(J);n.SFCryptoJS=q;var V=(R="undefined"!=typeof window?window:void 0!==e?e:null).crypto?R.crypto.subtle:null,$=function(e){function t(){return k(this,t),f(this,h(t).apply(this,arguments))}var r,n,i,a,o,s,u,c,l,d,y,v,g,b;return p(t,e),w(t,[{key:"pbkdf2",value:(b=m(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(a=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(a,r,n,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return b.apply(this,arguments)})},{key:"generateRandomKey",value:(g=m(regeneratorRuntime.mark((function e(t){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",V.generateKey({name:"AES-CBC",length:t},!0,["encrypt","decrypt"]).then((function(e){return V.exportKey("raw",e).then(function(){var e=m(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return g.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(v=m(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([this.generateRandomKey(256),this.generateRandomKey(256)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"encryptText",value:(y=m(regeneratorRuntime.mark((function e(t,r,n){var i,a,o,s,u,c=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(n);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:"AES-CBC",iv:i},e.next=11,this.hexStringToArrayBuffer(r);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,["encrypt"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,u).then(function(){var e=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.arrayBufferToBase64(t);case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return y.apply(this,arguments)})},{key:"decryptText",value:(d=m(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f,h,p,d=this,y=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=y.length>0&&void 0!==y[0]?y[0]:{},r=t.ciphertextToAuth,n=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(y.length>1?y[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(r,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(u)),e.abrupt("return",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return c=e.t0,l={name:"AES-CBC",iv:c},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,l.name,["decrypt"]);case 26:return h=e.sent,e.next=29,this.base64ToArrayBuffer(n);case 29:return p=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,h,p).then(function(){var e=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.arrayBufferToString(t);case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"hmac256",value:(l=m(regeneratorRuntime.mark((function e(t,r){var n,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(r);case 2:return n=e.sent,e.next=5,this.webCryptoImportKey(n,"HMAC",["sign"],{name:"SHA-256"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},i,a).then(function(){var e=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"webCryptoImportKey",value:(c=m(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",V.importKey("raw",a,{name:r,hash:i},!1,n).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return c.apply(this,arguments)})},{key:"webCryptoDeriveBits",value:(u=m(regeneratorRuntime.mark((function e(t,r,n,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(r);case 2:return e.t0=e.sent,e.t1=n,e.t2={name:"SHA-512"},a={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",V.deriveBits(a,t,i).then(function(){var e=m(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return u.apply(this,arguments)})},{key:"stringToArrayBuffer",value:(s=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){var n=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(n)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"arrayBufferToString",value:(o=m(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){var n=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(n)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"arrayBufferToHexString",value:(a=m(regeneratorRuntime.mark((function e(t){var r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=new Uint8Array(t),n="",a=0;a5e3)||this.crypto instanceof $}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(n.StandardFile=X,R)try{R.StandardFile=X,R.SFJS=new X,R.SFCryptoWeb=$,R.SFCryptoJS=q,R.SFItemTransformer=G,R.SFModelManager=D,R.SFItem=L,R.SFItemParams=H,R.SFHttpManager=I,R.SFStorageManager=j,R.SFSyncManager=T,R.SFAuthManager=S,R.SFMigrationManager=A,R.SFAlertManager=x,R.SFPredicate=z,R.SFHistorySession=N,R.SFSessionHistoryManager=P,R.SFItemHistory=K,R.SFItemHistoryEntry=W,R.SFPrivilegesManager=M,R.SFPrivileges=U,R.SFSingletonManager=B}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)},e.exports=r()}).call(t,r(1))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(0),i=(r.n(n),r(4)),a=(r.n(i),r(2)),o=(r.n(a),r(6));self.addEventListener("message",(async function(e){var t=e.data;if("encrypt"==t.operation){var r=new a.SFItem({content_type:t.contentType,content:{rawData:t.fileData,fileName:t.fileName,fileType:t.fileType}});new a.SFItemParams(r,t.keys,t.authParams).paramsForSync().then((e=>{self.postMessage({fileItem:e})}))}else if("decrypt"==t.operation)SFJS.itemTransformer.decryptItem(t.item,t.keys).then((()=>{var e=new a.SFItem(t.item),r=e.content.rawData;e.errorDecrypting?self.postMessage({error:{message:"Error decrypting."}}):self.postMessage({decryptedData:r,decryptedItem:e})})).catch((e=>{console.log("Decryption error:",e),self.postMessage({error:e})}));else if("upload"==t.operation){let e=new o.a;e.setCredentials(t.credentials),e.uploadFile(t.outputFileName,t.fileItem,t.integration).then((e=>{self.postMessage({metadata:e})})).catch((e=>{self.postMessage({error:e}),console.log("Upload exception",e)}))}}),!1)},function(e,t,r){(function(e,n){var i;(function(){function a(e,t){return e.set(t[0],t[1]),e}function o(e,t){return e.add(t),e}function s(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)}function u(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r(t=V(t,e)).length)r=e;else{var n=0,i=-1,a=-1,o=(r=t).length;for(0>n&&(n=-n>o?0:o+n),0>(i=i>o?o:i)&&(i+=o),o=n>i?0:i-n>>>0,n>>>=0,i=Array(o);++aa?Xe:o,a=1),t=Object(t);++is))return!1;if((u=a.get(e))&&a.get(t))return u==t;var u=-1,c=!0,l=2&r?new R:Xe;for(a.set(e,t),a.set(t,e);++u(r=null==r?0:Be(r))&&(r=Vt(n+r,0)),d(e,ae(t,3),r)):-1}function ke(e){return null!=e&&e.length?B(e,1):[]}function be(e){var t=null==e?0:e.length;return t?e[t-1]:Xe}function we(e,t){var r;if(e&&e.length&&t&&t.length){var n=y,i=-1,a=(r=t).length;for(e===r&&(r=Y(r));++i=e}function De(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Me(e){return null!=e&&"object"==typeof e}function Ce(e){return!(!Me(e)||"[object Object]"!=T(e))&&(null===(e=Et(e))||"function"==typeof(e=At.call(e,"constructor")&&e.constructor)&&e instanceof e&&It.call(e)==Ct)}function Oe(e){return"string"==typeof e||!Sr(e)&&Me(e)&&"[object String]"==T(e)}function Fe(e){return"symbol"==typeof e||Me(e)&&"[object Symbol]"==T(e)}function Pe(e){return e?(e=je(e))===Ye||e===-Ye?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Be(e){var t=(e=Pe(e))%1;return e==e?t?e-t:e:0}function je(e){if("number"==typeof e)return e;if(Fe(e))return Qe;if(De(e)&&(e=De(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(nt,"");var t=st.test(e);return t||ct.test(e)?dt(e.slice(2),t?2:8):ot.test(e)?Qe:+e}function Ee(e){return Q(e,Ue(e))}function Te(e){return null==e?"":J(e)}function Le(e,t,r){return(e=null==e?Xe:j(e,t))===Xe?r:e}function He(e,t){var r;if(r=null!=e){for(var n,i=-1,a=(n=V(t,r=e)).length,o=!1;++i(e=C(t,e))||(e==t.length-1?t.pop():Ht.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=C(t,e))?Xe:t[e][1]},S.prototype.has=function(e){return-1n?(++this.size,r.push([e,t])):r[n][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Yt||S),string:new x}},_.prototype.delete=function(e){return e=oe(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return oe(this,e).get(e)},_.prototype.has=function(e){return oe(this,e).has(e)},_.prototype.set=function(e,t){var r=oe(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},R.prototype.add=R.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},R.prototype.has=function(e){return this.__data__.has(e)},I.prototype.clear=function(){this.__data__=new S,this.size=0},I.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},I.prototype.get=function(e){return this.__data__.get(e)},I.prototype.has=function(e){return this.__data__.has(e)},I.prototype.set=function(e,t){var r=this.__data__;if(r instanceof S){var n=r.__data__;if(!Yt||199>n.length)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _(n)}return r.set(e,t),this.size=r.size,this};var fr=function(e,t){if(null==e)return e;if(!_e(e))return function(e,t){return e&&hr(e,t,ze)}(e,t);for(var r=e.length,n=-1,i=Object(e);++nr&&(r=Vt(n+r,0)),Oe(e)?r<=n&&-1>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o>>6*(3-o)&63));if(t=n.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(i=n.charAt(64))&&-1!=(i=e.indexOf(i))&&(t=i);for(var i=[],a=0,o=0;o>>6-o%4*2;i[a>>>2]|=(s|u)<<24-a%4*8,a++}return r.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,r,n,i,a,o){return((e=e+(t&r|~t&n)+i+o)<>>32-a)+t}function r(e,t,r,n,i,a,o){return((e=e+(t&n|r&~n)+i+o)<>>32-a)+t}function n(e,t,r,n,i,a,o){return((e=e+(t^r^n)+i+o)<>>32-a)+t}function i(e,t,r,n,i,a,o){return((e=e+(r^(t|~n))+i+o)<>>32-a)+t}for(var a=u,o=(c=a.lib).WordArray,s=c.Hasher,c=a.algo,l=[],f=0;64>f;f++)l[f]=4294967296*e.abs(e.sin(f+1))|0;c=c.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),f=e[a+3],h=e[a+4],p=e[a+5],d=e[a+6],y=e[a+7],v=e[a+8],g=e[a+9],m=e[a+10],k=e[a+11],b=e[a+12],w=e[a+13],x=e[a+14],S=e[a+15],_=t(_=o[0],A=o[1],I=o[2],R=o[3],u,7,l[0]),R=t(R,_,A,I,s,12,l[1]),I=t(I,R,_,A,c,17,l[2]),A=t(A,I,R,_,f,22,l[3]);_=t(_,A,I,R,h,7,l[4]),R=t(R,_,A,I,p,12,l[5]),I=t(I,R,_,A,d,17,l[6]),A=t(A,I,R,_,y,22,l[7]),_=t(_,A,I,R,v,7,l[8]),R=t(R,_,A,I,g,12,l[9]),I=t(I,R,_,A,m,17,l[10]),A=t(A,I,R,_,k,22,l[11]),_=t(_,A,I,R,b,7,l[12]),R=t(R,_,A,I,w,12,l[13]),I=t(I,R,_,A,x,17,l[14]),_=r(_,A=t(A,I,R,_,S,22,l[15]),I,R,s,5,l[16]),R=r(R,_,A,I,d,9,l[17]),I=r(I,R,_,A,k,14,l[18]),A=r(A,I,R,_,u,20,l[19]),_=r(_,A,I,R,p,5,l[20]),R=r(R,_,A,I,m,9,l[21]),I=r(I,R,_,A,S,14,l[22]),A=r(A,I,R,_,h,20,l[23]),_=r(_,A,I,R,g,5,l[24]),R=r(R,_,A,I,x,9,l[25]),I=r(I,R,_,A,f,14,l[26]),A=r(A,I,R,_,v,20,l[27]),_=r(_,A,I,R,w,5,l[28]),R=r(R,_,A,I,c,9,l[29]),I=r(I,R,_,A,y,14,l[30]),_=n(_,A=r(A,I,R,_,b,20,l[31]),I,R,p,4,l[32]),R=n(R,_,A,I,v,11,l[33]),I=n(I,R,_,A,k,16,l[34]),A=n(A,I,R,_,x,23,l[35]),_=n(_,A,I,R,s,4,l[36]),R=n(R,_,A,I,h,11,l[37]),I=n(I,R,_,A,y,16,l[38]),A=n(A,I,R,_,m,23,l[39]),_=n(_,A,I,R,w,4,l[40]),R=n(R,_,A,I,u,11,l[41]),I=n(I,R,_,A,f,16,l[42]),A=n(A,I,R,_,d,23,l[43]),_=n(_,A,I,R,g,4,l[44]),R=n(R,_,A,I,b,11,l[45]),I=n(I,R,_,A,S,16,l[46]),_=i(_,A=n(A,I,R,_,c,23,l[47]),I,R,u,6,l[48]),R=i(R,_,A,I,y,10,l[49]),I=i(I,R,_,A,x,15,l[50]),A=i(A,I,R,_,p,21,l[51]),_=i(_,A,I,R,b,6,l[52]),R=i(R,_,A,I,f,10,l[53]),I=i(I,R,_,A,m,15,l[54]),A=i(A,I,R,_,s,21,l[55]),_=i(_,A,I,R,v,6,l[56]),R=i(R,_,A,I,S,10,l[57]),I=i(I,R,_,A,d,15,l[58]),A=i(A,I,R,_,w,21,l[59]),_=i(_,A,I,R,h,6,l[60]),R=i(R,_,A,I,k,10,l[61]),I=i(I,R,_,A,c,15,l[62]),A=i(A,I,R,_,g,21,l[63]),o[0]=o[0]+_|0,o[1]=o[1]+A|0,o[2]=o[2]+I|0,o[3]=o[3]+R|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var a=e.floor(n/4294967296);for(r[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),r[14+(i+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t.sigBytes=4*(r.length+1),this._process(),r=(t=this._hash).words,n=0;4>n;n++)i=r[n],r[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=s._createHelper(c),a.HmacMD5=s._createHmacHelper(c)}(Math),function(){var e,t=u,r=(e=t.lib).Base,n=e.WordArray,i=(e=t.algo).EvpKDF=r.extend({cfg:r.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r=(s=this.cfg).hasher.create(),i=n.create(),a=i.words,o=s.keySize,s=s.iterations;a.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:c,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var r=t.createEncryptor;else r=t.createDecryptor,this._minBufferSize=1;this._mode=r.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var h=t.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(c=(d.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?n.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var r=n.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return h.create({ciphertext:e,salt:r})}},t.SerializableCipher=r.extend({cfg:r.extend({format:c}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n);return t=i.finalize(t),i=i.cfg,h.create({ciphertext:t,key:r,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),e.createDecryptor(r,n).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),d=(d.kdf={}).OpenSSL={execute:function(e,t,r,i){return i||(i=n.random(8)),e=o.create({keySize:t+r}).compute(e,i),r=n.create(e.words.slice(t),4*r),e.sigBytes=4*t,h.create({key:e,iv:r,salt:i})}},y=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:d}),encrypt:function(e,t,r,n){return r=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize),n.iv=r.iv,(e=p.encrypt.call(this,e,t,r.key,n)).mixIn(r),e},decrypt:function(e,t,r,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),r=n.kdf.execute(r,e.keySize,e.ivSize,t.salt),n.iv=r.iv,p.decrypt.call(this,e,t,r.key,n)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,r=e.algo,n=[],i=[],a=[],o=[],s=[],c=[],l=[],f=[],h=[],p=[],d=[],y=0;256>y;y++)d[y]=128>y?y<<1:y<<1^283;var v=0,g=0;for(y=0;256>y;y++){var m=(m=g^g<<1^g<<2^g<<3^g<<4)>>>8^255&m^99;n[v]=m,i[m]=v;var k=d[v],b=d[k],w=d[b],x=257*d[m]^16843008*m;a[v]=x<<24|x>>>8,o[v]=x<<16|x>>>16,s[v]=x<<8|x>>>24,c[v]=x,x=16843009*w^65537*b^257*k^16843008*v,l[m]=x<<24|x>>>8,f[m]=x<<16|x>>>16,h[m]=x<<8|x>>>24,p[m]=x,v?(v=k^d[d[d[w^k]]],g^=d[d[g]]):v=g=1}var S=[0,1,2,4,8,16,32,64,128,27,54];r=r.AES=t.extend({_doReset:function(){for(var e=(r=this._key).words,t=r.sigBytes/4,r=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o]):(o=n[(o=o<<8|o>>>24)>>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o],o^=S[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=a?o:l[n[o>>>24]]^f[n[o>>>16&255]]^h[n[o>>>8&255]]^p[n[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,s,c,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,l,f,h,p,i),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,a,o,s){for(var u=this._nRounds,c=e[t]^r[0],l=e[t+1]^r[1],f=e[t+2]^r[2],h=e[t+3]^r[3],p=4,d=1;d>>24]^i[l>>>16&255]^a[f>>>8&255]^o[255&h]^r[p++],v=n[l>>>24]^i[f>>>16&255]^a[h>>>8&255]^o[255&c]^r[p++],g=n[f>>>24]^i[h>>>16&255]^a[c>>>8&255]^o[255&l]^r[p++];h=n[h>>>24]^i[c>>>16&255]^a[l>>>8&255]^o[255&f]^r[p++],c=y,l=v,f=g}y=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&h])^r[p++],v=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[h>>>8&255]<<8|s[255&c])^r[p++],g=(s[f>>>24]<<24|s[h>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^r[p++],h=(s[h>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^r[p++],e[t]=y,e[t+1]=v,e[t+2]=g,e[t+3]=h},keySize:8}),e.AES=t._createHelper(r)}(),u=u||function(e,t){var r={},n=r.lib={},i=function(){},a=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("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=n.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes;if(e=e.sigBytes,this.clamp(),n%4)for(var i=0;i>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;ul;){var f;e:{f=c;for(var h=e.sqrt(f),p=2;p<=h;p++)if(!(f%p)){f=!1;break e}f=!0}f&&(8>l&&(a[l]=s(e.pow(c,.5))),o[l]=s(e.pow(c,1/3)),l++),c++}var d=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],s=r[3],u=r[4],c=r[5],l=r[6],f=r[7],h=0;64>h;h++){if(16>h)d[h]=0|e[t+h];else{var p=d[h-15],y=d[h-2];d[h]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+d[h-7]+((y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10)+d[h-16]}p=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+o[h]+d[h],y=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&a^i&a),f=l,l=c,c=u,u=s+p|0,s=a,a=i,i=n,n=p+y|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+a|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+l|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=n.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=n._createHelper(i),t.HmacSHA256=n._createHmacHelper(i)}(Math),a=(i=u).enc.Utf8,i.algo.HMAC=i.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,u=o.words,c=0;c>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++)s[c]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=(f=this._hash.words)[0],n=f[1],i=f[2],a=f[3],u=f[4],c=f[5],l=f[6],f=f[7],h=r.high,p=r.low,d=n.high,y=n.low,v=i.high,g=i.low,m=a.high,k=a.low,b=u.high,w=u.low,x=c.high,S=c.low,_=l.high,R=l.low,I=f.high,A=f.low,D=h,M=p,C=d,O=y,F=v,P=g,j=m,B=k,E=b,T=w,L=x,H=S,z=_,U=R,N=I,K=A,W=0;80>W;W++){var J=s[W];if(16>W)var q=J.high=0|e[t+2*W],V=J.low=0|e[t+2*W+1];else{q=((V=(q=s[W-15]).high)>>>1|($=q.low)<<31)^(V>>>8|$<<24)^V>>>7;var $=($>>>1|V<<31)^($>>>8|V<<24)^($>>>7|V<<25),G=((V=(G=s[W-2]).high)>>>19|(X=G.low)<<13)^(V<<3|X>>>29)^V>>>6,X=(X>>>19|V<<13)^(X<<3|V>>>29)^(X>>>6|V<<26),Y=(V=s[W-7]).high,Q=(Z=s[W-16]).high,Z=Z.low;q=(q=(q=q+Y+((V=$+V.low)>>>0<$>>>0?1:0))+G+((V+=X)>>>0>>0?1:0))+Q+((V+=Z)>>>0>>0?1:0),J.high=q,J.low=V}Y=E&L^~E&z,Z=T&H^~T&U,J=D&C^D&F^C&F;var ee=M&O^M&P^O&P,te=($=(D>>>28|M<<4)^(D<<30|M>>>2)^(D<<25|M>>>7),G=(M>>>28|D<<4)^(M<<30|D>>>2)^(M<<25|D>>>7),(X=o[W]).high),re=X.low;Q=N+((E>>>14|T<<18)^(E>>>18|T<<14)^(E<<23|T>>>9))+((X=K+((T>>>14|E<<18)^(T>>>18|E<<14)^(T<<23|E>>>9)))>>>0>>0?1:0),N=z,K=U,z=L,U=H,L=E,H=T,E=j+(Q=(Q=(Q=Q+Y+((X+=Z)>>>0>>0?1:0))+te+((X+=re)>>>0>>0?1:0))+q+((X+=V)>>>0>>0?1:0))+((T=B+X|0)>>>0>>0?1:0)|0,j=F,B=P,F=C,P=O,C=D,O=M,D=Q+(J=$+J+((V=G+ee)>>>0>>0?1:0))+((M=X+V|0)>>>0>>0?1:0)|0}p=r.low=p+M,r.high=h+D+(p>>>0>>0?1:0),y=n.low=y+O,n.high=d+C+(y>>>0>>0?1:0),g=i.low=g+P,i.high=v+F+(g>>>0

>>0?1:0),k=a.low=k+B,a.high=m+j+(k>>>0>>0?1:0),w=u.low=w+T,u.high=b+E+(w>>>0>>0?1:0),S=c.low=S+H,c.high=x+L+(S>>>0>>0?1:0),R=l.low=R+U,l.high=_+z+(R>>>0>>0?1:0),A=f.low=A+K,f.high=I+N+(A>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)}(),s=(o=u).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,u=a.words,c=0;c>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)n[c]=0|e[t+c];else{var l=n[c-3]^n[c-8]^n[c-14]^n[c-16];n[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+n[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)}(),function(){var e=u,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,r){e=this._hasher=new e.init,"string"==typeof r&&(r=t.parse(r));var n=e.blockSize,i=4*n;r.sigBytes>i&&(r=e.finalize(r)),r.clamp();for(var a=this._oKey=r.clone(),o=this._iKey=r.clone(),s=a.words,u=o.words,c=0;c>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,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=0;n>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n>>2]>>>24-n%4*8&255));return r.join("")},parse:function(e){for(var t=e.length,r=[],n=0;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(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.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);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)n[c]=0|e[t+c];else{var l=n[c-3]^n[c-8]^n[c-14]^n[c-16];n[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+n[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)}(),Object.defineProperty(n,"__esModule",{value:!0}),n.StandardFile=n.SFItemTransformer=n.SFCryptoWeb=n.SFCryptoJS=n.SFAbstractCrypto=n.SFItemHistoryEntry=n.SFItemHistory=n.SFHistorySession=n.SFPrivileges=n.SFPredicate=n.SFItemParams=n.SFItem=n.SFSyncManager=n.SFStorageManager=n.SFSingletonManager=n.SFSessionHistoryManager=n.SFPrivilegesManager=n.SFModelManager=n.SFMigrationManager=n.SFHttpManager=n.SFAuthManager=n.SFAlertManager=void 0;var b=function(){function e(){g(this,e)}var t,r;return k(e,[{key:"alert",value:(r=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return r.apply(this,arguments)})},{key:"confirm",value:(t=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){window.confirm(t.text)?e():r()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();n.SFAlertManager=b;var w=function(){function e(t,r,n,i){g(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=r,this.storageManager=t,this.alertManager=n||new b,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}var t,r,n,i,a,o,s,u,c,l;return k(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e,t||{})}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:"saveKeys",value:(l=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"signout",value:(c=v(regeneratorRuntime.mark((function t(r){var n=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!r){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){n.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"keys",value:(u=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getAuthParams",value:(s=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"defaultProtocolVersion",value:(o=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"protocolVersion",value:(a=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"getAuthParamsForEmail",value:(i=v(regeneratorRuntime.mark((function e(t,r,n){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:r},n)).api=S.getApiVersion(),e.abrupt("return",new Promise((function(e,r){var n=t+"/auth/params";a.httpManager.getAbsolute(n,i,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==d(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)}))),function(e,t,r){return i.apply(this,arguments)})},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:(n=v(regeneratorRuntime.mark((function t(r,n,i,a,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=v(regeneratorRuntime.mark((function t(u,c){var l,f,h,p,y,g,m,k,b,w;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(r,n,o);case 13:if((l=t.sent).identifier=n,!l.error){t.next=18;break}return s.unlockAndResolve(u,l),t.abrupt("return");case 18:if(l&&l.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(l.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(l.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(l.version)){t.next=32;break}return h="The encryption version for your account, ".concat(l.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),p=!1,t.next=30,s.alertManager.confirm({title:"Update Needed",text:h,confirmButtonText:"Sign In"}).catch((function(){s.unlockAndResolve(u,{error:{}}),p=!0}));case 30:if(!p){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(l.pw_cost)){t.next=36;break}return s.unlockAndResolve(u,{error:{message:"Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in."}}),t.abrupt("return");case 36:if(y=SFJS.costMinimumForVersion(l.version),!(l.pw_cost5&&void 0!==u[5]&&u[5],e.abrupt("return",new Promise(function(){var e=v(regeneratorRuntime.mark((function e(u,c){var l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((l=new XMLHttpRequest).onreadystatechange=function(){if(4==l.readyState){var e=l.responseText;if(e)try{e=JSON.parse(e)}catch(e){}l.status>=200&&l.status<=299?s.$timeout((function(){i(e),u(e)})):(console.error("Request error:",e),s.$timeout((function(){a(e,l.status),c(e)})))}},"get"==t&&Object.keys(n).length>0&&(r=s.urlForUrlAndParams(r,n)),l.open(t,r,!0),l.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(l);case 8:"post"==t||"patch"==t?l.send(JSON.stringify(n)):l.send();case 9:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(e,r,n,i,a){return t.apply(this,arguments)})},{key:"urlForUrlAndParams",value:function(e,t){var r=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+r:e+"?"+r}}]),e}();n.SFHttpManager=S;var R=function(){function e(t,r,n,i){var a=this;g(this,e),this.modelManager=t,this.syncManager=r,this.storageManager=n,this.completionHandlers=[],this.loadMigrations();var o=!1,s=i.addEventHandler((function(e){e==w.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=r.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=v(regeneratorRuntime.mark((function e(t,r){var n,u,c,l,f,h,p,d,y;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u="sync:completed"==t,!(n="local-data-loaded"==t)&&!u){e.next=40;break}if(n?a.receivedLocalDataEvent=!0:u&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(s),e.next=10,a.getCompletedMigrations();case 10:c=e.sent.slice(),l=!0,f=!1,h=void 0,e.prev=14,p=c[Symbol.iterator]();case 16:if(l=(d=p.next()).done){e.next=25;break}return y=d.value,e.next=20,a.migrationForEncodedName(y);case 20:e.sent.runOnlyOnce||_.pull(a._completed,y);case 22:l=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,h=e.t0;case 31:e.prev=31,e.prev=32,l||null==p.return||p.return();case 34:if(e.prev=34,!f){e.next=37;break}throw h;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,r){return e.apply(this,arguments)}}())}var t,r,n,i,a,o,s,u;return k(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:(u=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return r=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==r})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:(s=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w,x,S,_,R,I,A,D;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,r=!0,n=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(r=(o=a.next()).done);r=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),n=!0,i=e.t0;case 14:e.prev=14,e.prev=15,r||null==a.return||a.return();case 17:if(e.prev=17,!n){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,c=!1,l=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(h=f.next()).done){e.next=51;break}for(p=h.value,d=!0,y=!1,v=void 0,e.prev=32,g=t[Symbol.iterator]();!(d=(m=g.next()).done);d=!0)s=m.value,p.content_type==s.content_type&&s.items.push(p);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),y=!0,v=e.t1;case 40:e.prev=40,e.prev=41,d||null==g.return||g.return();case 43:if(e.prev=43,!y){e.next=46;break}throw v;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),c=!0,l=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!c){e.next=63;break}throw l;case 63:return e.finish(60);case 64:return e.finish(57);case 65:k=!0,b=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(k=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:k=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),b=!0,w=e.t3;case 87:e.prev=87,e.prev=88,k||null==x.return||x.return();case 90:if(e.prev=90,!b){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,R=!1,I=void 0,e.prev=98,A=this.completionHandlers[Symbol.iterator]();!(_=(D=A.next()).done);_=!0)(0,D.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),R=!0,I=e.t4;case 106:e.prev=106,e.prev=107,_||null==A.return||A.return();case 109:if(e.prev=109,!R){e.next=112;break}throw I;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])}))),function(){return s.apply(this,arguments)})},{key:"encode",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"decode",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"getCompletedMigrations",value:(i=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"getPendingMigrations",value:(n=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,r=[],n=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(n=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}r.push(u);case 19:n=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,n||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",r);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])}))),function(){return n.apply(this,arguments)})},{key:"markMigrationCompleted",value:(r=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return r=e.sent,e.t0=r,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(r)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"runMigration",value:(t=v(regeneratorRuntime.mark((function e(t,r){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){n.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(r).then((function(){n.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFMigrationManager=R;var I=function(){function e(t){g(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var t,r,n,i,a,o,s,u,c,l,f,h;return k(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;try{s.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:"alternateUUIDForItem",value:(h=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.createItem(r),t.next=3,SFJS.crypto.generateUUID();case 3:for(n.uuid=t.sent,n.informReferencesOfUUIDChange(r.uuid,n.uuid),this.informModelsOfUUIDChangeForItem(n,r.uuid,n.uuid),i=!0,a=!1,o=void 0,t.prev=9,s=r.referencingObjects[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)(c=u.value).setIsNoLongerBeingReferencedBy(r),r.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(n);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==s.return||s.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(r.referencingObjects,!0),this.resolveReferencesForItem(n),this.loggingEnabled&&console.log(r.uuid,"--\x3e",n.uuid),r.deleted=!0,r.content.references=[],this.setItemDirty(r,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([r],e.MappingSourceLocalSaved);case 33:return this.addItem(n),this.setItemDirty(n,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(r,n),t.abrupt("return",n);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])}))),function(e){return h.apply(this,arguments)})},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,r){var n=!0,i=!1,a=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(n=(o=s.next()).done);n=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,r)}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:(f=v(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:r,sourceKey:n}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return f.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsOmittingFields",value:(l=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:r,source:n,sourceKey:i}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return l.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsWithOptions",value:(c=v(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,u,c,l,f,h,d,y,v,g,m,k,b,w,x,S,_,R,I,A,D,M,C,O,F,P,j,B,E,T,L,H,z,U;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.items,n=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],s=[],u=[],c=!0,l=!1,f=void 0,e.prev=5,h=r[Symbol.iterator]();case 7:if(c=(d=h.next()).done){e.next=58;break}if(y=d.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(v=!y.content&&!y.errorDecrypting,y.content_type&&y.uuid&&!v||y.deleted){e.next=16;break}return console.error("Server response item is corrupt:",y),e.abrupt("continue",55);case 16:if(!Array.isArray(n)){e.next=36;break}for(g=!0,m=!1,k=void 0,e.prev=20,b=n[Symbol.iterator]();!(g=(w=b.next()).done);g=!0)x=w.value,delete y[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),m=!0,k=e.t0;case 28:e.prev=28,e.prev=29,g||null==b.return||b.return();case 31:if(e.prev=31,!m){e.next=34;break}throw k;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(y.uuid))&&(S.updateFromJSON(y),S.dummy=!1),_=y.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt("continue",55);case 42:if(R=!1,1!=y.deleted){e.next=50;break}if(!y.dirty){e.next=48;break}R=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(y)),this.addItem(S,R),S.errorDecrypting||u.push(S),o.push(S),s.push(y);case 55:c=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,f=e.t1;case 64:e.prev=64,e.prev=65,c||null==h.return||h.return();case 67:if(e.prev=67,!l){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(I=!0,A=!1,D=void 0,e.prev=75,M=s.entries()[Symbol.iterator]();!(I=(C=M.next()).done);I=!0)O=p(C.value,2),F=O[0],P=O[1],j=o[F],P.content&&this.resolveReferencesForItem(j),j.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),A=!0,D=e.t2;case 83:e.prev=83,e.prev=84,I||null==M.return||M.return();case 86:if(e.prev=86,!A){e.next=89;break}throw D;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(B=this.popMissedReferenceStructsForObjects(s),E=!0,T=!1,L=void 0,e.prev=95,H=function(){var e=U.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},z=B[Symbol.iterator]();!(E=(U=z.next()).done);E=!0)H();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),T=!0,L=e.t3;case 104:e.prev=104,e.prev=105,E||null==z.return||z.return();case 107:if(e.prev=107,!T){e.next=110;break}throw L;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,i,a);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])}))),function(e){return c.apply(this,arguments)})},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],r=[],n=e.map((function(e){return e.uuid})),i=n[0].length,a=0,o=Object.keys(this.missedReferences);a1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var r=e.contentObject;if(e.updateLocalRelationships(),r.references){var n=r.references.slice(),i=n.map((function(e){return e.uuid})),a=!0,o=this.findItems(i,a),s=!0,u=!1,c=void 0;try{for(var l,f=o.entries()[Symbol.iterator]();!(s=(l=f.next()).done);s=!0){var h=p(l.value,2),d=h[0],y=h[1];if(y)e.addItemAsRelationship(y),t&&this.setItemDirty(y,!0);else{var v=i[d],g=this.missedReferenceBuildKey(v,e.uuid);if(!this.missedReferences[g]){var m={reference_uuid:v,for_item:e};this.missedReferences[g]=m}}}}catch(e){u=!0,c=e}finally{try{s||null==f.return||f.return()}finally{if(u)throw c}}}}}},{key:"notifySyncObserversOfModels",value:(u=v(regeneratorRuntime.mark((function e(t,r,n){var i,a,o,s,u,c,l,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,s,r,n);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),c=i[Symbol.iterator]();case 7:if(a=(l=c.next()).done){e.next=12;break}return e.delegateYield(u(),"t0",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,a||null==c.return||c.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])}))),function(e,t,r){return u.apply(this,arguments)})},{key:"_callSyncObserverCallbackWithTimeout",value:(s=v(regeneratorRuntime.mark((function e(t,r,n,i,a,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,u){s.$timeout((function(){try{t.callback(r,n,i,a,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,r,n,i,a){return s.apply(this,arguments)})},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,r,n,i)}},{key:"setItemsDirty",value:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var c,l=t[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var f=c.value;f.setDirty(r,n)}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:"createItem",value:function(t){var r=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return r||(r=P),new r(t)}},{key:"createDuplicateItemFromResponseItem",value:(o=v(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return r=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return r.uuid=e.sent,n=this.createItem(r),e.abrupt("return",n);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,r=e.duplicateOf,n=this.duplicateItemWithCustomContent({content:t,duplicateOf:r});return this.addDuplicatedItemAsConflict({duplicate:n,duplicateOf:r}),n}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,r=e.duplicateOf;this.addDuplicatedItem(t,r),t.content.conflict_of=r.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,r=e.duplicateOf,n=new r.constructor({content:t});return n.created_at=r.created_at,n.content_type||(n.content_type=r.content_type),n}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var r=!0,n=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,r){this.addItemSyncObserverWithPriority({id:e,types:t,callback:r,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,r=e.priority,n=e.types,i=e.callback;Array.isArray(n)||(n=[n]),this.itemSyncObservers.push({id:t,types:n,priority:r,callback:i})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,r=!1,n=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,r=!1,n=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}var u=!0,c=!1,l=void 0;try{for(var f,h=e.referencingObjects[Symbol.iterator]();!(u=(f=h.next()).done);u=!0){var p=f.value;p.removeItemAsRelationship(e),this.setItemDirty(p,!0)}}catch(e){c=!0,l=e}finally{try{u||null==h.return||h.return()}finally{if(c)throw l}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value,c=this.itemsHash[u];(c||t)&&r.push(c)}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return!0}))}},{key:"importItems",value:(i=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w,x,S,_,R,I,A,D,M;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=[],i={},a=!0,o=!1,s=void 0,t.prev=5,u=r[Symbol.iterator]();case 7:if(a=(c=u.next()).done){t.next=18;break}if(l=c.value,f=this.findItem(l.uuid)){t.next=13;break}return i[l.uuid]={},t.abrupt("continue",15);case 13:h=this.duplicateItemWithoutAdding(f),i[l.uuid]={frozenValue:h,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,a||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:p=!0,d=!1,y=void 0,t.prev=35,v=r[Symbol.iterator]();case 37:if(p=(g=v.next()).done){t.next=52;break}if(m=g.value,k=i[m.uuid],b=k.frozenValue,w=k.itemRef,!b||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(m);case 43:x=t.sent,m.deleted||b.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),n.push(x)),t.next=49;break;case 47:n.push(m),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:p=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),d=!0,y=t.t1;case 58:t.prev=58,t.prev=59,p||null==v.return||v.return();case 61:if(t.prev=61,!d){t.next=64;break}throw y;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(n,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,R=!1,I=void 0,t.prev=72,A=S[Symbol.iterator]();!(_=(D=A.next()).done);_=!0)M=D.value,this.setItemDirty(M,!0,!1),M.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),R=!0,I=t.t2;case 80:t.prev=80,t.prev=81,_||null==A.return||A.return();case 83:if(t.prev=83,!R){t.next=86;break}throw I;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])}))),function(e){return i.apply(this,arguments)})},{key:"getAllItemsJSONData",value:(n=v(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,r,n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getJSONDataForItems",value:(r=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new j(e,r,n).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return r&&(t.auth_params=n),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,n,i){return r.apply(this,arguments)})},{key:"computeDataIntegrityHash",value:(t=v(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),r=t.map((function(e){return e.updatedAtTimestamp()})),n=r.join(","),e.next=6,SFJS.crypto.sha256(n);case 6:return i=e.sent,e.abrupt("return",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])}))),function(){return t.apply(this,arguments)})},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();n.SFModelManager=I;var A=function(){function e(t,r,n){g(this,e),this.modelManager=t,this.syncManager=r,this.singletonManager=n,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}var t,r,n,i,a,o,s,u,c,l,f,h;return k(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:(h=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=r,n=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,s=void 0,t.prev=8,u=n[Symbol.iterator]();case 10:if(a=(c=u.next()).done){t.next=27;break}if((l=c.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(l),t.next=24;break;case 19:if(l!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(l);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,a||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",i);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])}))),function(e){return h.apply(this,arguments)})},{key:"loadPrivileges",value:(f=v(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,r){var n=E.contentType(),i=new B("content_type","=",n);t.singletonManager.registerSingleton([i],(function(r){t.privileges=r,e(r)}),function(){var r=v(regeneratorRuntime.mark((function r(i){var a;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(a=new E({content_type:n}),SFJS.crypto.generateUUIDSync){r.next=4;break}return r.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"getPrivileges",value:(l=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"displayInfoForCredential",value:function(t){var r={};return r[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},r[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},r[t]}},{key:"displayInfoForAction",value:function(t){var r={};return r[e.ActionManageExtensions]={label:"Manage Extensions"},r[e.ActionManageBackups]={label:"Download/Import Backups"},r[e.ActionViewProtectedNotes]={label:"View Protected Notes"},r[e.ActionManagePrivileges]={label:"Manage Privileges"},r[e.ActionManagePasscode]={label:"Manage Passcode"},r[e.ActionDeleteNote]={label:"Delete Notes"},r[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:(c=v(regeneratorRuntime.mark((function t(r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=r,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),n=a,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(n)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(r))]));case 3:case"end":return t.stop()}var i,a}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"clearSession",value:(u=v(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:"getSelectedSessionLength",value:(s=v(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(r=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(r));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:"getSessionExpirey",value:(o=v(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(r=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(r)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"actionHasPrivilegesConfigured",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"actionRequiresPrivilege",value:(i=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return r=e.sent,e.abrupt("return",r.length>0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"savePrivileges",value:(n=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"authenticateAction",value:(r=v(regeneratorRuntime.mark((function e(t,r){var n,i,a,o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:n=e.sent,i=[],a=[],o=!0,s=!1,u=void 0,e.prev=7,c=n[Symbol.iterator]();case 9:if(o=(l=c.next()).done){e.next=18;break}return f=l.value,e.next=13,this._verifyAuthenticationParameters(f,r[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==c.return||c.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])}))),function(e,t){return r.apply(this,arguments)})},{key:"_verifyAuthenticationParameters",value:(t=v(regeneratorRuntime.mark((function t(r,n){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",i(n));case 6:if(r!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",a(n));case 8:case"end":return t.stop()}}),t)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFPrivilegesManager=A;var D=function(){function e(t,r,n,i,a){var o=this;g(this,e),this.modelManager=t,this.storageManager=r,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=n,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",i,(function(e,t,r,n,i){if(n!==I.MappingSourceLocalDirtied){var a=!0,s=!1,u=void 0;try{for(var c,l=e[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var f=c.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){s=!0,u=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}}))}))}var t,r,n,i,a,o,s;return k(e,[{key:"encryptionParams",value:(s=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"addHistoryEntryForItem",value:function(e){var t=this,r={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},n=this.historySession.addEntryForItem(r);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),n&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"clearAllHistory",value:(a=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"toggleDiskSaving",value:(i=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 8:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"saveToDisk",value:(n=v(regeneratorRuntime.mark((function e(){var t,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new j(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){r.storageManager.setItem("sessionHistory_revisions",JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"loadFromDisk",value:(r=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("sessionHistory_persist");case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem("sessionHistory_revisions");case 6:if(!(r=e.sent)){e.next=18;break}return r=JSON.parse(r),e.next=11,this.encryptionParams();case 11:return n=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(r,n.keys);case 14:i=new T(r),this.historySession=i,e.next=19;break;case 18:this.historySession=new T;case 19:return e.next=21,this.storageManager.getItem("sessionHistory_autoOptimize");case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"toggleAutoOptimize",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!0)):this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();n.SFSessionHistoryManager=D;var M=function(){function e(t,r){var n=this;g(this,e),this.syncManager=r,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,r,i,a,o){a!==I.MappingSourceLocalDirtied&&n.resolveSingletons(t.allNondummyItems,null,!0)}}),r.addEventHandler((function(e,r){if("local-data-loaded"==e)n.resolveSingletons(t.allNondummyItems,null,!0),n.initialDataLoaded=!0;else if("sync:completed"==e){if(!n.initialDataLoaded)return;n.resolveSingletons(r.retrievedItems,r.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var r=!0,i=!1,a=void 0;try{for(var o,s=n.singletonHandlers[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value;u.singleton&&B.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,n.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}))}return k(e,[{key:"registerSingleton",value:function(e,t,r){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:r})}},{key:"resolveSingletons",value:function(e,t,r){var n=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var s,u=function(){var i=s.value,a=i.predicates.slice(),o=n.modelManager.filterItemsWithPredicates(e,a),u=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},c=n.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||c>0){var l=n.modelManager.itemsMatchingPredicates(a);if(l.length>=2){var f=l.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)}))),function(e){return M.apply(this,arguments)})},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:(D=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)}))),function(){return D.apply(this,arguments)})},{key:"getSyncURL",value:(A=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)}))),function(){return A.apply(this,arguments)})},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e,t||{})}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:(R=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return R.apply(this,arguments)})},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,r){var n=new Date(r.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(r.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?n:a0&&void 0!==u[0]?u[0]:{},n=r.incrementalCallback,i=r.batchSize,!(a=r.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var r=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],u=function(){var c=v(regeneratorRuntime.mark((function c(){var l,f;return regeneratorRuntime.wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return l=t.slice(a,a+i),c.next=3,s.handleItemsResponse(l,null,I.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=c.sent,o.push(f),!((a+=l.length)0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(y=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new j(t,y.keys,y.auth_params),e.next=3,r.paramsForLocalStorage();case 3:return r=e.sent,n&&delete r.dirty,e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return g=t.sent,t.next=32,i.storageManager.saveModels(g).catch((function(e){console.error("Error writing items",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,r){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)}))),function(e,t){return w.apply(this,arguments)})},{key:"syncOffline",value:(b=v(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=!0,n=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(r=(o=a.next()).done);r=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),n=!0,i=e.t0;case 11:e.prev=11,e.prev=12,r||null==a.return||a.return();case 14:if(e.prev=14,!n){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var u=a.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])}))),function(e){return b.apply(this,arguments)})},{key:"markAllItemsDirtyAndSaveOffline",value:(m=v(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,u,c,l,f,h,p,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}r=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),n=!0,i=!1,a=void 0,e.prev=5,o=r[Symbol.iterator]();case 7:if(n=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:n=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,n||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(c=this.modelManager.allNondummyItems,l=!0,f=!1,h=void 0,e.prev=32,p=c[Symbol.iterator]();!(l=(d=p.next()).done);l=!0)d.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,h=e.t1;case 40:e.prev=40,e.prev=41,l||null==p.return||p.return();case 43:if(e.prev=43,!f){e.next=46;break}throw h;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(c,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])}))),function(e){return m.apply(this,arguments)})},{key:"setSyncToken",value:(y=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"getSyncToken",value:(d=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"setCursorToken",value:(p=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"getCursorToken",value:(h=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e)}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:(f=v(regeneratorRuntime.mark((function t(){var r,n=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=v(regeneratorRuntime.mark((function t(i,a){var o,s,u,c,l,f,h,p,d,y,v,g,m,k;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r||(r={}),o=n.modelManager.getDirtyItems(),s=o.filter((function(e){return!n.lastDirtyItemsSave||e.dirtiedDate>n.lastDirtyItemsSave})),t.next=5,n.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,c=n.syncStatus.syncOpInProgress,l=n.initialDataLoaded(),!c&&l){t.next=16;break}return n.performSyncAgainOnCompletion=!0,n.lastDirtyItemsSave=new Date,t.next=13,n.writeItemsToLocalStorage(s,!1);case 13:return c&&(n.queuedCallbacks.push(i),n.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),l||(n.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),i()),t.abrupt("return");case 16:if(n.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt("return",n.syncOffline(o).then((function(e){n.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){n.notifyEvent("sync-exception",e)})));case 19:if(n.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return n.loggingEnabled&&console.log("Syncing online user."),f=n.syncStatus.needsMoreSync,n.syncStatus.syncStart=new Date,n.beginCheckingIfSyncIsTakingTooLong(),h=n.PerSyncItemUploadLimit,(p=o.slice(0,h)).lengthn.syncStatus.total&&(n.syncStatus.total=n.syncStatus.current),n.syncStatusDidChange(),t.next=34,n.writeItemsToLocalStorage(s,!1);case 34:return n.lastDirtyItemsSave=new Date,r.onPreSyncSave&&r.onPreSyncSave(),n.allRetreivedItems||(n.allRetreivedItems=[]),n.allSavedItems||(n.allSavedItems=[]),(d={}).limit=n.ServerItemDownloadLimit,r.performIntegrityCheck&&(d.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(p.map((function(e){var t=new j(e,u.keys,u.auth_params);return t.additionalFields=r.additionalFields,t.paramsForSync()}))).then((function(e){d.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),n.notifyEvent("sync-exception",t.t0);case 49:for(y=!0,v=!1,g=void 0,t.prev=52,m=p[Symbol.iterator]();!(y=(k=m.next()).done);y=!0)k.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),v=!0,g=t.t1;case 60:t.prev=60,t.prev=61,y||null==m.return||m.return();case 63:if(t.prev=63,!v){t.next=66;break}throw g;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,n.getSyncToken();case 70:return d.sync_token=t.sent,t.next=73,n.getCursorToken();case 73:return d.cursor_token=t.sent,d.api=S.getApiVersion(),n.loggingEnabled&&console.log("Syncing with params",d),t.prev=76,t.t2=n.httpManager,t.next=80,n.getSyncURL();case 80:t.t3=t.sent,t.t4=d,t.t5=function(e){n.handleSyncSuccess(p,e,r).then((function(){i(e)})).catch((function(e){console.log("Caught sync success exception:",e),n.handleSyncError(e,null,o).then((function(t){n.notifyEvent("sync-exception",e),i(t)}))}))},t.t6=function(e,t){n.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,r){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)}))),function(){return f.apply(this,arguments)})},{key:"_awaitSleep",value:(l=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,r){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"handleSyncSuccess",value:(c=v(regeneratorRuntime.mark((function t(r,n,i){var a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",n),o=this.allSavedItems.map((function(e){return e.uuid})),s=n.saved_items.map((function(e){return e.uuid})),n.retrieved_items=n.retrieved_items.filter((function(e){var t=o.includes(e.uuid),r=s.includes(e.uuid);if(t||r)return!1;var n=w.modelManager.findItem(e.uuid);return!n||!n.dirty})),u=[],c=!0,l=!1,f=void 0,t.prev=13,h=r[Symbol.iterator]();!(c=(p=h.next()).done);c=!0)0==(d=p.value).dirtyCount&&u.push(d);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),l=!0,f=t.t0;case 21:t.prev=21,t.prev=22,c||null==h.return||h.return();case 24:if(t.prev=24,!l){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(n.retrieved_items,null,I.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return y=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(y),this.syncStatus.retrievedCount=this.allRetreivedItems.length,v=["content","auth_hash"],t.next=38,this.handleItemsResponse(n.saved_items,v,I.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return g=t.sent,this.allSavedItems=this.allSavedItems.concat(g),m=n.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(m);case 43:return t.next=45,this.handleConflictsResponse(n.conflicts);case 45:if(k=t.sent,b=k&&k.length>0,!k){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(k,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(g,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(y,!1);case 54:if(!n.integrity_hash||n.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(n.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||g.length>=this.majorDataChangeThreshold||m&&m.length>=this.majorDataChangeThreshold||k&&k.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(n),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt("return",n);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])}))),function(e,t,r){return c.apply(this,arguments)})},{key:"handleSyncError",value:(u=v(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==r&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(n,!1),this.modelManager.didSyncModelsOffline(n),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return u.apply(this,arguments)})},{key:"handleItemsResponse",value:(s=v(regeneratorRuntime.mark((function e(t,r,n,i){var a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,r,n);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return s.apply(this,arguments)})},{key:"refreshErroredItems",value:(o=v(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((r=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(r,null,I.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"handleConflictsResponse",value:(a=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,k,b,w,x,S,_,R,A,D,M,C,O,F,j,B;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&0!=r.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",r),n={},i=!0,a=!1,o=void 0,t.prev=7,s=r[Symbol.iterator]();case 9:if(i=(u=s.next()).done){t.next=21;break}if(c=u.value,l=c.server_item||c.unsaved_item,f=this.modelManager.findItem(l.uuid)){t.next=16;break}return n[l.uuid]={},t.abrupt("continue",18);case 16:h=f.getContentCopy(),n[l.uuid]={frozenContent:h,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==s.return||s.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:p=[],d=!0,y=!1,v=void 0,t.prev=39,g=r[Symbol.iterator]();case 41:if(d=(m=g.next()).done){t.next=91;break}return k=m.value,b=k.server_item||k.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[b],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=n[b.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(p.push(S),"uuid_conflict"!==k.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,p.push(_),t.next=88;break;case 62:if("sync_conflict"!==k.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(b);case 65:if(R=t.sent,A=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),D=!A.isItemContentEqualWith(R),M=!S.isItemContentEqualWith(R),C=!1,O=!1,F=!1,j=!1,b.deleted||S.deleted?j=!0:D?(new Date-S.client_updated_at)/1e3<20?(F=!0,O=!0):(C=!0,j=!0):M?P.AreItemContentsEqual({leftContent:S.content,rightContent:R.content,keysToIgnore:S.keysToIgnoreWhenCheckingContentEquality().concat(["references"]),appDataKeysToIgnore:S.appDataKeysToIgnoreWhenCheckingContentEquality()})?F=!0:(C=!0,j=!0):j=!0,!C){t.next=79;break}return t.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:x,duplicateOf:S});case 77:B=t.sent,p.push(B);case 79:if(O&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:R,duplicateOf:S}),p.push(R)),!j){t.next=83;break}return t.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([b],null,I.MappingSourceRemoteRetrieved);case 83:F&&(S.updated_at=R.updated_at,S.setDirty(!0)),t.next=88;break;case 86:return console.error("Unsupported conflict type",k.type),t.abrupt("continue",88);case 88:d=!0,t.next=41;break;case 91:t.next=97;break;case 93:t.prev=93,t.t4=t.catch(39),y=!0,v=t.t4;case 97:t.prev=97,t.prev=98,d||null==g.return||g.return();case 100:if(t.prev=100,!y){t.next=103;break}throw v;case 103:return t.finish(100);case 104:return t.finish(97);case 105:return t.abrupt("return",p);case 106:case"end":return t.stop()}}),t,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])}))),function(e){return a.apply(this,arguments)})},{key:"deprecated_handleUnsavedItemsResponse",value:(i=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&0!=r.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Unsaved Items:",r),n=!0,i=!1,a=void 0,t.prev=6,o=r[Symbol.iterator]();case 8:if(n=(s=o.next()).done){t.next=35;break}return u=s.value,c=u.item,t.t0=SFJS.itemTransformer,t.t1=[c],t.next=15,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 15:return t.t2=t.sent.keys,t.next=18,t.t0.decryptMultipleItems.call(t.t0,t.t1,t.t2);case 18:if(l=this.modelManager.findItem(c.uuid)){t.next=21;break}return t.abrupt("continue",32);case 21:if("uuid_conflict"!==(f=u.error).tag){t.next=27;break}return t.next=25,this.modelManager.alternateUUIDForItem(l);case 25:t.next=32;break;case 27:if("sync_conflict"!==f.tag){t.next=32;break}return t.next=30,this.modelManager.createDuplicateItemFromResponseItem(c);case 30:h=t.sent,c.deleted||l.isItemContentEqualWith(h)||this.modelManager.addDuplicatedItemAsConflict({duplicate:h,duplicateOf:l});case 32:n=!0,t.next=8;break;case 35:t.next=41;break;case 37:t.prev=37,t.t3=t.catch(6),i=!0,a=t.t3;case 41:t.prev=41,t.prev=42,n||null==o.return||o.return();case 44:if(t.prev=44,!i){t.next=47;break}throw a;case 47:return t.finish(44);case 48:return t.finish(41);case 49:case"end":return t.stop()}}),t,this,[[6,37,41,49],[42,,44,48]])}))),function(e){return i.apply(this,arguments)})},{key:"stateless_downloadAllItems",value:function(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var n=v(regeneratorRuntime.mark((function n(i,a){var o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o={limit:r.limit||500,sync_token:r.syncToken,cursor_token:r.cursorToken,content_type:r.contentType,event:r.event,api:S.getApiVersion()},n.prev=1,n.t0=t.httpManager,n.next=5,t.getSyncURL();case 5:n.t1=n.sent,n.t2=o,n.t3=function(){var n=v(regeneratorRuntime.mark((function n(a){var o,s;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r.retrievedItems||(r.retrievedItems=[]),o=a.retrieved_items,n.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=n.sent.keys,n.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:r.retrievedItems=r.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),r.syncToken=a.sync_token,r.cursorToken=a.cursor_token,r.cursorToken?t.stateless_downloadAllItems(r).then(i):i(r.retrievedItems);case 11:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),n.t4=function(e,t){a(e)},n.t0.postAuthenticatedAbsolute.call(n.t0,n.t1,n.t2,n.t3,n.t4),n.next=16;break;case 12:n.prev=12,n.t5=n.catch(1),console.log("Download all items exception caught:",n.t5),a(n.t5);case 16:case"end":return n.stop()}}),n,null,[[1,12]])})));return function(e,t){return n.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:(n=v(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=v(regeneratorRuntime.mark((function e(r){var n,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],i=!0,a=!1,o=void 0,e.prev=4,s=r[Symbol.iterator]();case 6:if(i=(u=s.next()).done){e.next=18;break}if(c=u.value,!(l=t.modelManager.findItem(c.uuid))){e.next=14;break}if(c.isItemContentEqualWith(l)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(l);case 14:n.push(c);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==s.return||s.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:n,source:I.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"handleSignout",value:(r=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"clearSyncToken",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();n.SFSyncManager=F;var P=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};g(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==d(this.content)||this.content.references||(this.content.references=[])}var t;return k(e,[{key:"initUUID",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var r=0,n=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];r"==r.operator?y>d:"<="==r.operator?y<=d:">="==r.operator?y>=d:"startsWith"==r.operator?y.startsWith(d):"in"==r.operator?-1!=d.indexOf(y):"includes"==r.operator?this.resolveIncludesPredicate(y,d):"matches"==r.operator&&new RegExp(d).test(y)}},{key:"resolveIncludesPredicate",value:function(t,r){if("string"==typeof r)return t.includes(r);var n;n=Array.isArray(r)?e.fromArray(r):r;var i=!0,a=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(this.ObjectSatisfiesPredicate(c,n))return!0}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,r){return Array.isArray(r)&&(r=e.fromArray(r)),this.ObjectSatisfiesPredicate(t,r)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),r=t[1],n=new Date,i=parseInt(t[0]);return"days"==r?n.setDate(n.getDate()-i):"hours"==r&&n.setHours(n.getHours()-i),n}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();n.SFPredicate=B;var E=function(e){function t(e){var r;return g(this,t),(r=c(this,l(t).call(this,e))).content.desktopPrivileges||(r.content.desktopPrivileges={}),r}return f(t,e),k(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),k(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var r=this.getCredentialsForAction(e);r.push(t),this.setCredentialsForAction(e,r)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(P);n.SFPrivileges=E;var T=function(e){function t(e){var r;return g(this,t),(r=c(this,l(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(r.content.itemUUIDToItemHistoryMapping={}),Object.keys(r.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=r.content.itemUUIDToItemHistoryMapping[e];r.content.itemUUIDToItemHistoryMapping[e]=new L(t)})),r}return f(t,e),k(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new L),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var r=this.historyForItem(e);r.entries.length>t.LargeItemEntryAmountThreshold&&r.optimize()}}]),t}(P);n.SFHistorySession=T,T.LargeItemEntryAmountThreshold=60;var L=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(g(this,e),this.entries||(this.entries=[]),t.entries){var r=!0,n=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}}return k(e,[{key:"createEntryForItem",value:function(t){var r=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return r||(r=H),new r(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),r=this.getLastEntry();if(t.setPreviousEntry(r),!t.isSameAsEntry(r))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,r=[],n=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?r.push(e):-1!==(i=r.indexOf(e))&&r.splice(i,1),a&&n(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&r.push(o)}};this.entries.forEach((function(e,r){if(0==r||r==t.entries.length-1)i(e,r,!0);else{var a=n(e);i(e,r,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==r.indexOf(e)}))}}]),e}();n.SFItemHistory=L,L.LargeEntryDeltaThreshold=15;var H=function(){function e(t){g(this,e),this.item=P.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return k(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new P(this.item),r=new P(e.item);return t.isItemContentEqualWith(r)}}]),e}();n.SFItemHistoryEntry=H,x="undefined"!=typeof window?window:void 0!==e?e:null;var z=function(){function e(){g(this,e),this.DefaultPBKDF2Length=768}var t,r,n,i,a,o,s,c,l,f,h,p,d,y,m;return k(e,[{key:"generateUUIDSync",value:function(){var e=x.crypto||x.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var r=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){r++;var n=t[r>>3]>>r%8*4&15;return("x"==e?n:3&n|8).toString(16)}))}var n=(new Date).getTime();return x.performance&&"function"==typeof x.performance.now&&(n+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(n+16*Math.random())%16|0;return n=Math.floor(n/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:(m=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)}))),function(){return m.apply(this,arguments)})},{key:"timingSafeEqual",value:function(e,t){var r=String(e),n=String(t),i=r.length,a=0;i!==n.length&&(n=r,a=1);for(var o=0;o0&&void 0!==p[0]?p[0]:{},r=t.ciphertextToAuth,n=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(p.length>1?p[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(r,s);case 8:if(c=e.sent,!1!==this.timingSafeEqual(o,c)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return l=u.enc.Hex.parse(i),f=u.enc.Hex.parse(a||""),h=u.AES.decrypt(n,l,{iv:f,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",h.toString(u.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"encryptText",value:(d=v(regeneratorRuntime.mark((function e(t,r,n){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u.enc.Hex.parse(r),a=u.enc.Hex.parse(n||""),o=u.AES.encrypt(t,i,{iv:a,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)}))),function(e,t,r){return d.apply(this,arguments)})},{key:"generateRandomKey",value:(p=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return p.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(h=v(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,r=1,e.next=4,this.generateRandomKey(t);case 4:return n=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt("return",this.pbkdf2(i,n,r,t));case 9:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"firstHalfOfKey",value:(f=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"secondHalfOfKey",value:(l=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"base64",value:(c=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:"base64Decode",value:(s=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"sha256",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"hmac256",value:(a=v(regeneratorRuntime.mark((function e(t,r){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=u.enc.Hex.parse(r),i=u.enc.Utf8.parse(t),a=u.HmacSHA256(i,n).toString(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})},{key:"generateSalt",value:(i=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",r,n,i].join(":"));case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return i.apply(this,arguments)})},{key:"generateSymmetricKeyPair",value:(n=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},r=t.password,n=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(r,n,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,s=o/3,u=a.slice(0,s),c=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[u,c,l]);case 10:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"computeEncryptionKeysForUser",value:(r=v(regeneratorRuntime.mark((function e(t,r){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=r.version){e.next=9;break}if(r.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(r.identifier,r.version,r.pw_cost,r.pw_nonce);case 6:n=e.sent,e.next=10;break;case 9:n=r.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:n,pw_cost:r.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})},{key:"generateInitialKeysAndAuthParamsForUser",value:(t=v(regeneratorRuntime.mark((function e(t,r){var n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,n,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:r,pw_salt:o,pw_cost:i}).then((function(e){var r={pw_nonce:a,pw_cost:i,identifier:t,version:n};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:r}})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFAbstractCrypto=z;var U=function(e){function t(){return g(this,t),c(this,l(t).apply(this,arguments))}var r;return f(t,e),k(t,[{key:"pbkdf2",value:(r=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:u.algo.SHA512,iterations:n},e.abrupt("return",u.PBKDF2(t,r,a).toString());case 2:case"end":return e.stop()}}),e)}))),function(e,t,n,i){return r.apply(this,arguments)})}]),t}(z);n.SFCryptoJS=U;var N=(x="undefined"!=typeof window?window:void 0!==e?e:null).crypto?x.crypto.subtle:null,K=function(e){function t(){return g(this,t),c(this,l(t).apply(this,arguments))}var r,n,i,a,o,s,u,h,p,d,y,m,b,w;return f(t,e),k(t,[{key:"pbkdf2",value:(w=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(a=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(a,r,n,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return w.apply(this,arguments)})},{key:"generateRandomKey",value:(b=v(regeneratorRuntime.mark((function e(t){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",N.generateKey({name:"AES-CBC",length:t},!0,["encrypt","decrypt"]).then((function(e){return N.exportKey("raw",e).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return b.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(m=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([this.generateRandomKey(256),this.generateRandomKey(256)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)}))),function(){return m.apply(this,arguments)})},{key:"encryptText",value:(y=v(regeneratorRuntime.mark((function e(t,r,n){var i,a,o,s,u,c=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(n);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:"AES-CBC",iv:i},e.next=11,this.hexStringToArrayBuffer(r);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,["encrypt"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,u).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.arrayBufferToBase64(t);case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return y.apply(this,arguments)})},{key:"decryptText",value:(d=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f,h,p,d=this,y=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=y.length>0&&void 0!==y[0]?y[0]:{},r=t.ciphertextToAuth,n=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(y.length>1?y[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(r,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(u)),e.abrupt("return",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return c=e.t0,l={name:"AES-CBC",iv:c},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,l.name,["decrypt"]);case 26:return h=e.sent,e.next=29,this.base64ToArrayBuffer(n);case 29:return p=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,h,p).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.arrayBufferToString(t);case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"hmac256",value:(p=v(regeneratorRuntime.mark((function e(t,r){var n,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(r);case 2:return n=e.sent,e.next=5,this.webCryptoImportKey(n,"HMAC",["sign"],{name:"SHA-256"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},i,a).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return p.apply(this,arguments)})},{key:"webCryptoImportKey",value:(h=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",N.importKey("raw",a,{name:r,hash:i},!1,n).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return h.apply(this,arguments)})},{key:"webCryptoDeriveBits",value:(u=v(regeneratorRuntime.mark((function e(t,r,n,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(r);case 2:return e.t0=e.sent,e.t1=n,e.t2={name:"SHA-512"},a={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",N.deriveBits(a,t,i).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return u.apply(this,arguments)})},{key:"stringToArrayBuffer",value:(s=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){var n=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(n)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"arrayBufferToString",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){var n=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(n)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"arrayBufferToHexString",value:(a=v(regeneratorRuntime.mark((function e(t){var r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=new Uint8Array(t),n="",a=0;a5e3)||this.crypto instanceof K}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(n.StandardFile=J,x)try{x.StandardFile=J,x.SFJS=new J,x.SFCryptoWeb=K,x.SFCryptoJS=U,x.SFItemTransformer=W,x.SFModelManager=I,x.SFItem=P,x.SFItemParams=j,x.SFHttpManager=S,x.SFStorageManager=C,x.SFSyncManager=F,x.SFAuthManager=w,x.SFMigrationManager=R,x.SFAlertManager=b,x.SFPredicate=B,x.SFHistorySession=T,x.SFSessionHistoryManager=D,x.SFItemHistory=L,x.SFItemHistoryEntry=H,x.SFPrivilegesManager=A,x.SFPrivileges=E,x.SFSingletonManager=M}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}).call(this,r(2))},function(e,t){!function(t){"use strict";var r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag",u="object"==typeof e,c=t.regeneratorRuntime;if(c)u&&(e.exports=c);else{(c=t.regeneratorRuntime=u?e.exports:{}).wrap=y;var l={},f={};f[a]=function(){return this};var h=Object.getPrototypeOf,p=h&&h(h(I([])));p&&p!==r&&n.call(p,a)&&(f=p);var d=k.prototype=g.prototype=Object.create(f);m.prototype=d.constructor=k,k.constructor=m,k[s]=m.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,k):(e.__proto__=k,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(d),e},c.awrap=function(e){return{__await:e}},b(w.prototype),w.prototype[o]=function(){return this},c.AsyncIterator=w,c.async=function(e,t,r,n){var i=new w(y(e,t,r,n));return c.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},b(d),d[s]="Generator",d[a]=function(){return this},d.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},c.values=I,R.prototype={constructor:R,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;_(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:I(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}}}function y(e,t,r,n){var i=t&&t.prototype instanceof g?t:g,a=Object.create(i.prototype),o=new R(n||[]);return a._invoke=function(e,t,r){var n="suspendedStart";return function(i,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw a;return{value:void 0,done:!0}}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var s=x(o,r);if(s){if(s===l)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=v(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(e,r,o),a}function v(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function g(){}function m(){}function k(){}function b(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e){var t;this._invoke=function(r,i){function a(){return new Promise((function(t,a){!function t(r,i,a,o){var s=v(e[r],e,i);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&n.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,a,o)}),(function(e){t("throw",e,a,o)})):Promise.resolve(c).then((function(e){u.value=e,a(u)}),o)}o(s.arg)}(r,i,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=v(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,l;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function I(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r(t=J(t,e)).length)r=e;else{var n=0,i=-1,a=-1,o=(r=t).length;for(0>n&&(n=-n>o?0:o+n),0>(i=i>o?o:i)&&(i+=o),o=n>i?0:i-n>>>0,n>>>=0,i=Array(o);++aa?$e:o,a=1),t=Object(t);++is))return!1;if((u=a.get(e))&&a.get(t))return u==t;var u=-1,c=!0,l=2&r?new R:$e;for(a.set(e,t),a.set(t,e);++u(r=null==r?0:Fe(r))&&(r=Jt(n+r,0)),d(e,ne(t,3),r)):-1}function ge(e){return null!=e&&e.length?function e(t,r,n,i,a){var o=-1,s=t.length;for(n||(n=ue),a||(a=[]);++o=e}function Ie(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ae(e){return null!=e&&"object"==typeof e}function De(e){return!(!Ae(e)||"[object Object]"!=E(e))&&(null===(e=jt(e))||"function"==typeof(e=Rt.call(e,"constructor")&&e.constructor)&&e instanceof e&&_t.call(e)==Dt)}function Me(e){return"string"==typeof e||!wr(e)&&Ae(e)&&"[object String]"==E(e)}function Ce(e){return"symbol"==typeof e||Ae(e)&&"[object Symbol]"==E(e)}function Oe(e){return e?(e=Pe(e))===Ge||e===-Ge?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Fe(e){var t=(e=Oe(e))%1;return e==e?t?e-t:e:0}function Pe(e){if("number"==typeof e)return e;if(Ce(e))return Xe;if(Ie(e)&&(e=Ie(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(tt,"");var t=at.test(e);return t||st.test(e)?ht(e.slice(2),t?2:8):it.test(e)?Xe:+e}function je(e){return X(e,He(e))}function Be(e){return null==e?"":K(e)}function Ee(e,t,r){return(e=null==e?$e:j(e,t))===$e?r:e}function Te(e,t){var r;if(r=null!=e){for(var n,i=-1,a=(n=J(t,r=e)).length,o=!1;++i(e=C(t,e))||(e==t.length-1?t.pop():Tt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=C(t,e))?$e:t[e][1]},S.prototype.has=function(e){return-1n?(++this.size,r.push([e,t])):r[n][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Gt||S),string:new x}},_.prototype.delete=function(e){return e=ie(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return ie(this,e).get(e)},_.prototype.has=function(e){return ie(this,e).has(e)},_.prototype.set=function(e,t){var r=ie(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},R.prototype.add=R.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},R.prototype.has=function(e){return this.__data__.has(e)},I.prototype.clear=function(){this.__data__=new S,this.size=0},I.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},I.prototype.get=function(e){return this.__data__.get(e)},I.prototype.has=function(e){return this.__data__.has(e)},I.prototype.set=function(e,t){var r=this.__data__;if(r instanceof S){var n=r.__data__;if(!Gt||199>n.length)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _(n)}return r.set(e,t),this.size=r.size,this};var cr=function(e,t){if(null==e)return e;if(!xe(e))return function(e,t){return e&&lr(e,t,Le)}(e,t);for(var r=e.length,n=-1,i=Object(e);++nr&&(r=Jt(n+r,0)),Me(e)?r<=n&&-1{self.postMessage({fileItem:e})}))}else if("decrypt"==t.operation)SFJS.itemTransformer.decryptItem(t.item,t.keys).then((()=>{const e=new n.SFItem(t.item),r=e.content.rawData;e.errorDecrypting?self.postMessage({error:{message:"Error decrypting."}}):self.postMessage({decryptedData:r,decryptedItem:e})})).catch((e=>{console.log("Decryption error:",e),self.postMessage({error:e})}));else if("upload"==t.operation){const e=new s;e.setCredentials(t.credentials),e.uploadFile(t.outputFileName,t.fileItem,t.integration).then((e=>{self.postMessage({metadata:e})})).catch((e=>{self.postMessage({error:e}),console.log("Upload exception",e)}))}}),!1)}]); \ No newline at end of file diff --git a/public/components/org.standardnotes.bold-editor/dist/vendor.css b/public/components/org.standardnotes.bold-editor/dist/vendor.css index 6698116c2..70763ae1d 100644 --- a/public/components/org.standardnotes.bold-editor/dist/vendor.css +++ b/public/components/org.standardnotes.bold-editor/dist/vendor.css @@ -1,7 +1,6 @@ -:root{--sn-stylekit-base-font-size: 13px;--sn-stylekit-font-size-p: 1.0rem;--sn-stylekit-font-size-editor: 1.21rem;--sn-stylekit-font-size-h6: 0.8rem;--sn-stylekit-font-size-h5: 0.9rem;--sn-stylekit-font-size-h4: 1.0rem;--sn-stylekit-font-size-h3: 1.1rem;--sn-stylekit-font-size-h2: 1.2rem;--sn-stylekit-font-size-h1: 1.3rem;--sn-stylekit-neutral-color: #989898;--sn-stylekit-neutral-contrast-color: white;--sn-stylekit-info-color: #086DD6;--sn-stylekit-info-contrast-color: white;--sn-stylekit-success-color: #2B9612;--sn-stylekit-success-contrast-color: white;--sn-stylekit-warning-color: #f6a200;--sn-stylekit-warning-contrast-color: white;--sn-stylekit-danger-color: #F80324;--sn-stylekit-danger-contrast-color: white;--sn-stylekit-shadow-color: #C8C8C8;--sn-stylekit-background-color: white;--sn-stylekit-border-color: #e3e3e3;--sn-stylekit-foreground-color: black;--sn-stylekit-contrast-background-color: #F6F6F6;--sn-stylekit-contrast-foreground-color: #2e2e2e;--sn-stylekit-contrast-border-color: #e3e3e3;--sn-stylekit-secondary-background-color: #F6F6F6;--sn-stylekit-secondary-foreground-color: #2e2e2e;--sn-stylekit-secondary-border-color: #e3e3e3;--sn-stylekit-secondary-contrast-background-color: #e3e3e3;--sn-stylekit-secondary-contrast-foreground-color: #2e2e2e;--sn-styleki--secondary-contrast-border-color: #a2a2a2;--sn-stylekit-editor-background-color: var(--sn-stylekit-background-color);--sn-stylekit-editor-foreground-color: var(--sn-stylekit-foreground-color);--sn-stylekit-paragraph-text-color: #454545;--sn-stylekit-input-placeholder-color: rgb(168, 168, 168);--sn-stylekit-input-border-color: #e3e3e3;--sn-stylekit-scrollbar-thumb-color: #dfdfdf;--sn-stylekit-scrollbar-track-border-color: #E7E7E7;--sn-stylekit-general-border-radius: 2px;--sn-stylekit-monospace-font: "Ubuntu Mono", courier, monospace;--sn-stylekit-sans-serif-font: -apple-system, BlinkMacSystemFont, - "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", - "Droid Sans", "Helvetica Neue", sans-serif}.sn-component{font-family:var(--sn-stylekit-sans-serif-font);-webkit-font-smoothing:antialiased;color:var(--sn-stylekit-foreground-color)}.sn-component .sk-panel{box-shadow:0px 2px 5px var(--sn-stylekit-shadow-color);background-color:var(--sn-stylekit-background-color);border:1px solid var(--sn-stylekit-border-color);border-radius:var(--sn-stylekit-general-border-radius);display:flex;flex-direction:column;overflow:auto;flex-grow:1}.sn-component .sk-panel a:hover{text-decoration:underline}.sn-component .sk-panel.static{box-shadow:none;border:none;border-radius:0}.sn-component .sk-panel .sk-panel-header{flex-shrink:0;display:flex;justify-content:space-between;padding:1.1rem 2rem;border-bottom:1px solid var(--sn-stylekit-contrast-border-color);background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);align-items:center}.sn-component .sk-panel .sk-panel-header .sk-panel-header-title{font-size:var(--sn-stylekit-font-size-h1);font-weight:500}.sn-component .sk-panel .sk-panel-header .close-button{font-weight:bold}.sn-component .sk-panel .sk-footer,.sn-component .sk-panel .sk-panel-footer{padding:1rem 2rem;border-top:1px solid var(--sn-stylekit-border-color);box-sizing:border-box}.sn-component .sk-panel .sk-footer.extra-padding,.sn-component .sk-panel .sk-panel-footer.extra-padding{padding:2rem 2rem}.sn-component .sk-panel .sk-footer .left,.sn-component .sk-panel .sk-panel-footer .left{text-align:left;display:block}.sn-component .sk-panel .sk-footer .right,.sn-component .sk-panel .sk-panel-footer .right{text-align:right;display:block}.sn-component .sk-panel .sk-panel-content{padding:1.6rem 2rem;padding-bottom:0;flex-grow:1;overflow:scroll;height:100%;overflow-y:auto !important;overflow-x:auto !important}.sn-component .sk-panel .sk-panel-content .sk-p,.sn-component .sk-panel .sk-panel-content .sk-li{color:var(--sn-stylekit-paragraph-text-color);line-height:1.3}.sn-component .sk-panel-section{padding-bottom:1.6rem;display:flex;flex-direction:column}.sn-component .sk-panel-section.sk-panel-hero{text-align:center}.sn-component .sk-panel-section .sk-p:last-child{margin-bottom:0}.sn-component .sk-panel-section:not(:last-child){margin-bottom:1.5rem;border-bottom:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-panel-section:not(:last-child).no-border{border-bottom:none}.sn-component .sk-panel-section:last-child{margin-bottom:0.5rem}.sn-component .sk-panel-section.no-bottom-pad{padding-bottom:0;margin-bottom:0}.sn-component .sk-panel-section .sk-panel-section-title{margin-bottom:0.5rem;font-weight:bold;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-panel-section .sk-panel-section-outer-title{border-bottom:1px solid var(--sn-stylekit-border-color);padding-bottom:0.9rem;margin-top:2.1rem;margin-bottom:15px;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-panel-section .sk-panel-section-subtitle{font-size:var(--sn-stylekit-font-size-h5);margin-bottom:2px}.sn-component .sk-panel-section .sk-panel-section-subtitle.subtle{font-weight:normal;opacity:0.6}.sn-component .sk-panel-section .text-content .sk-p{margin-bottom:1rem}.sn-component .sk-panel-section .text-content p:first-child{margin-top:0.3rem}.sn-component .sk-panel-row{display:flex;justify-content:space-between;align-items:center;padding-top:0.4rem}.sn-component .sk-panel-row.centered{justify-content:center}.sn-component .sk-panel-row.justify-right{justify-content:flex-end}.sn-component .sk-panel-row.justify-left{justify-content:flex-start}.sn-component .sk-panel-row.align-top{align-items:flex-start}.sn-component .sk-panel-row .sk-panel-column.stretch{width:100%}.sn-component .sk-panel-row.default-padding,.sn-component .sk-panel-row:not(:last-child){padding-bottom:0.4rem}.sn-component .sk-panel-row.condensed{padding-top:0.2rem;padding-bottom:0.2rem}.sn-component .sk-panel-row .sk-p{margin:0;padding:0}.sn-component .vertical-rule{background-color:var(--sn-stylekit-border-color);height:1.5rem;width:1px}.sn-component .sk-panel-form{width:100%}.sn-component .sk-panel-form.half{width:50%}.sn-component .sk-panel-form .form-submit{margin-top:0.15rem}.sn-component .right-aligned{justify-content:flex-end;text-align:right}.sn-component .sk-menu-panel{background-color:var(--sn-stylekit-background-color);border:1px solid var(--sn-stylekit-contrast-border-color);border-radius:var(--sn-stylekit-general-border-radius);overflow:scroll;user-select:none;overflow-y:auto !important;overflow-x:auto !important}.sn-component .sk-menu-panel .sk-menu-panel-header{padding:0.8rem 1rem;border-bottom:1px solid var(--sn-stylekit-contrast-border-color);background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);display:flex;justify-content:space-between;align-items:center}.sn-component .sk-menu-panel .sk-menu-panel-header-title{font-weight:bold;font-size:var(--sn-stylekit-font-size-h4)}.sn-component .sk-menu-panel .sk-menu-panel-header-subtitle{margin-top:0.2rem;opacity:0.6}.sn-component .sk-menu-panel .sk-menu-panel-row{padding:1rem 1rem;cursor:pointer;display:flex;flex-direction:row;justify-content:space-between;border-bottom:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-menu-panel .sk-menu-panel-row:hover{background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);border-color:var(--sn-stylekit-contrast-border-color)}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column{display:flex;justify-content:center;flex-direction:column}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column:not(:first-child){padding-left:1.0rem;padding-right:0.15rem}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column.stretch{width:100%}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-subrows{margin-top:1rem}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-row,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-subrow{border:1px solid var(--sn-stylekit-contrast-border-color);margin-top:-1px}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-row:hover,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-subrow:hover{background-color:var(--sn-stylekit-background-color)}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .left{display:flex}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-button .sk-label,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-box .sk-label,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-button .sk-panel-section .sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-menu-panel .sk-menu-panel-row .sk-button .sk-panel-section-subtitle,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-box .sk-panel-section .sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-menu-panel .sk-menu-panel-row .sk-box .sk-panel-section-subtitle{font-size:var(--sn-stylekit-font-size-h6);font-weight:normal}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-label,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-panel-section .sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-menu-panel .sk-menu-panel-row .sk-panel-section-subtitle{font-size:var(--sn-stylekit-font-size-p);font-weight:bold}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-sublabel{font-size:var(--sn-stylekit-font-size-h5);margin-top:0.2rem;opacity:0.6}.sn-component .red{color:var(--sn-stylekit-danger-color)}.sn-component .tinted{color:var(--sn-stylekit-info-color)}.sn-component .selectable{user-select:text !important;-ms-user-select:text !important;-moz-user-select:text !important;-webkit-user-select:text !important}.sn-component .sk-h1,.sn-component .sk-h2,.sn-component .sk-h3,.sn-component .sk-h4,.sn-component .sk-h5{margin:0;padding:0;font-weight:normal}.sn-component .sk-h1{font-weight:500;font-size:var(--sn-stylekit-font-size-h1);line-height:1.9rem}.sn-component .sk-h2{font-size:var(--sn-stylekit-font-size-h2);line-height:1.8rem}.sn-component .sk-h3{font-size:var(--sn-stylekit-font-size-h3);line-height:1.7rem}.sn-component .sk-h4{font-size:var(--sn-stylekit-font-size-p);line-height:1.4rem}.sn-component .sk-h5{font-size:var(--sn-stylekit-font-size-h5)}.sn-component .sk-bold{font-weight:bold}.sn-component .sk-font-small{font-size:var(--sn-stylekit-font-size-h5)}.sn-component .sk-font-normal{font-size:var(--sn-stylekit-font-size-p)}.sn-component .sk-font-large{font-size:var(--sn-stylekit-font-size-h3)}.sn-component a.sk-a{cursor:pointer;user-select:none}.sn-component a.sk-a.disabled{color:var(--sn-stylekit-neutral-color);opacity:0.6}.sn-component a.sk-a.boxed{border-radius:var(--sn-stylekit-general-border-radius);padding:0.3rem 0.4rem}.sn-component a.sk-a.boxed:hover{text-decoration:none}.sn-component a.sk-a.boxed.neutral{background-color:var(--sn-stylekit-neutral-color);color:var(--sn-stylekit-neutral-contrast-color)}.sn-component a.sk-a.boxed.info{background-color:var(--sn-stylekit-info-color);color:var(--sn-stylekit-info-contrast-color)}.sn-component a.sk-a.boxed.warning{background-color:var(--sn-stylekit-warning-color);color:var(--sn-stylekit-warning-contrast-color)}.sn-component a.sk-a.boxed.danger{background-color:var(--sn-stylekit-danger-color);color:var(--sn-stylekit-danger-contrast-color)}.sn-component a.sk-a.boxed.success{background-color:var(--sn-stylekit-success-color);color:var(--sn-stylekit-success-contrast-color)}.sn-component .wrap{word-wrap:break-word}.sn-component *.sk-base{color:var(--sn-stylekit-foreground-color)}.sn-component *.contrast{color:var(--sn-stylekit-contrast-foreground-color)}.sn-component *.neutral{color:var(--sn-stylekit-neutral-color)}.sn-component *.info{color:var(--sn-stylekit-info-color)}.sn-component *.info-contrast{color:var(--sn-stylekit-info-contrast-color)}.sn-component *.warning{color:var(--sn-stylekit-warning-color)}.sn-component *.danger{color:var(--sn-stylekit-danger-color)}.sn-component *.success{color:var(--sn-stylekit-success-color)}.sn-component *.info-i{color:var(--sn-stylekit-info-color) !important}.sn-component *.warning-i{color:var(--sn-stylekit-warning-color) !important}.sn-component *.danger-i{color:var(--sn-stylekit-danger-color) !important}.sn-component *.success-i{color:var(--sn-stylekit-success-color) !important}.sn-component *.clear{background-color:transparent;border:none}.sn-component .center-text{text-align:center !important;justify-content:center !important}.sn-component p.sk-p{margin:0.5rem 0}.sn-component input.sk-input{box-sizing:border-box;padding:0.7rem 0.8rem;margin:0.30rem 0;border:none;font-size:var(--sn-stylekit-font-size-h3);width:100%;outline:0;resize:none}.sn-component input.sk-input.clear{color:var(--sn-stylekit-foreground-color);background-color:transparent;border:none}.sn-component input.sk-input.no-border{border:none}.sn-component .sk-label,.sn-component .sk-panel-section .sk-panel-section-subtitle{font-weight:bold}.sn-component .sk-label.no-bold,.sn-component .sk-panel-section .no-bold.sk-panel-section-subtitle{font-weight:normal}.sn-component label.sk-label,.sn-component .sk-panel-section label.sk-panel-section-subtitle{margin:0.7rem 0;display:block}.sn-component label.sk-label input[type='checkbox'],.sn-component .sk-panel-section label.sk-panel-section-subtitle input[type='checkbox'],.sn-component input[type='radio']{width:auto;margin-right:0.45rem;vertical-align:middle}.sn-component .sk-horizontal-group>*,.sn-component .sk-input-group>*{display:inline-block;vertical-align:middle}.sn-component .sk-horizontal-group>*:not(:first-child),.sn-component .sk-input-group>*:not(:first-child){margin-left:0.9rem}.sn-component .sk-border-bottom{border-bottom:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-checkbox-group{padding-top:0.5rem;padding-bottom:0.3rem}.sn-component ::placeholder{color:var(--sn-stylekit-input-placeholder-color)}.sn-component :-ms-input-placeholder{color:var(--sn-stylekit-input-placeholder-color)}.sn-component ::-ms-input-placeholder{color:var(--sn-stylekit-input-placeholder-color)}.sn-component .sk-button-group.stretch{display:flex;width:100%}.sn-component .sk-button-group.stretch .sk-button,.sn-component .sk-button-group.stretch .sk-box{display:block;flex-grow:1;text-align:center}.sn-component .sk-button-group .sk-button,.sn-component .sk-button-group .sk-box{display:inline-block;vertical-align:middle}.sn-component .sk-button-group .sk-button:not(:last-child),.sn-component .sk-button-group .sk-box:not(:last-child){margin-right:5px}.sn-component .sk-button-group .sk-button:not(:last-child).featured,.sn-component .sk-button-group .sk-box:not(:last-child).featured{margin-right:8px}.sn-component .sk-segmented-buttons{display:flex;flex-direction:row}.sn-component .sk-segmented-buttons .sk-button,.sn-component .sk-segmented-buttons .sk-box{border-radius:0;white-space:nowrap;margin:0;margin-left:0 !important;margin-right:0 !important}.sn-component .sk-segmented-buttons .sk-button:not(:last-child),.sn-component .sk-segmented-buttons .sk-box:not(:last-child){border-right:none;border-radius:0}.sn-component .sk-segmented-buttons .sk-button:first-child,.sn-component .sk-segmented-buttons .sk-box:first-child{border-top-left-radius:var(--sn-stylekit-general-border-radius);border-bottom-left-radius:var(--sn-stylekit-general-border-radius);border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.sn-component .sk-segmented-buttons .sk-button:last-child,.sn-component .sk-segmented-buttons .sk-box:last-child{border-top-right-radius:var(--sn-stylekit-general-border-radius);border-bottom-right-radius:var(--sn-stylekit-general-border-radius);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.sn-component .sk-box-group .sk-box{display:inline-block}.sn-component .sk-box-group .sk-box:not(:last-child){margin-right:5px}.sn-component .sk-a.button{text-decoration:none}.sn-component .sk-button,.sn-component .sk-box{display:table;padding:0.5rem 0.7rem;font-size:var(--sn-stylekit-font-size-h5);cursor:pointer;text-align:center;user-select:none}.sn-component .sk-button.no-hover-border:after,.sn-component .no-hover-border.sk-box:after{color:transparent !important}.sn-component .sk-button.wide,.sn-component .wide.sk-box{padding:0.3rem 1.7rem}.sn-component .sk-button>.sk-label,.sn-component .sk-box>.sk-label,.sn-component .sk-panel-section .sk-button>.sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-box>.sk-panel-section-subtitle{font-weight:bold;display:block;text-align:center}.sn-component .sk-button.big,.sn-component .big.sk-box{font-size:var(--sn-stylekit-font-size-h3);padding:0.7rem 2.5rem}.sn-component .sk-box{padding:2.5rem 1.5rem}.sn-component .sk-button.sk-base,.sn-component .sk-base.sk-box,.sn-component .sk-box.sk-base,.sn-component .sk-circle.sk-base{color:var(--sn-stylekit-foreground-color);position:relative;background-color:var(--sn-stylekit-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-background-color)}.sn-component .sk-button.sk-base *,.sn-component .sk-base.sk-box *,.sn-component .sk-box.sk-base *,.sn-component .sk-circle.sk-base *{position:relative}.sn-component .sk-button.sk-base:before,.sn-component .sk-base.sk-box:before,.sn-component .sk-box.sk-base:before,.sn-component .sk-circle.sk-base:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.sk-base:after,.sn-component .sk-base.sk-box:after,.sn-component .sk-box.sk-base:after,.sn-component .sk-circle.sk-base:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-background-color)}.sn-component .sk-button.sk-base:hover:before,.sn-component .sk-base.sk-box:hover:before,.sn-component .sk-box.sk-base:hover:before,.sn-component .sk-circle.sk-base:hover:before{filter:brightness(130%)}.sn-component .sk-button.sk-base.no-bg,.sn-component .sk-base.no-bg.sk-box,.sn-component .sk-box.sk-base.no-bg,.sn-component .sk-circle.sk-base.no-bg{background-color:transparent}.sn-component .sk-button.sk-base.no-bg:before,.sn-component .sk-base.no-bg.sk-box:before,.sn-component .sk-box.sk-base.no-bg:before,.sn-component .sk-circle.sk-base.no-bg:before{content:none}.sn-component .sk-button.sk-base.featured,.sn-component .sk-base.featured.sk-box,.sn-component .sk-box.sk-base.featured,.sn-component .sk-circle.sk-base.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.sk-base.featured:before,.sn-component .sk-base.featured.sk-box:before,.sn-component .sk-box.sk-base.featured:before,.sn-component .sk-circle.sk-base.featured:before{opacity:1.0}.sn-component .sk-button.contrast,.sn-component .contrast.sk-box,.sn-component .sk-box.contrast,.sn-component .sk-circle.contrast{color:var(--sn-stylekit-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-contrast-background-color)}.sn-component .sk-button.contrast *,.sn-component .contrast.sk-box *,.sn-component .sk-box.contrast *,.sn-component .sk-circle.contrast *{position:relative}.sn-component .sk-button.contrast:before,.sn-component .contrast.sk-box:before,.sn-component .sk-box.contrast:before,.sn-component .sk-circle.contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.contrast:after,.sn-component .contrast.sk-box:after,.sn-component .sk-box.contrast:after,.sn-component .sk-circle.contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-contrast-background-color)}.sn-component .sk-button.contrast:hover:before,.sn-component .contrast.sk-box:hover:before,.sn-component .sk-box.contrast:hover:before,.sn-component .sk-circle.contrast:hover:before{filter:brightness(130%)}.sn-component .sk-button.contrast.no-bg,.sn-component .contrast.no-bg.sk-box,.sn-component .sk-box.contrast.no-bg,.sn-component .sk-circle.contrast.no-bg{background-color:transparent}.sn-component .sk-button.contrast.no-bg:before,.sn-component .contrast.no-bg.sk-box:before,.sn-component .sk-box.contrast.no-bg:before,.sn-component .sk-circle.contrast.no-bg:before{content:none}.sn-component .sk-button.contrast.featured,.sn-component .contrast.featured.sk-box,.sn-component .sk-box.contrast.featured,.sn-component .sk-circle.contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.contrast.featured:before,.sn-component .contrast.featured.sk-box:before,.sn-component .sk-box.contrast.featured:before,.sn-component .sk-circle.contrast.featured:before{opacity:1.0}.sn-component .sk-button.sk-secondary,.sn-component .sk-secondary.sk-box,.sn-component .sk-box.sk-secondary,.sn-component .sk-circle.sk-secondary{color:var(--sn-stylekit-secondary-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-background-color)}.sn-component .sk-button.sk-secondary *,.sn-component .sk-secondary.sk-box *,.sn-component .sk-box.sk-secondary *,.sn-component .sk-circle.sk-secondary *{position:relative}.sn-component .sk-button.sk-secondary:before,.sn-component .sk-secondary.sk-box:before,.sn-component .sk-box.sk-secondary:before,.sn-component .sk-circle.sk-secondary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.sk-secondary:after,.sn-component .sk-secondary.sk-box:after,.sn-component .sk-box.sk-secondary:after,.sn-component .sk-circle.sk-secondary:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-secondary-background-color)}.sn-component .sk-button.sk-secondary:hover:before,.sn-component .sk-secondary.sk-box:hover:before,.sn-component .sk-box.sk-secondary:hover:before,.sn-component .sk-circle.sk-secondary:hover:before{filter:brightness(130%)}.sn-component .sk-button.sk-secondary.no-bg,.sn-component .sk-secondary.no-bg.sk-box,.sn-component .sk-box.sk-secondary.no-bg,.sn-component .sk-circle.sk-secondary.no-bg{background-color:transparent}.sn-component .sk-button.sk-secondary.no-bg:before,.sn-component .sk-secondary.no-bg.sk-box:before,.sn-component .sk-box.sk-secondary.no-bg:before,.sn-component .sk-circle.sk-secondary.no-bg:before{content:none}.sn-component .sk-button.sk-secondary.featured,.sn-component .sk-secondary.featured.sk-box,.sn-component .sk-box.sk-secondary.featured,.sn-component .sk-circle.sk-secondary.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.sk-secondary.featured:before,.sn-component .sk-secondary.featured.sk-box:before,.sn-component .sk-box.sk-secondary.featured:before,.sn-component .sk-circle.sk-secondary.featured:before{opacity:1.0}.sn-component .sk-button.sk-secondary-contrast,.sn-component .sk-secondary-contrast.sk-box,.sn-component .sk-box.sk-secondary-contrast,.sn-component .sk-circle.sk-secondary-contrast{color:var(--sn-stylekit-secondary-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-contrast-background-color)}.sn-component .sk-button.sk-secondary-contrast *,.sn-component .sk-secondary-contrast.sk-box *,.sn-component .sk-box.sk-secondary-contrast *,.sn-component .sk-circle.sk-secondary-contrast *{position:relative}.sn-component .sk-button.sk-secondary-contrast:before,.sn-component .sk-secondary-contrast.sk-box:before,.sn-component .sk-box.sk-secondary-contrast:before,.sn-component .sk-circle.sk-secondary-contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.sk-secondary-contrast:after,.sn-component .sk-secondary-contrast.sk-box:after,.sn-component .sk-box.sk-secondary-contrast:after,.sn-component .sk-circle.sk-secondary-contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-secondary-contrast-background-color)}.sn-component .sk-button.sk-secondary-contrast:hover:before,.sn-component .sk-secondary-contrast.sk-box:hover:before,.sn-component .sk-box.sk-secondary-contrast:hover:before,.sn-component .sk-circle.sk-secondary-contrast:hover:before{filter:brightness(130%)}.sn-component .sk-button.sk-secondary-contrast.no-bg,.sn-component .sk-secondary-contrast.no-bg.sk-box,.sn-component .sk-box.sk-secondary-contrast.no-bg,.sn-component .sk-circle.sk-secondary-contrast.no-bg{background-color:transparent}.sn-component .sk-button.sk-secondary-contrast.no-bg:before,.sn-component .sk-secondary-contrast.no-bg.sk-box:before,.sn-component .sk-box.sk-secondary-contrast.no-bg:before,.sn-component .sk-circle.sk-secondary-contrast.no-bg:before{content:none}.sn-component .sk-button.sk-secondary-contrast.featured,.sn-component .sk-secondary-contrast.featured.sk-box,.sn-component .sk-box.sk-secondary-contrast.featured,.sn-component .sk-circle.sk-secondary-contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.sk-secondary-contrast.featured:before,.sn-component .sk-secondary-contrast.featured.sk-box:before,.sn-component .sk-box.sk-secondary-contrast.featured:before,.sn-component .sk-circle.sk-secondary-contrast.featured:before{opacity:1.0}.sn-component .sk-button.neutral,.sn-component .neutral.sk-box,.sn-component .sk-box.neutral,.sn-component .sk-circle.neutral{color:var(--sn-stylekit-neutral-contrast-color);position:relative;background-color:var(--sn-stylekit-neutral-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-neutral-color)}.sn-component .sk-button.neutral *,.sn-component .neutral.sk-box *,.sn-component .sk-box.neutral *,.sn-component .sk-circle.neutral *{position:relative}.sn-component .sk-button.neutral:before,.sn-component .neutral.sk-box:before,.sn-component .sk-box.neutral:before,.sn-component .sk-circle.neutral:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-neutral-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.neutral:after,.sn-component .neutral.sk-box:after,.sn-component .sk-box.neutral:after,.sn-component .sk-circle.neutral:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-neutral-color)}.sn-component .sk-button.neutral:hover:before,.sn-component .neutral.sk-box:hover:before,.sn-component .sk-box.neutral:hover:before,.sn-component .sk-circle.neutral:hover:before{filter:brightness(130%)}.sn-component .sk-button.neutral.no-bg,.sn-component .neutral.no-bg.sk-box,.sn-component .sk-box.neutral.no-bg,.sn-component .sk-circle.neutral.no-bg{background-color:transparent}.sn-component .sk-button.neutral.no-bg:before,.sn-component .neutral.no-bg.sk-box:before,.sn-component .sk-box.neutral.no-bg:before,.sn-component .sk-circle.neutral.no-bg:before{content:none}.sn-component .sk-button.neutral.featured,.sn-component .neutral.featured.sk-box,.sn-component .sk-box.neutral.featured,.sn-component .sk-circle.neutral.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.neutral.featured:before,.sn-component .neutral.featured.sk-box:before,.sn-component .sk-box.neutral.featured:before,.sn-component .sk-circle.neutral.featured:before{opacity:1.0}.sn-component .sk-button.info,.sn-component .info.sk-box,.sn-component .sk-box.info,.sn-component .sk-circle.info{color:var(--sn-stylekit-info-contrast-color);position:relative;background-color:var(--sn-stylekit-info-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-info-color)}.sn-component .sk-button.info *,.sn-component .info.sk-box *,.sn-component .sk-box.info *,.sn-component .sk-circle.info *{position:relative}.sn-component .sk-button.info:before,.sn-component .info.sk-box:before,.sn-component .sk-box.info:before,.sn-component .sk-circle.info:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-info-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.info:after,.sn-component .info.sk-box:after,.sn-component .sk-box.info:after,.sn-component .sk-circle.info:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-info-color)}.sn-component .sk-button.info:hover:before,.sn-component #filesafe-embed .files-view .files .file-item-button.selected:before,#filesafe-embed .files-view .files .sn-component .file-item-button.selected:before,.sn-component .info.sk-box:hover:before,.sn-component .sk-box.info:hover:before,.sn-component .sk-circle.info:hover:before{filter:brightness(130%)}.sn-component .sk-button.info.no-bg,.sn-component .info.no-bg.sk-box,.sn-component .sk-box.info.no-bg,.sn-component .sk-circle.info.no-bg{background-color:transparent}.sn-component .sk-button.info.no-bg:before,.sn-component .info.no-bg.sk-box:before,.sn-component .sk-box.info.no-bg:before,.sn-component .sk-circle.info.no-bg:before{content:none}.sn-component .sk-button.info.featured,.sn-component .info.featured.sk-box,.sn-component .sk-box.info.featured,.sn-component .sk-circle.info.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.info.featured:before,.sn-component .info.featured.sk-box:before,.sn-component .sk-box.info.featured:before,.sn-component .sk-circle.info.featured:before{opacity:1.0}.sn-component .sk-button.warning,.sn-component .warning.sk-box,.sn-component .sk-box.warning,.sn-component .sk-circle.warning{color:var(--sn-stylekit-warning-contrast-color);position:relative;background-color:var(--sn-stylekit-warning-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-warning-color)}.sn-component .sk-button.warning *,.sn-component .warning.sk-box *,.sn-component .sk-box.warning *,.sn-component .sk-circle.warning *{position:relative}.sn-component .sk-button.warning:before,.sn-component .warning.sk-box:before,.sn-component .sk-box.warning:before,.sn-component .sk-circle.warning:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-warning-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.warning:after,.sn-component .warning.sk-box:after,.sn-component .sk-box.warning:after,.sn-component .sk-circle.warning:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-warning-color)}.sn-component .sk-button.warning:hover:before,.sn-component .warning.sk-box:hover:before,.sn-component .sk-box.warning:hover:before,.sn-component .sk-circle.warning:hover:before{filter:brightness(130%)}.sn-component .sk-button.warning.no-bg,.sn-component .warning.no-bg.sk-box,.sn-component .sk-box.warning.no-bg,.sn-component .sk-circle.warning.no-bg{background-color:transparent}.sn-component .sk-button.warning.no-bg:before,.sn-component .warning.no-bg.sk-box:before,.sn-component .sk-box.warning.no-bg:before,.sn-component .sk-circle.warning.no-bg:before{content:none}.sn-component .sk-button.warning.featured,.sn-component .warning.featured.sk-box,.sn-component .sk-box.warning.featured,.sn-component .sk-circle.warning.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.warning.featured:before,.sn-component .warning.featured.sk-box:before,.sn-component .sk-box.warning.featured:before,.sn-component .sk-circle.warning.featured:before{opacity:1.0}.sn-component .sk-button.danger,.sn-component .danger.sk-box,.sn-component .sk-box.danger,.sn-component .sk-circle.danger{color:var(--sn-stylekit-danger-contrast-color);position:relative;background-color:var(--sn-stylekit-danger-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-danger-color)}.sn-component .sk-button.danger *,.sn-component .danger.sk-box *,.sn-component .sk-box.danger *,.sn-component .sk-circle.danger *{position:relative}.sn-component .sk-button.danger:before,.sn-component .danger.sk-box:before,.sn-component .sk-box.danger:before,.sn-component .sk-circle.danger:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-danger-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.danger:after,.sn-component .danger.sk-box:after,.sn-component .sk-box.danger:after,.sn-component .sk-circle.danger:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-danger-color)}.sn-component .sk-button.danger:hover:before,.sn-component .danger.sk-box:hover:before,.sn-component .sk-box.danger:hover:before,.sn-component .sk-circle.danger:hover:before{filter:brightness(130%)}.sn-component .sk-button.danger.no-bg,.sn-component .danger.no-bg.sk-box,.sn-component .sk-box.danger.no-bg,.sn-component .sk-circle.danger.no-bg{background-color:transparent}.sn-component .sk-button.danger.no-bg:before,.sn-component .danger.no-bg.sk-box:before,.sn-component .sk-box.danger.no-bg:before,.sn-component .sk-circle.danger.no-bg:before{content:none}.sn-component .sk-button.danger.featured,.sn-component .danger.featured.sk-box,.sn-component .sk-box.danger.featured,.sn-component .sk-circle.danger.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.danger.featured:before,.sn-component .danger.featured.sk-box:before,.sn-component .sk-box.danger.featured:before,.sn-component .sk-circle.danger.featured:before{opacity:1.0}.sn-component .sk-button.success,.sn-component .success.sk-box,.sn-component .sk-box.success,.sn-component .sk-circle.success{color:var(--sn-stylekit-success-contrast-color);position:relative;background-color:var(--sn-stylekit-success-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-success-color)}.sn-component .sk-button.success *,.sn-component .success.sk-box *,.sn-component .sk-box.success *,.sn-component .sk-circle.success *{position:relative}.sn-component .sk-button.success:before,.sn-component .success.sk-box:before,.sn-component .sk-box.success:before,.sn-component .sk-circle.success:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-success-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.success:after,.sn-component .success.sk-box:after,.sn-component .sk-box.success:after,.sn-component .sk-circle.success:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-success-color)}.sn-component .sk-button.success:hover:before,.sn-component .success.sk-box:hover:before,.sn-component .sk-box.success:hover:before,.sn-component .sk-circle.success:hover:before{filter:brightness(130%)}.sn-component .sk-button.success.no-bg,.sn-component .success.no-bg.sk-box,.sn-component .sk-box.success.no-bg,.sn-component .sk-circle.success.no-bg{background-color:transparent}.sn-component .sk-button.success.no-bg:before,.sn-component .success.no-bg.sk-box:before,.sn-component .sk-box.success.no-bg:before,.sn-component .sk-circle.success.no-bg:before{content:none}.sn-component .sk-button.success.featured,.sn-component .success.featured.sk-box,.sn-component .sk-box.success.featured,.sn-component .sk-circle.success.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.success.featured:before,.sn-component .success.featured.sk-box:before,.sn-component .sk-box.success.featured:before,.sn-component .sk-circle.success.featured:before{opacity:1.0}.sn-component .sk-notification.contrast,.sn-component .sk-input.contrast{color:var(--sn-stylekit-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-contrast-border-color);border:1px solid var(--sn-stylekit-contrast-border-color)}.sn-component .sk-notification.contrast *,.sn-component .sk-input.contrast *{position:relative}.sn-component .sk-notification.contrast:before,.sn-component .sk-input.contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.contrast:after,.sn-component .sk-input.contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-contrast-border-color);border-color:var(--sn-stylekit-contrast-border-color)}.sn-component .sk-notification.contrast.no-bg,.sn-component .sk-input.contrast.no-bg{background-color:transparent}.sn-component .sk-notification.contrast.no-bg:before,.sn-component .sk-input.contrast.no-bg:before{content:none}.sn-component .sk-notification.contrast.featured,.sn-component .sk-input.contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.contrast.featured:before,.sn-component .sk-input.contrast.featured:before{opacity:1.0}.sn-component .sk-notification.sk-secondary,.sn-component .sk-input.sk-secondary{color:var(--sn-stylekit-secondary-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-border-color);border:1px solid var(--sn-stylekit-secondary-border-color)}.sn-component .sk-notification.sk-secondary *,.sn-component .sk-input.sk-secondary *{position:relative}.sn-component .sk-notification.sk-secondary:before,.sn-component .sk-input.sk-secondary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.sk-secondary:after,.sn-component .sk-input.sk-secondary:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-secondary-border-color);border-color:var(--sn-stylekit-secondary-border-color)}.sn-component .sk-notification.sk-secondary.no-bg,.sn-component .sk-input.sk-secondary.no-bg{background-color:transparent}.sn-component .sk-notification.sk-secondary.no-bg:before,.sn-component .sk-input.sk-secondary.no-bg:before{content:none}.sn-component .sk-notification.sk-secondary.featured,.sn-component .sk-input.sk-secondary.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.sk-secondary.featured:before,.sn-component .sk-input.sk-secondary.featured:before{opacity:1.0}.sn-component .sk-notification.sk-secondary-contrast,.sn-component .sk-input.sk-secondary-contrast{color:var(--sn-stylekit-secondary-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-contrast-border-color);border:1px solid var(--sn-stylekit-secondary-contrast-border-color)}.sn-component .sk-notification.sk-secondary-contrast *,.sn-component .sk-input.sk-secondary-contrast *{position:relative}.sn-component .sk-notification.sk-secondary-contrast:before,.sn-component .sk-input.sk-secondary-contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.sk-secondary-contrast:after,.sn-component .sk-input.sk-secondary-contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-secondary-contrast-border-color);border-color:var(--sn-stylekit-secondary-contrast-border-color)}.sn-component .sk-notification.sk-secondary-contrast.no-bg,.sn-component .sk-input.sk-secondary-contrast.no-bg{background-color:transparent}.sn-component .sk-notification.sk-secondary-contrast.no-bg:before,.sn-component .sk-input.sk-secondary-contrast.no-bg:before{content:none}.sn-component .sk-notification.sk-secondary-contrast.featured,.sn-component .sk-input.sk-secondary-contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.sk-secondary-contrast.featured:before,.sn-component .sk-input.sk-secondary-contrast.featured:before{opacity:1.0}.sn-component .sk-notification.sk-base,.sn-component .sk-input.sk-base{color:var(--sn-stylekit-foreground-color);position:relative;background-color:var(--sn-stylekit-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-border-color);border:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-notification.sk-base *,.sn-component .sk-input.sk-base *{position:relative}.sn-component .sk-notification.sk-base:before,.sn-component .sk-input.sk-base:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.sk-base:after,.sn-component .sk-input.sk-base:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-border-color);border-color:var(--sn-stylekit-border-color)}.sn-component .sk-notification.sk-base.no-bg,.sn-component .sk-input.sk-base.no-bg{background-color:transparent}.sn-component .sk-notification.sk-base.no-bg:before,.sn-component .sk-input.sk-base.no-bg:before{content:none}.sn-component .sk-notification.sk-base.featured,.sn-component .sk-input.sk-base.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.sk-base.featured:before,.sn-component .sk-input.sk-base.featured:before{opacity:1.0}.sn-component .sk-notification.neutral,.sn-component .sk-input.neutral{color:var(--sn-stylekit-neutral-contrast-color);position:relative;background-color:var(--sn-stylekit-neutral-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-neutral-color)}.sn-component .sk-notification.neutral *,.sn-component .sk-input.neutral *{position:relative}.sn-component .sk-notification.neutral:before,.sn-component .sk-input.neutral:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-neutral-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.neutral:after,.sn-component .sk-input.neutral:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-neutral-color)}.sn-component .sk-notification.neutral.no-bg,.sn-component .sk-input.neutral.no-bg{background-color:transparent}.sn-component .sk-notification.neutral.no-bg:before,.sn-component .sk-input.neutral.no-bg:before{content:none}.sn-component .sk-notification.neutral.featured,.sn-component .sk-input.neutral.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.neutral.featured:before,.sn-component .sk-input.neutral.featured:before{opacity:1.0}.sn-component .sk-notification.info,.sn-component .sk-input.info{color:var(--sn-stylekit-info-contrast-color);position:relative;background-color:var(--sn-stylekit-info-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-info-color)}.sn-component .sk-notification.info *,.sn-component .sk-input.info *{position:relative}.sn-component .sk-notification.info:before,.sn-component .sk-input.info:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-info-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.info:after,.sn-component .sk-input.info:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-info-color)}.sn-component .sk-notification.info.no-bg,.sn-component .sk-input.info.no-bg{background-color:transparent}.sn-component .sk-notification.info.no-bg:before,.sn-component .sk-input.info.no-bg:before{content:none}.sn-component .sk-notification.info.featured,.sn-component .sk-input.info.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.info.featured:before,.sn-component .sk-input.info.featured:before{opacity:1.0}.sn-component .sk-notification.warning,.sn-component .sk-input.warning{color:var(--sn-stylekit-warning-contrast-color);position:relative;background-color:var(--sn-stylekit-warning-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-warning-color)}.sn-component .sk-notification.warning *,.sn-component .sk-input.warning *{position:relative}.sn-component .sk-notification.warning:before,.sn-component .sk-input.warning:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-warning-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.warning:after,.sn-component .sk-input.warning:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-warning-color)}.sn-component .sk-notification.warning.no-bg,.sn-component .sk-input.warning.no-bg{background-color:transparent}.sn-component .sk-notification.warning.no-bg:before,.sn-component .sk-input.warning.no-bg:before{content:none}.sn-component .sk-notification.warning.featured,.sn-component .sk-input.warning.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.warning.featured:before,.sn-component .sk-input.warning.featured:before{opacity:1.0}.sn-component .sk-notification.danger,.sn-component .sk-input.danger{color:var(--sn-stylekit-danger-contrast-color);position:relative;background-color:var(--sn-stylekit-danger-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-danger-color)}.sn-component .sk-notification.danger *,.sn-component .sk-input.danger *{position:relative}.sn-component .sk-notification.danger:before,.sn-component .sk-input.danger:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-danger-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.danger:after,.sn-component .sk-input.danger:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-danger-color)}.sn-component .sk-notification.danger.no-bg,.sn-component .sk-input.danger.no-bg{background-color:transparent}.sn-component .sk-notification.danger.no-bg:before,.sn-component .sk-input.danger.no-bg:before{content:none}.sn-component .sk-notification.danger.featured,.sn-component .sk-input.danger.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.danger.featured:before,.sn-component .sk-input.danger.featured:before{opacity:1.0}.sn-component .sk-notification.success,.sn-component .sk-input.success{color:var(--sn-stylekit-success-contrast-color);position:relative;background-color:var(--sn-stylekit-success-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-success-color)}.sn-component .sk-notification.success *,.sn-component .sk-input.success *{position:relative}.sn-component .sk-notification.success:before,.sn-component .sk-input.success:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-success-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.success:after,.sn-component .sk-input.success:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-success-color)}.sn-component .sk-notification.success.no-bg,.sn-component .sk-input.success.no-bg{background-color:transparent}.sn-component .sk-notification.success.no-bg:before,.sn-component .sk-input.success.no-bg:before{content:none}.sn-component .sk-notification.success.featured,.sn-component .sk-input.success.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.success.featured:before,.sn-component .sk-input.success.featured:before{opacity:1.0}.sn-component .sk-notification{padding:1.1rem 1rem;margin:1.4rem 0;text-align:left;cursor:default}.sn-component .sk-notification.one-line{padding:0rem 0.4rem}.sn-component .sk-notification.stretch{width:100%}.sn-component .sk-notification.dashed{border-style:dashed;border-width:2px}.sn-component .sk-notification.dashed:after{box-shadow:none}.sn-component .sk-notification .sk-notification-title{font-size:var(--sn-stylekit-font-size-h1);font-weight:bold;line-height:1.9rem}.sn-component .sk-notification .sk-notification-text{line-height:1.5rem;font-size:var(--sn-stylekit-font-size-p);text-align:left;font-weight:normal}.sn-component .sk-circle{border:1px solid;cursor:pointer;border-color:var(--sn-stylekit-contrast-foreground-color);background-color:var(--sn-stylekit-contrast-background-color);padding:0;border-radius:50% !important;flex-shrink:0}.sn-component .sk-circle:before{border-radius:50% !important}.sn-component .sk-circle:after{border-radius:50% !important}.sn-component .sk-circle.small{width:11px;height:11px}.sn-component .sk-spinner{border:1px solid var(--sn-stylekit-neutral-color);border-radius:50%;animation:rotate 0.8s infinite linear;border-right-color:transparent}.sn-component .sk-spinner.small{width:12px;height:12px}.sn-component .sk-spinner.info-contrast{border-color:var(--sn-stylekit-info-contrast-color);border-right-color:transparent}.sn-component .sk-spinner.info{border-color:var(--sn-stylekit-info-color);border-right-color:transparent}.sn-component .sk-spinner.warning{border-color:var(--sn-stylekit-warning-color);border-right-color:transparent}.sn-component .sk-spinner.danger{border-color:var(--sn-stylekit-danger-color);border-right-color:transparent}.sn-component .sk-spinner.success{border-color:var(--sn-stylekit-success-color);border-right-color:transparent}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.sn-component .sk-app-bar{display:flex;width:100%;height:2rem;padding:0.0rem 0.8rem;background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);justify-content:space-between;align-items:center;border:1px solid var(--sn-stylekit-contrast-border-color);user-select:none}.sn-component .sk-app-bar.no-edges{border-left:0;border-right:0}.sn-component .sk-app-bar.no-bottom-edge{border-bottom:0}.sn-component .sk-app-bar .left,.sn-component .sk-app-bar .right{display:flex;height:100%}.sn-component .sk-app-bar .sk-app-bar-item{flex-grow:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sn-component .sk-app-bar .sk-app-bar-item:not(:first-child){margin-left:1rem}.sn-component .sk-app-bar .sk-app-bar-item.border{border-left:1px solid var(--sn-stylekit-contrast-border-color)}.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column{height:100%;display:flex;align-items:center}.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column:not(:first-child){margin-left:0.5rem}.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column.underline{border-bottom:2px solid var(--sn-stylekit-info-color)}.sn-component .sk-app-bar .sk-app-bar-item.no-pointer{cursor:default}.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-label:not(.subtle),.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item:hover>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item:hover>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-sublabel:not(.subtle),.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-label:not(.subtle),.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-sublabel:not(.subtle){color:var(--sn-stylekit-info-color)}.sn-component .sk-app-bar .sk-app-bar-item>.sk-label,.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item>.sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item>.sk-panel-section-subtitle,.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column>.sk-label,.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item>.sk-app-bar-item-column>.sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column>.sk-panel-section-subtitle{font-weight:bold;font-size:var(--sn-stylekit-font-size-h5);white-space:nowrap}.sn-component .sk-app-bar .sk-app-bar-item>.sk-sublabel,.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column>.sk-sublabel{font-size:var(--sn-stylekit-font-size-h5);font-weight:normal;white-space:nowrap}.sn-component .sk-app-bar .sk-app-bar-item .subtle{font-weight:normal;opacity:0.6}.sn-component .sk-panel-table{display:flex;flex-wrap:wrap;padding-left:1px;padding-top:1px}.sn-component .sk-panel-table .sk-panel-table-item{flex:45%;flex-flow:wrap;border:1px solid var(--sn-stylekit-border-color);padding:1rem;margin-left:-1px;margin-top:-1px;display:flex;flex-direction:column;justify-content:space-between}.sn-component .sk-panel-table .sk-panel-table-item img{max-width:100%;margin-bottom:1rem}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-content{display:flex;flex-direction:row}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column{align-items:center}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column.stretch{width:100%}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column:not(:first-child){padding-left:0.75rem}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column.quarter{flex-basis:25%}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column.three-quarters{flex-basis:75%}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-footer{margin-top:1.25rem}.sn-component .sk-panel-table .sk-panel-table-item.no-border{border:none}.sn-component .sk-modal{position:fixed;margin-left:auto;margin-right:auto;left:0;right:0;top:0;bottom:0;z-index:10000;width:100vw;height:100vh;background-color:transparent;color:var(--sn-stylekit-contrast-foreground-color);display:flex;align-items:center;justify-content:center}.sn-component .sk-modal .sn-component{height:100%}.sn-component .sk-modal .sn-component .sk-panel{height:100%}.sn-component .sk-modal.auto-height>.sk-modal-content{height:auto !important}.sn-component .sk-modal.large>.sk-modal-content{width:900px;height:600px}.sn-component .sk-modal.medium>.sk-modal-content{width:700px;height:500px}.sn-component .sk-modal.small>.sk-modal-content{width:700px;height:344px}.sn-component .sk-modal .sk-modal-background{position:absolute;z-index:-1;width:100%;height:100%;background-color:var(--sn-stylekit-contrast-background-color);opacity:0.7}.sn-component .sk-modal>.sk-modal-content{overflow-y:auto;width:auto;padding:0;padding-bottom:0;min-width:300px;-webkit-box-shadow:0px 2px 35px 0px rgba(0,0,0,0.19);-moz-box-shadow:0px 2px 35px 0px rgba(0,0,0,0.19);box-shadow:0px 2px 35px 0px rgba(0,0,0,0.19)}.sn-component.no-select{user-select:none}input,textarea,[contenteditable]{caret-color:var(--sn-stylekit-editor-foreground-color)}.windows-web ::-webkit-scrollbar,.windows-desktop ::-webkit-scrollbar,.linux-web ::-webkit-scrollbar,.linux-desktop ::-webkit-scrollbar{width:17px;height:18px;border-left:0.5px solid var(--sn-stylekit-scrollbar-track-border-color-color)}.windows-web ::-webkit-scrollbar-thumb,.windows-desktop ::-webkit-scrollbar-thumb,.linux-web ::-webkit-scrollbar-thumb,.linux-desktop ::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;-webkit-border-radius:10px;background-color:var(--sn-stylekit-scrollbar-thumb-color);-webkit-box-shadow:inset -1px -1px 0px rgba(0,0,0,0.05),inset 1px 1px 0px rgba(0,0,0,0.05)}.windows-web ::-webkit-scrollbar-button,.windows-desktop ::-webkit-scrollbar-button,.linux-web ::-webkit-scrollbar-button,.linux-desktop ::-webkit-scrollbar-button{width:0;height:0;display:none}.windows-web ::-webkit-scrollbar-corner,.windows-desktop ::-webkit-scrollbar-corner,.linux-web ::-webkit-scrollbar-corner,.linux-desktop ::-webkit-scrollbar-corner{background-color:transparent}#filesafe-embed{font-size:var(--sn-stylekit-base-font-size);line-height:1}#filesafe-embed.highlight #home{border:2px dashed var(--sn-stylekit-info-color)}#filesafe-embed a{cursor:pointer}#filesafe-embed .sn-component{font-size:var(--sn-stylekit-base-font-size) !important;user-select:auto !important}#filesafe-embed .sn-component .sk-panel .sk-panel-content{padding-top:6px !important;height:inherit !important}#filesafe-embed .sn-component .sk-panel .sk-panel-content p{color:inherit}#filesafe-embed .sn-component .sk-panel-section:first-child{padding-bottom:1.3rem;margin-bottom:0 !important}#filesafe-embed .sn-component .sk-panel-section:not(:first-child){padding-top:0.7rem;padding-bottom:1.3rem;margin-bottom:0 !important}#filesafe-embed .sn-component .sk-button-group .sk-button{vertical-align:middle}#filesafe-embed .sn-component .sk-button.no-border{border:none}#filesafe-embed .sn-component .sk-button{user-select:none}#filesafe-embed .sn-component .sk-horizontal-group.top>*{vertical-align:top}#filesafe-embed .sn-component .sk-horizontal-group.top .sk-panel-row:first-child{padding-top:0}#filesafe-embed .sn-component .sk-horizontal-group .sk-panel-section-title{margin-bottom:0}#filesafe-embed .sn-component .sk-circle.x-small,#filesafe-embed .sn-component .sk-spinner.x-small{width:7px;height:7px}#filesafe-embed .sn-component label.no-style{margin:0;font-size:inherit}#filesafe-embed .bold{font-weight:bold}#filesafe-embed .faded{opacity:0.5}#filesafe-embed .list-container{margin-top:10px}#filesafe-embed .list-container .list-item .sk-circle{margin-top:2px}#filesafe-embed .list-container .list-item:not(:last-child){margin-bottom:12px}#filesafe-embed #messages-container{width:100%;margin-bottom:14px !important}#filesafe-embed #messages{width:100%}#filesafe-embed #messages .title{font-weight:bold;font-size:var(--sn-stylekit-font-size-h4);margin-bottom:12px}#filesafe-embed #messages ul{margin:0;margin-top:6px;padding-left:0px;list-style-position:inside}#filesafe-embed #messages ul li{line-height:1.4;font-weight:500}#filesafe-embed #messages ul li:not(last-child){margin-bottom:5px}#filesafe-embed #attach-file-button-label{color:var(--sn-stylekit-info-contrast-color)}#filesafe-embed .files-view{margin-top:3px}#filesafe-embed .files-view #add-file-button-container{margin-right:18px;margin-bottom:8px}#filesafe-embed .files-view #file-upload-status{margin-right:30px;margin-bottom:18px;padding-top:4px}#filesafe-embed .files-view .file-download-status{margin-top:10px;margin-bottom:0px}#filesafe-embed .files-view .file-download-status .sk-spinner{border-color:var(--sn-stylekit-info-contrast-color);border-right-color:transparent}#filesafe-embed .files-view .file-download-status .file-status-label{font-weight:bold;margin-left:0.5rem}#filesafe-embed .files-view .segmented-buttons{margin-right:10px}#filesafe-embed .files-view .files{display:flex;flex-direction:row;flex-wrap:wrap}#filesafe-embed .files-view .files .sk-button{white-space:normal;word-break:break-all}#filesafe-embed .files-view .files .file-item-container{margin-right:5px}#filesafe-embed .files-view .files .file-item-container.expanded{flex-wrap:wrap;margin-bottom:10px}#filesafe-embed .files-view .files .file-item-button{border:none;margin-right:5px}#filesafe-embed .files-view .files .file-item-button:not(.selected){margin-bottom:10px}#filesafe-embed .files-view .files .file-item-button.selected{margin-right:0px;padding:12px;border-radius:3px}#filesafe-embed .files-view .files .file-item-options-wrapper{display:inline-block}#filesafe-embed .files-view .files .file-item-options-wrapper .file-location{opacity:0.7;font-size:0.7rem;margin-top:9px}#filesafe-embed .files-view .files .sk-app-bar.file-item-options{width:fit-content;display:flex;flex-direction:row;margin-top:10px;margin-bottom:0px;margin-left:auto;margin-right:auto;padding:0 1rem}#filesafe-embed .files-view .files .sk-app-bar.file-item-options .center{display:flex;height:100%;margin-left:auto;margin-right:auto}#filesafe-embed .files-view .files .sk-app-bar.file-item-options .disabled{opacity:0.5}#filesafe-embed .files-view .files .sk-app-bar.file-item-options .sk-button{border-radius:0} +:root{--sn-stylekit-base-font-size: 13px;--sn-stylekit-font-size-p: 1.0rem;--sn-stylekit-font-size-editor: 1.21rem;--sn-stylekit-font-size-h6: 0.8rem;--sn-stylekit-font-size-h5: 0.9rem;--sn-stylekit-font-size-h4: 1.0rem;--sn-stylekit-font-size-h3: 1.1rem;--sn-stylekit-font-size-h2: 1.2rem;--sn-stylekit-font-size-h1: 1.3rem;--sn-stylekit-neutral-color: #989898;--sn-stylekit-neutral-contrast-color: white;--sn-stylekit-info-color: #086DD6;--sn-stylekit-info-contrast-color: white;--sn-stylekit-success-color: #2B9612;--sn-stylekit-success-contrast-color: white;--sn-stylekit-warning-color: #f6a200;--sn-stylekit-warning-contrast-color: white;--sn-stylekit-danger-color: #F80324;--sn-stylekit-danger-contrast-color: white;--sn-stylekit-shadow-color: #C8C8C8;--sn-stylekit-background-color: white;--sn-stylekit-border-color: #e3e3e3;--sn-stylekit-foreground-color: black;--sn-stylekit-contrast-background-color: #F6F6F6;--sn-stylekit-contrast-foreground-color: #2e2e2e;--sn-stylekit-contrast-border-color: #e3e3e3;--sn-stylekit-secondary-background-color: #F6F6F6;--sn-stylekit-secondary-foreground-color: #2e2e2e;--sn-stylekit-secondary-border-color: #e3e3e3;--sn-stylekit-secondary-contrast-background-color: #e3e3e3;--sn-stylekit-secondary-contrast-foreground-color: #2e2e2e;--sn-styleki--secondary-contrast-border-color: #a2a2a2;--sn-stylekit-editor-background-color: var(--sn-stylekit-background-color);--sn-stylekit-editor-foreground-color: var(--sn-stylekit-foreground-color);--sn-stylekit-paragraph-text-color: #454545;--sn-stylekit-input-placeholder-color: rgb(168, 168, 168);--sn-stylekit-input-border-color: #e3e3e3;--sn-stylekit-scrollbar-thumb-color: #dfdfdf;--sn-stylekit-scrollbar-track-border-color: #E7E7E7;--sn-stylekit-general-border-radius: 2px;--sn-stylekit-simplified-chinese-font: "Microsoft Yahei", "微软雅黑体";--sn-stylekit-monospace-font: "Ubuntu Mono", courier, monospace;--sn-stylekit-sans-serif-font: -apple-system, BlinkMacSystemFont, "Segoe UI", + "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", + "Helvetica Neue", var(--sn-stylekit-simplified-chinese-font), sans-serif}.sn-component{font-family:var(--sn-stylekit-sans-serif-font);-webkit-font-smoothing:antialiased;color:var(--sn-stylekit-foreground-color)}.sn-component .sk-panel{box-shadow:0px 2px 5px var(--sn-stylekit-shadow-color);background-color:var(--sn-stylekit-background-color);border:1px solid var(--sn-stylekit-border-color);border-radius:var(--sn-stylekit-general-border-radius);display:flex;flex-direction:column;overflow:auto;flex-grow:1}.sn-component .sk-panel a:hover{text-decoration:underline}.sn-component .sk-panel.static{box-shadow:none;border:none;border-radius:0}.sn-component .sk-panel .sk-panel-header{flex-shrink:0;display:flex;justify-content:space-between;padding:1.1rem 2rem;border-bottom:1px solid var(--sn-stylekit-contrast-border-color);background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);align-items:center}.sn-component .sk-panel .sk-panel-header .sk-panel-header-title{font-size:var(--sn-stylekit-font-size-h1);font-weight:500}.sn-component .sk-panel .sk-panel-header .close-button{font-weight:bold}.sn-component .sk-panel .sk-footer,.sn-component .sk-panel .sk-panel-footer{padding:1rem 2rem;border-top:1px solid var(--sn-stylekit-border-color);box-sizing:border-box}.sn-component .sk-panel .sk-footer.extra-padding,.sn-component .sk-panel .sk-panel-footer.extra-padding{padding:2rem 2rem}.sn-component .sk-panel .sk-footer .left,.sn-component .sk-panel .sk-panel-footer .left{text-align:left;display:block}.sn-component .sk-panel .sk-footer .right,.sn-component .sk-panel .sk-panel-footer .right{text-align:right;display:block}.sn-component .sk-panel .sk-panel-content{padding:1.6rem 2rem;padding-bottom:0;flex-grow:1;overflow:scroll;height:100%;overflow-y:auto !important;overflow-x:auto !important}.sn-component .sk-panel .sk-panel-content .sk-p,.sn-component .sk-panel .sk-panel-content .sk-li{color:var(--sn-stylekit-paragraph-text-color);line-height:1.3}.sn-component .sk-panel-section{padding-bottom:1.6rem;display:flex;flex-direction:column}.sn-component .sk-panel-section.sk-panel-hero{text-align:center}.sn-component .sk-panel-section .sk-p:last-child{margin-bottom:0}.sn-component .sk-panel-section:not(:last-child){margin-bottom:1.5rem;border-bottom:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-panel-section:not(:last-child).no-border{border-bottom:none}.sn-component .sk-panel-section:last-child{margin-bottom:0.5rem}.sn-component .sk-panel-section.no-bottom-pad{padding-bottom:0;margin-bottom:0}.sn-component .sk-panel-section .sk-panel-section-title{margin-bottom:0.5rem;font-weight:bold;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-panel-section .sk-panel-section-outer-title{border-bottom:1px solid var(--sn-stylekit-border-color);padding-bottom:0.9rem;margin-top:2.1rem;margin-bottom:15px;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-panel-section .sk-panel-section-subtitle{font-size:var(--sn-stylekit-font-size-h5);margin-bottom:2px}.sn-component .sk-panel-section .sk-panel-section-subtitle.subtle{font-weight:normal;opacity:0.6}.sn-component .sk-panel-section .text-content .sk-p{margin-bottom:1rem}.sn-component .sk-panel-section .text-content p:first-child{margin-top:0.3rem}.sn-component .sk-panel-row{display:flex;justify-content:space-between;align-items:center;padding-top:0.4rem}.sn-component .sk-panel-row.centered{justify-content:center}.sn-component .sk-panel-row.justify-right{justify-content:flex-end}.sn-component .sk-panel-row.justify-left{justify-content:flex-start}.sn-component .sk-panel-row.align-top{align-items:flex-start}.sn-component .sk-panel-row .sk-panel-column.stretch{width:100%}.sn-component .sk-panel-row.default-padding,.sn-component .sk-panel-row:not(:last-child){padding-bottom:0.4rem}.sn-component .sk-panel-row.condensed{padding-top:0.2rem;padding-bottom:0.2rem}.sn-component .sk-panel-row .sk-p{margin:0;padding:0}.sn-component .vertical-rule{background-color:var(--sn-stylekit-border-color);height:1.5rem;width:1px}.sn-component .sk-panel-form{width:100%}.sn-component .sk-panel-form.half{width:50%}.sn-component .sk-panel-form .form-submit{margin-top:0.15rem}.sn-component .right-aligned{justify-content:flex-end;text-align:right}.sn-component .sk-menu-panel{background-color:var(--sn-stylekit-background-color);border:1px solid var(--sn-stylekit-contrast-border-color);border-radius:var(--sn-stylekit-general-border-radius);overflow:scroll;user-select:none;overflow-y:auto !important;overflow-x:auto !important}.sn-component .sk-menu-panel .sk-menu-panel-header{padding:0.8rem 1rem;border-bottom:1px solid var(--sn-stylekit-contrast-border-color);background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);display:flex;justify-content:space-between;align-items:center}.sn-component .sk-menu-panel .sk-menu-panel-header-title{font-weight:bold;font-size:var(--sn-stylekit-font-size-h4)}.sn-component .sk-menu-panel .sk-menu-panel-header-subtitle{margin-top:0.2rem;opacity:0.6}.sn-component .sk-menu-panel .sk-menu-panel-row{padding:1rem 1rem;cursor:pointer;display:flex;flex-direction:row;justify-content:space-between;border-bottom:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-menu-panel .sk-menu-panel-row:hover{background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);border-color:var(--sn-stylekit-contrast-border-color)}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column{display:flex;justify-content:center;flex-direction:column}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column:not(:first-child){padding-left:1.0rem;padding-right:0.15rem}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column.stretch{width:100%}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-subrows{margin-top:1rem}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-row,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-subrow{border:1px solid var(--sn-stylekit-contrast-border-color);margin-top:-1px}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-row:hover,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .sk-menu-panel-subrow:hover{background-color:var(--sn-stylekit-background-color)}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-menu-panel-column .left{display:flex}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-button .sk-label,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-box .sk-label,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-button .sk-panel-section .sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-menu-panel .sk-menu-panel-row .sk-button .sk-panel-section-subtitle,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-box .sk-panel-section .sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-menu-panel .sk-menu-panel-row .sk-box .sk-panel-section-subtitle{font-size:var(--sn-stylekit-font-size-h6);font-weight:normal}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-label,.sn-component .sk-menu-panel .sk-menu-panel-row .sk-panel-section .sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-menu-panel .sk-menu-panel-row .sk-panel-section-subtitle{font-size:var(--sn-stylekit-font-size-p);font-weight:bold}.sn-component .sk-menu-panel .sk-menu-panel-row .sk-sublabel{font-size:var(--sn-stylekit-font-size-h5);margin-top:0.2rem;opacity:0.6}.sn-component .red{color:var(--sn-stylekit-danger-color)}.sn-component .tinted{color:var(--sn-stylekit-info-color)}.sn-component .selectable{user-select:text !important;-ms-user-select:text !important;-moz-user-select:text !important;-webkit-user-select:text !important}.sn-component .sk-h1,.sn-component .sk-h2,.sn-component .sk-h3,.sn-component .sk-h4,.sn-component .sk-h5{margin:0;padding:0;font-weight:normal}.sn-component .sk-h1{font-weight:500;font-size:var(--sn-stylekit-font-size-h1);line-height:1.9rem}.sn-component .sk-h2{font-size:var(--sn-stylekit-font-size-h2);line-height:1.8rem}.sn-component .sk-h3{font-size:var(--sn-stylekit-font-size-h3);line-height:1.7rem}.sn-component .sk-h4{font-size:var(--sn-stylekit-font-size-p);line-height:1.4rem}.sn-component .sk-h5{font-size:var(--sn-stylekit-font-size-h5)}.sn-component .sk-bold{font-weight:bold}.sn-component .sk-font-small{font-size:var(--sn-stylekit-font-size-h5)}.sn-component .sk-font-normal{font-size:var(--sn-stylekit-font-size-p)}.sn-component .sk-font-large{font-size:var(--sn-stylekit-font-size-h3)}.sn-component a.sk-a{cursor:pointer;user-select:none}.sn-component a.sk-a.disabled{color:var(--sn-stylekit-neutral-color);opacity:0.6}.sn-component a.sk-a.boxed{border-radius:var(--sn-stylekit-general-border-radius);padding:0.3rem 0.4rem}.sn-component a.sk-a.boxed:hover{text-decoration:none}.sn-component a.sk-a.boxed.neutral{background-color:var(--sn-stylekit-neutral-color);color:var(--sn-stylekit-neutral-contrast-color)}.sn-component a.sk-a.boxed.info{background-color:var(--sn-stylekit-info-color);color:var(--sn-stylekit-info-contrast-color)}.sn-component a.sk-a.boxed.warning{background-color:var(--sn-stylekit-warning-color);color:var(--sn-stylekit-warning-contrast-color)}.sn-component a.sk-a.boxed.danger{background-color:var(--sn-stylekit-danger-color);color:var(--sn-stylekit-danger-contrast-color)}.sn-component a.sk-a.boxed.success{background-color:var(--sn-stylekit-success-color);color:var(--sn-stylekit-success-contrast-color)}.sn-component .wrap{word-wrap:break-word}.sn-component *.sk-base{color:var(--sn-stylekit-foreground-color)}.sn-component *.contrast{color:var(--sn-stylekit-contrast-foreground-color)}.sn-component *.neutral{color:var(--sn-stylekit-neutral-color)}.sn-component *.info{color:var(--sn-stylekit-info-color)}.sn-component *.info-contrast{color:var(--sn-stylekit-info-contrast-color)}.sn-component *.warning{color:var(--sn-stylekit-warning-color)}.sn-component *.danger{color:var(--sn-stylekit-danger-color)}.sn-component *.success{color:var(--sn-stylekit-success-color)}.sn-component *.info-i{color:var(--sn-stylekit-info-color) !important}.sn-component *.warning-i{color:var(--sn-stylekit-warning-color) !important}.sn-component *.danger-i{color:var(--sn-stylekit-danger-color) !important}.sn-component *.success-i{color:var(--sn-stylekit-success-color) !important}.sn-component *.clear{background-color:transparent;border:none}.sn-component .center-text{text-align:center !important;justify-content:center !important}.sn-component p.sk-p{margin:0.5rem 0}.sn-component input.sk-input{box-sizing:border-box;padding:0.7rem 0.8rem;margin:0.30rem 0;border:none;font-size:var(--sn-stylekit-font-size-h3);width:100%;outline:0;resize:none}.sn-component input.sk-input.clear{color:var(--sn-stylekit-foreground-color);background-color:transparent;border:none}.sn-component input.sk-input.no-border{border:none}.sn-component .sk-label,.sn-component .sk-panel-section .sk-panel-section-subtitle{font-weight:bold}.sn-component .sk-label.no-bold,.sn-component .sk-panel-section .no-bold.sk-panel-section-subtitle{font-weight:normal}.sn-component label.sk-label,.sn-component .sk-panel-section label.sk-panel-section-subtitle{margin:0.7rem 0;display:block}.sn-component label.sk-label input[type='checkbox'],.sn-component .sk-panel-section label.sk-panel-section-subtitle input[type='checkbox'],.sn-component input[type='radio']{width:auto;margin-right:0.45rem;vertical-align:middle}.sn-component .sk-horizontal-group>*,.sn-component .sk-input-group>*{display:inline-block;vertical-align:middle}.sn-component .sk-horizontal-group>*:not(:first-child),.sn-component .sk-input-group>*:not(:first-child){margin-left:0.9rem}.sn-component .sk-border-bottom{border-bottom:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-checkbox-group{padding-top:0.5rem;padding-bottom:0.3rem}.sn-component ::placeholder{color:var(--sn-stylekit-input-placeholder-color)}.sn-component :-ms-input-placeholder{color:var(--sn-stylekit-input-placeholder-color)}.sn-component ::-ms-input-placeholder{color:var(--sn-stylekit-input-placeholder-color)}.sn-component .sk-button-group.stretch{display:flex;width:100%}.sn-component .sk-button-group.stretch .sk-button,.sn-component .sk-button-group.stretch .sk-box{display:block;flex-grow:1;text-align:center}.sn-component .sk-button-group .sk-button,.sn-component .sk-button-group .sk-box{display:inline-block;vertical-align:middle}.sn-component .sk-button-group .sk-button:not(:last-child),.sn-component .sk-button-group .sk-box:not(:last-child){margin-right:5px}.sn-component .sk-button-group .sk-button:not(:last-child).featured,.sn-component .sk-button-group .sk-box:not(:last-child).featured{margin-right:8px}.sn-component .sk-segmented-buttons{display:flex;flex-direction:row}.sn-component .sk-segmented-buttons .sk-button,.sn-component .sk-segmented-buttons .sk-box{border-radius:0;white-space:nowrap;margin:0;margin-left:0 !important;margin-right:0 !important}.sn-component .sk-segmented-buttons .sk-button:not(:last-child),.sn-component .sk-segmented-buttons .sk-box:not(:last-child){border-right:none;border-radius:0}.sn-component .sk-segmented-buttons .sk-button:first-child,.sn-component .sk-segmented-buttons .sk-box:first-child{border-top-left-radius:var(--sn-stylekit-general-border-radius);border-bottom-left-radius:var(--sn-stylekit-general-border-radius);border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.sn-component .sk-segmented-buttons .sk-button:last-child,.sn-component .sk-segmented-buttons .sk-box:last-child{border-top-right-radius:var(--sn-stylekit-general-border-radius);border-bottom-right-radius:var(--sn-stylekit-general-border-radius);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.sn-component .sk-box-group .sk-box{display:inline-block}.sn-component .sk-box-group .sk-box:not(:last-child){margin-right:5px}.sn-component .sk-a.button{text-decoration:none}.sn-component .sk-button,.sn-component .sk-box{display:table;padding:0.5rem 0.7rem;font-size:var(--sn-stylekit-font-size-h5);cursor:pointer;text-align:center;user-select:none}.sn-component .sk-button.no-hover-border:after,.sn-component .no-hover-border.sk-box:after{color:transparent !important}.sn-component .sk-button.wide,.sn-component .wide.sk-box{padding:0.3rem 1.7rem}.sn-component .sk-button>.sk-label,.sn-component .sk-box>.sk-label,.sn-component .sk-panel-section .sk-button>.sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-box>.sk-panel-section-subtitle{font-weight:bold;display:block;text-align:center}.sn-component .sk-button.big,.sn-component .big.sk-box{font-size:var(--sn-stylekit-font-size-h3);padding:0.7rem 2.5rem}.sn-component .sk-box{padding:2.5rem 1.5rem}.sn-component .sk-button.sk-base,.sn-component .sk-base.sk-box,.sn-component .sk-box.sk-base,.sn-component .sk-circle.sk-base{color:var(--sn-stylekit-foreground-color);position:relative;background-color:var(--sn-stylekit-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-background-color)}.sn-component .sk-button.sk-base *,.sn-component .sk-base.sk-box *,.sn-component .sk-box.sk-base *,.sn-component .sk-circle.sk-base *{position:relative}.sn-component .sk-button.sk-base:before,.sn-component .sk-base.sk-box:before,.sn-component .sk-box.sk-base:before,.sn-component .sk-circle.sk-base:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.sk-base:after,.sn-component .sk-base.sk-box:after,.sn-component .sk-box.sk-base:after,.sn-component .sk-circle.sk-base:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-background-color)}.sn-component .sk-button.sk-base:hover:before,.sn-component .sk-base.sk-box:hover:before,.sn-component .sk-box.sk-base:hover:before,.sn-component .sk-circle.sk-base:hover:before{filter:brightness(130%)}.sn-component .sk-button.sk-base.no-bg,.sn-component .sk-base.no-bg.sk-box,.sn-component .sk-box.sk-base.no-bg,.sn-component .sk-circle.sk-base.no-bg{background-color:transparent}.sn-component .sk-button.sk-base.no-bg:before,.sn-component .sk-base.no-bg.sk-box:before,.sn-component .sk-box.sk-base.no-bg:before,.sn-component .sk-circle.sk-base.no-bg:before{content:none}.sn-component .sk-button.sk-base.featured,.sn-component .sk-base.featured.sk-box,.sn-component .sk-box.sk-base.featured,.sn-component .sk-circle.sk-base.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.sk-base.featured:before,.sn-component .sk-base.featured.sk-box:before,.sn-component .sk-box.sk-base.featured:before,.sn-component .sk-circle.sk-base.featured:before{opacity:1.0}.sn-component .sk-button.contrast,.sn-component .contrast.sk-box,.sn-component .sk-box.contrast,.sn-component .sk-circle.contrast{color:var(--sn-stylekit-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-contrast-background-color)}.sn-component .sk-button.contrast *,.sn-component .contrast.sk-box *,.sn-component .sk-box.contrast *,.sn-component .sk-circle.contrast *{position:relative}.sn-component .sk-button.contrast:before,.sn-component .contrast.sk-box:before,.sn-component .sk-box.contrast:before,.sn-component .sk-circle.contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.contrast:after,.sn-component .contrast.sk-box:after,.sn-component .sk-box.contrast:after,.sn-component .sk-circle.contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-contrast-background-color)}.sn-component .sk-button.contrast:hover:before,.sn-component .contrast.sk-box:hover:before,.sn-component .sk-box.contrast:hover:before,.sn-component .sk-circle.contrast:hover:before{filter:brightness(130%)}.sn-component .sk-button.contrast.no-bg,.sn-component .contrast.no-bg.sk-box,.sn-component .sk-box.contrast.no-bg,.sn-component .sk-circle.contrast.no-bg{background-color:transparent}.sn-component .sk-button.contrast.no-bg:before,.sn-component .contrast.no-bg.sk-box:before,.sn-component .sk-box.contrast.no-bg:before,.sn-component .sk-circle.contrast.no-bg:before{content:none}.sn-component .sk-button.contrast.featured,.sn-component .contrast.featured.sk-box,.sn-component .sk-box.contrast.featured,.sn-component .sk-circle.contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.contrast.featured:before,.sn-component .contrast.featured.sk-box:before,.sn-component .sk-box.contrast.featured:before,.sn-component .sk-circle.contrast.featured:before{opacity:1.0}.sn-component .sk-button.sk-secondary,.sn-component .sk-secondary.sk-box,.sn-component .sk-box.sk-secondary,.sn-component .sk-circle.sk-secondary{color:var(--sn-stylekit-secondary-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-background-color)}.sn-component .sk-button.sk-secondary *,.sn-component .sk-secondary.sk-box *,.sn-component .sk-box.sk-secondary *,.sn-component .sk-circle.sk-secondary *{position:relative}.sn-component .sk-button.sk-secondary:before,.sn-component .sk-secondary.sk-box:before,.sn-component .sk-box.sk-secondary:before,.sn-component .sk-circle.sk-secondary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.sk-secondary:after,.sn-component .sk-secondary.sk-box:after,.sn-component .sk-box.sk-secondary:after,.sn-component .sk-circle.sk-secondary:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-secondary-background-color)}.sn-component .sk-button.sk-secondary:hover:before,.sn-component .sk-secondary.sk-box:hover:before,.sn-component .sk-box.sk-secondary:hover:before,.sn-component .sk-circle.sk-secondary:hover:before{filter:brightness(130%)}.sn-component .sk-button.sk-secondary.no-bg,.sn-component .sk-secondary.no-bg.sk-box,.sn-component .sk-box.sk-secondary.no-bg,.sn-component .sk-circle.sk-secondary.no-bg{background-color:transparent}.sn-component .sk-button.sk-secondary.no-bg:before,.sn-component .sk-secondary.no-bg.sk-box:before,.sn-component .sk-box.sk-secondary.no-bg:before,.sn-component .sk-circle.sk-secondary.no-bg:before{content:none}.sn-component .sk-button.sk-secondary.featured,.sn-component .sk-secondary.featured.sk-box,.sn-component .sk-box.sk-secondary.featured,.sn-component .sk-circle.sk-secondary.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.sk-secondary.featured:before,.sn-component .sk-secondary.featured.sk-box:before,.sn-component .sk-box.sk-secondary.featured:before,.sn-component .sk-circle.sk-secondary.featured:before{opacity:1.0}.sn-component .sk-button.sk-secondary-contrast,.sn-component .sk-secondary-contrast.sk-box,.sn-component .sk-box.sk-secondary-contrast,.sn-component .sk-circle.sk-secondary-contrast{color:var(--sn-stylekit-secondary-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-contrast-background-color)}.sn-component .sk-button.sk-secondary-contrast *,.sn-component .sk-secondary-contrast.sk-box *,.sn-component .sk-box.sk-secondary-contrast *,.sn-component .sk-circle.sk-secondary-contrast *{position:relative}.sn-component .sk-button.sk-secondary-contrast:before,.sn-component .sk-secondary-contrast.sk-box:before,.sn-component .sk-box.sk-secondary-contrast:before,.sn-component .sk-circle.sk-secondary-contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.sk-secondary-contrast:after,.sn-component .sk-secondary-contrast.sk-box:after,.sn-component .sk-box.sk-secondary-contrast:after,.sn-component .sk-circle.sk-secondary-contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-secondary-contrast-background-color)}.sn-component .sk-button.sk-secondary-contrast:hover:before,.sn-component .sk-secondary-contrast.sk-box:hover:before,.sn-component .sk-box.sk-secondary-contrast:hover:before,.sn-component .sk-circle.sk-secondary-contrast:hover:before{filter:brightness(130%)}.sn-component .sk-button.sk-secondary-contrast.no-bg,.sn-component .sk-secondary-contrast.no-bg.sk-box,.sn-component .sk-box.sk-secondary-contrast.no-bg,.sn-component .sk-circle.sk-secondary-contrast.no-bg{background-color:transparent}.sn-component .sk-button.sk-secondary-contrast.no-bg:before,.sn-component .sk-secondary-contrast.no-bg.sk-box:before,.sn-component .sk-box.sk-secondary-contrast.no-bg:before,.sn-component .sk-circle.sk-secondary-contrast.no-bg:before{content:none}.sn-component .sk-button.sk-secondary-contrast.featured,.sn-component .sk-secondary-contrast.featured.sk-box,.sn-component .sk-box.sk-secondary-contrast.featured,.sn-component .sk-circle.sk-secondary-contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.sk-secondary-contrast.featured:before,.sn-component .sk-secondary-contrast.featured.sk-box:before,.sn-component .sk-box.sk-secondary-contrast.featured:before,.sn-component .sk-circle.sk-secondary-contrast.featured:before{opacity:1.0}.sn-component .sk-button.neutral,.sn-component .neutral.sk-box,.sn-component .sk-box.neutral,.sn-component .sk-circle.neutral{color:var(--sn-stylekit-neutral-contrast-color);position:relative;background-color:var(--sn-stylekit-neutral-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-neutral-color)}.sn-component .sk-button.neutral *,.sn-component .neutral.sk-box *,.sn-component .sk-box.neutral *,.sn-component .sk-circle.neutral *{position:relative}.sn-component .sk-button.neutral:before,.sn-component .neutral.sk-box:before,.sn-component .sk-box.neutral:before,.sn-component .sk-circle.neutral:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-neutral-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.neutral:after,.sn-component .neutral.sk-box:after,.sn-component .sk-box.neutral:after,.sn-component .sk-circle.neutral:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-neutral-color)}.sn-component .sk-button.neutral:hover:before,.sn-component .neutral.sk-box:hover:before,.sn-component .sk-box.neutral:hover:before,.sn-component .sk-circle.neutral:hover:before{filter:brightness(130%)}.sn-component .sk-button.neutral.no-bg,.sn-component .neutral.no-bg.sk-box,.sn-component .sk-box.neutral.no-bg,.sn-component .sk-circle.neutral.no-bg{background-color:transparent}.sn-component .sk-button.neutral.no-bg:before,.sn-component .neutral.no-bg.sk-box:before,.sn-component .sk-box.neutral.no-bg:before,.sn-component .sk-circle.neutral.no-bg:before{content:none}.sn-component .sk-button.neutral.featured,.sn-component .neutral.featured.sk-box,.sn-component .sk-box.neutral.featured,.sn-component .sk-circle.neutral.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.neutral.featured:before,.sn-component .neutral.featured.sk-box:before,.sn-component .sk-box.neutral.featured:before,.sn-component .sk-circle.neutral.featured:before{opacity:1.0}.sn-component .sk-button.info,.sn-component .info.sk-box,.sn-component .sk-box.info,.sn-component .sk-circle.info{color:var(--sn-stylekit-info-contrast-color);position:relative;background-color:var(--sn-stylekit-info-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-info-color)}.sn-component .sk-button.info *,.sn-component .info.sk-box *,.sn-component .sk-box.info *,.sn-component .sk-circle.info *{position:relative}.sn-component .sk-button.info:before,.sn-component .info.sk-box:before,.sn-component .sk-box.info:before,.sn-component .sk-circle.info:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-info-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.info:after,.sn-component .info.sk-box:after,.sn-component .sk-box.info:after,.sn-component .sk-circle.info:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-info-color)}.sn-component .sk-button.info:hover:before,.sn-component #filesafe-embed .files-view .files .file-item-button.selected:before,#filesafe-embed .files-view .files .sn-component .file-item-button.selected:before,.sn-component .info.sk-box:hover:before,.sn-component .sk-box.info:hover:before,.sn-component .sk-circle.info:hover:before{filter:brightness(130%)}.sn-component .sk-button.info.no-bg,.sn-component .info.no-bg.sk-box,.sn-component .sk-box.info.no-bg,.sn-component .sk-circle.info.no-bg{background-color:transparent}.sn-component .sk-button.info.no-bg:before,.sn-component .info.no-bg.sk-box:before,.sn-component .sk-box.info.no-bg:before,.sn-component .sk-circle.info.no-bg:before{content:none}.sn-component .sk-button.info.featured,.sn-component .info.featured.sk-box,.sn-component .sk-box.info.featured,.sn-component .sk-circle.info.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.info.featured:before,.sn-component .info.featured.sk-box:before,.sn-component .sk-box.info.featured:before,.sn-component .sk-circle.info.featured:before{opacity:1.0}.sn-component .sk-button.warning,.sn-component .warning.sk-box,.sn-component .sk-box.warning,.sn-component .sk-circle.warning{color:var(--sn-stylekit-warning-contrast-color);position:relative;background-color:var(--sn-stylekit-warning-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-warning-color)}.sn-component .sk-button.warning *,.sn-component .warning.sk-box *,.sn-component .sk-box.warning *,.sn-component .sk-circle.warning *{position:relative}.sn-component .sk-button.warning:before,.sn-component .warning.sk-box:before,.sn-component .sk-box.warning:before,.sn-component .sk-circle.warning:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-warning-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.warning:after,.sn-component .warning.sk-box:after,.sn-component .sk-box.warning:after,.sn-component .sk-circle.warning:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-warning-color)}.sn-component .sk-button.warning:hover:before,.sn-component .warning.sk-box:hover:before,.sn-component .sk-box.warning:hover:before,.sn-component .sk-circle.warning:hover:before{filter:brightness(130%)}.sn-component .sk-button.warning.no-bg,.sn-component .warning.no-bg.sk-box,.sn-component .sk-box.warning.no-bg,.sn-component .sk-circle.warning.no-bg{background-color:transparent}.sn-component .sk-button.warning.no-bg:before,.sn-component .warning.no-bg.sk-box:before,.sn-component .sk-box.warning.no-bg:before,.sn-component .sk-circle.warning.no-bg:before{content:none}.sn-component .sk-button.warning.featured,.sn-component .warning.featured.sk-box,.sn-component .sk-box.warning.featured,.sn-component .sk-circle.warning.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.warning.featured:before,.sn-component .warning.featured.sk-box:before,.sn-component .sk-box.warning.featured:before,.sn-component .sk-circle.warning.featured:before{opacity:1.0}.sn-component .sk-button.danger,.sn-component .danger.sk-box,.sn-component .sk-box.danger,.sn-component .sk-circle.danger{color:var(--sn-stylekit-danger-contrast-color);position:relative;background-color:var(--sn-stylekit-danger-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-danger-color)}.sn-component .sk-button.danger *,.sn-component .danger.sk-box *,.sn-component .sk-box.danger *,.sn-component .sk-circle.danger *{position:relative}.sn-component .sk-button.danger:before,.sn-component .danger.sk-box:before,.sn-component .sk-box.danger:before,.sn-component .sk-circle.danger:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-danger-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.danger:after,.sn-component .danger.sk-box:after,.sn-component .sk-box.danger:after,.sn-component .sk-circle.danger:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-danger-color)}.sn-component .sk-button.danger:hover:before,.sn-component .danger.sk-box:hover:before,.sn-component .sk-box.danger:hover:before,.sn-component .sk-circle.danger:hover:before{filter:brightness(130%)}.sn-component .sk-button.danger.no-bg,.sn-component .danger.no-bg.sk-box,.sn-component .sk-box.danger.no-bg,.sn-component .sk-circle.danger.no-bg{background-color:transparent}.sn-component .sk-button.danger.no-bg:before,.sn-component .danger.no-bg.sk-box:before,.sn-component .sk-box.danger.no-bg:before,.sn-component .sk-circle.danger.no-bg:before{content:none}.sn-component .sk-button.danger.featured,.sn-component .danger.featured.sk-box,.sn-component .sk-box.danger.featured,.sn-component .sk-circle.danger.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.danger.featured:before,.sn-component .danger.featured.sk-box:before,.sn-component .sk-box.danger.featured:before,.sn-component .sk-circle.danger.featured:before{opacity:1.0}.sn-component .sk-button.success,.sn-component .success.sk-box,.sn-component .sk-box.success,.sn-component .sk-circle.success{color:var(--sn-stylekit-success-contrast-color);position:relative;background-color:var(--sn-stylekit-success-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-success-color)}.sn-component .sk-button.success *,.sn-component .success.sk-box *,.sn-component .sk-box.success *,.sn-component .sk-circle.success *{position:relative}.sn-component .sk-button.success:before,.sn-component .success.sk-box:before,.sn-component .sk-box.success:before,.sn-component .sk-circle.success:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-success-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-button.success:after,.sn-component .success.sk-box:after,.sn-component .sk-box.success:after,.sn-component .sk-circle.success:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-success-color)}.sn-component .sk-button.success:hover:before,.sn-component .success.sk-box:hover:before,.sn-component .sk-box.success:hover:before,.sn-component .sk-circle.success:hover:before{filter:brightness(130%)}.sn-component .sk-button.success.no-bg,.sn-component .success.no-bg.sk-box,.sn-component .sk-box.success.no-bg,.sn-component .sk-circle.success.no-bg{background-color:transparent}.sn-component .sk-button.success.no-bg:before,.sn-component .success.no-bg.sk-box:before,.sn-component .sk-box.success.no-bg:before,.sn-component .sk-circle.success.no-bg:before{content:none}.sn-component .sk-button.success.featured,.sn-component .success.featured.sk-box,.sn-component .sk-box.success.featured,.sn-component .sk-circle.success.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-button.success.featured:before,.sn-component .success.featured.sk-box:before,.sn-component .sk-box.success.featured:before,.sn-component .sk-circle.success.featured:before{opacity:1.0}.sn-component .sk-notification.contrast,.sn-component .sk-input.contrast{color:var(--sn-stylekit-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-contrast-border-color);border:1px solid var(--sn-stylekit-contrast-border-color)}.sn-component .sk-notification.contrast *,.sn-component .sk-input.contrast *{position:relative}.sn-component .sk-notification.contrast:before,.sn-component .sk-input.contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.contrast:after,.sn-component .sk-input.contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-contrast-border-color);border-color:var(--sn-stylekit-contrast-border-color)}.sn-component .sk-notification.contrast.no-bg,.sn-component .sk-input.contrast.no-bg{background-color:transparent}.sn-component .sk-notification.contrast.no-bg:before,.sn-component .sk-input.contrast.no-bg:before{content:none}.sn-component .sk-notification.contrast.featured,.sn-component .sk-input.contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.contrast.featured:before,.sn-component .sk-input.contrast.featured:before{opacity:1.0}.sn-component .sk-notification.sk-secondary,.sn-component .sk-input.sk-secondary{color:var(--sn-stylekit-secondary-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-border-color);border:1px solid var(--sn-stylekit-secondary-border-color)}.sn-component .sk-notification.sk-secondary *,.sn-component .sk-input.sk-secondary *{position:relative}.sn-component .sk-notification.sk-secondary:before,.sn-component .sk-input.sk-secondary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.sk-secondary:after,.sn-component .sk-input.sk-secondary:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-secondary-border-color);border-color:var(--sn-stylekit-secondary-border-color)}.sn-component .sk-notification.sk-secondary.no-bg,.sn-component .sk-input.sk-secondary.no-bg{background-color:transparent}.sn-component .sk-notification.sk-secondary.no-bg:before,.sn-component .sk-input.sk-secondary.no-bg:before{content:none}.sn-component .sk-notification.sk-secondary.featured,.sn-component .sk-input.sk-secondary.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.sk-secondary.featured:before,.sn-component .sk-input.sk-secondary.featured:before{opacity:1.0}.sn-component .sk-notification.sk-secondary-contrast,.sn-component .sk-input.sk-secondary-contrast{color:var(--sn-stylekit-secondary-contrast-foreground-color);position:relative;background-color:var(--sn-stylekit-secondary-contrast-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-secondary-contrast-border-color);border:1px solid var(--sn-stylekit-secondary-contrast-border-color)}.sn-component .sk-notification.sk-secondary-contrast *,.sn-component .sk-input.sk-secondary-contrast *{position:relative}.sn-component .sk-notification.sk-secondary-contrast:before,.sn-component .sk-input.sk-secondary-contrast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-secondary-contrast-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.sk-secondary-contrast:after,.sn-component .sk-input.sk-secondary-contrast:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-secondary-contrast-border-color);border-color:var(--sn-stylekit-secondary-contrast-border-color)}.sn-component .sk-notification.sk-secondary-contrast.no-bg,.sn-component .sk-input.sk-secondary-contrast.no-bg{background-color:transparent}.sn-component .sk-notification.sk-secondary-contrast.no-bg:before,.sn-component .sk-input.sk-secondary-contrast.no-bg:before{content:none}.sn-component .sk-notification.sk-secondary-contrast.featured,.sn-component .sk-input.sk-secondary-contrast.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.sk-secondary-contrast.featured:before,.sn-component .sk-input.sk-secondary-contrast.featured:before{opacity:1.0}.sn-component .sk-notification.sk-base,.sn-component .sk-input.sk-base{color:var(--sn-stylekit-foreground-color);position:relative;background-color:var(--sn-stylekit-background-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-border-color);border:1px solid var(--sn-stylekit-border-color)}.sn-component .sk-notification.sk-base *,.sn-component .sk-input.sk-base *{position:relative}.sn-component .sk-notification.sk-base:before,.sn-component .sk-input.sk-base:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-background-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.sk-base:after,.sn-component .sk-input.sk-base:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;color:var(--sn-stylekit-border-color);border-color:var(--sn-stylekit-border-color)}.sn-component .sk-notification.sk-base.no-bg,.sn-component .sk-input.sk-base.no-bg{background-color:transparent}.sn-component .sk-notification.sk-base.no-bg:before,.sn-component .sk-input.sk-base.no-bg:before{content:none}.sn-component .sk-notification.sk-base.featured,.sn-component .sk-input.sk-base.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.sk-base.featured:before,.sn-component .sk-input.sk-base.featured:before{opacity:1.0}.sn-component .sk-notification.neutral,.sn-component .sk-input.neutral{color:var(--sn-stylekit-neutral-contrast-color);position:relative;background-color:var(--sn-stylekit-neutral-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-neutral-color)}.sn-component .sk-notification.neutral *,.sn-component .sk-input.neutral *{position:relative}.sn-component .sk-notification.neutral:before,.sn-component .sk-input.neutral:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-neutral-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.neutral:after,.sn-component .sk-input.neutral:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-neutral-color)}.sn-component .sk-notification.neutral.no-bg,.sn-component .sk-input.neutral.no-bg{background-color:transparent}.sn-component .sk-notification.neutral.no-bg:before,.sn-component .sk-input.neutral.no-bg:before{content:none}.sn-component .sk-notification.neutral.featured,.sn-component .sk-input.neutral.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.neutral.featured:before,.sn-component .sk-input.neutral.featured:before{opacity:1.0}.sn-component .sk-notification.info,.sn-component .sk-input.info{color:var(--sn-stylekit-info-contrast-color);position:relative;background-color:var(--sn-stylekit-info-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-info-color)}.sn-component .sk-notification.info *,.sn-component .sk-input.info *{position:relative}.sn-component .sk-notification.info:before,.sn-component .sk-input.info:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-info-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.info:after,.sn-component .sk-input.info:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-info-color)}.sn-component .sk-notification.info.no-bg,.sn-component .sk-input.info.no-bg{background-color:transparent}.sn-component .sk-notification.info.no-bg:before,.sn-component .sk-input.info.no-bg:before{content:none}.sn-component .sk-notification.info.featured,.sn-component .sk-input.info.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.info.featured:before,.sn-component .sk-input.info.featured:before{opacity:1.0}.sn-component .sk-notification.warning,.sn-component .sk-input.warning{color:var(--sn-stylekit-warning-contrast-color);position:relative;background-color:var(--sn-stylekit-warning-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-warning-color)}.sn-component .sk-notification.warning *,.sn-component .sk-input.warning *{position:relative}.sn-component .sk-notification.warning:before,.sn-component .sk-input.warning:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-warning-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.warning:after,.sn-component .sk-input.warning:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-warning-color)}.sn-component .sk-notification.warning.no-bg,.sn-component .sk-input.warning.no-bg{background-color:transparent}.sn-component .sk-notification.warning.no-bg:before,.sn-component .sk-input.warning.no-bg:before{content:none}.sn-component .sk-notification.warning.featured,.sn-component .sk-input.warning.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.warning.featured:before,.sn-component .sk-input.warning.featured:before{opacity:1.0}.sn-component .sk-notification.danger,.sn-component .sk-input.danger{color:var(--sn-stylekit-danger-contrast-color);position:relative;background-color:var(--sn-stylekit-danger-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-danger-color)}.sn-component .sk-notification.danger *,.sn-component .sk-input.danger *{position:relative}.sn-component .sk-notification.danger:before,.sn-component .sk-input.danger:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-danger-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.danger:after,.sn-component .sk-input.danger:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-danger-color)}.sn-component .sk-notification.danger.no-bg,.sn-component .sk-input.danger.no-bg{background-color:transparent}.sn-component .sk-notification.danger.no-bg:before,.sn-component .sk-input.danger.no-bg:before{content:none}.sn-component .sk-notification.danger.featured,.sn-component .sk-input.danger.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.danger.featured:before,.sn-component .sk-input.danger.featured:before{opacity:1.0}.sn-component .sk-notification.success,.sn-component .sk-input.success{color:var(--sn-stylekit-success-contrast-color);position:relative;background-color:var(--sn-stylekit-success-color);overflow:hidden;border-radius:var(--sn-stylekit-general-border-radius);border-color:var(--sn-stylekit-success-color)}.sn-component .sk-notification.success *,.sn-component .sk-input.success *{position:relative}.sn-component .sk-notification.success:before,.sn-component .sk-input.success:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sn-stylekit-success-color);opacity:1.0;border-radius:var(--sn-stylekit-general-border-radius)}.sn-component .sk-notification.success:after,.sn-component .sk-input.success:after{content:'';display:block;height:100%;position:absolute;top:0;left:0;width:100%;border-radius:var(--sn-stylekit-general-border-radius);pointer-events:none;box-shadow:inset 0 0 0 1px;color:var(--sn-stylekit-success-color)}.sn-component .sk-notification.success.no-bg,.sn-component .sk-input.success.no-bg{background-color:transparent}.sn-component .sk-notification.success.no-bg:before,.sn-component .sk-input.success.no-bg:before{content:none}.sn-component .sk-notification.success.featured,.sn-component .sk-input.success.featured{border:none;padding:0.75rem 1.25rem;font-size:var(--sn-stylekit-font-size-h3)}.sn-component .sk-notification.success.featured:before,.sn-component .sk-input.success.featured:before{opacity:1.0}.sn-component .sk-notification{padding:1.1rem 1rem;margin:1.4rem 0;text-align:left;cursor:default}.sn-component .sk-notification.one-line{padding:0rem 0.4rem}.sn-component .sk-notification.stretch{width:100%}.sn-component .sk-notification.dashed{border-style:dashed;border-width:2px}.sn-component .sk-notification.dashed:after{box-shadow:none}.sn-component .sk-notification .sk-notification-title{font-size:var(--sn-stylekit-font-size-h1);font-weight:bold;line-height:1.9rem}.sn-component .sk-notification .sk-notification-text{line-height:1.5rem;font-size:var(--sn-stylekit-font-size-p);text-align:left;font-weight:normal}.sn-component .sk-circle{border:1px solid;cursor:pointer;border-color:var(--sn-stylekit-contrast-foreground-color);background-color:var(--sn-stylekit-contrast-background-color);padding:0;border-radius:50% !important;flex-shrink:0}.sn-component .sk-circle:before{border-radius:50% !important}.sn-component .sk-circle:after{border-radius:50% !important}.sn-component .sk-circle.small{width:11px;height:11px}.sn-component .sk-spinner{border:1px solid var(--sn-stylekit-neutral-color);border-radius:50%;animation:rotate 0.8s infinite linear;border-right-color:transparent}.sn-component .sk-spinner.small{width:12px;height:12px}.sn-component .sk-spinner.info-contrast{border-color:var(--sn-stylekit-info-contrast-color);border-right-color:transparent}.sn-component .sk-spinner.info{border-color:var(--sn-stylekit-info-color);border-right-color:transparent}.sn-component .sk-spinner.warning{border-color:var(--sn-stylekit-warning-color);border-right-color:transparent}.sn-component .sk-spinner.danger{border-color:var(--sn-stylekit-danger-color);border-right-color:transparent}.sn-component .sk-spinner.success{border-color:var(--sn-stylekit-success-color);border-right-color:transparent}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.sn-component .sk-app-bar{display:flex;width:100%;height:2rem;padding:0.0rem 0.8rem;background-color:var(--sn-stylekit-contrast-background-color);color:var(--sn-stylekit-contrast-foreground-color);justify-content:space-between;align-items:center;border:1px solid var(--sn-stylekit-contrast-border-color);user-select:none}.sn-component .sk-app-bar.no-edges{border-left:0;border-right:0}.sn-component .sk-app-bar.no-bottom-edge{border-bottom:0}.sn-component .sk-app-bar .left,.sn-component .sk-app-bar .right{display:flex;height:100%}.sn-component .sk-app-bar .sk-app-bar-item{flex-grow:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sn-component .sk-app-bar .sk-app-bar-item:not(:first-child){margin-left:1rem}.sn-component .sk-app-bar .sk-app-bar-item.border{border-left:1px solid var(--sn-stylekit-contrast-border-color)}.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column{height:100%;display:flex;align-items:center}.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column:not(:first-child){margin-left:0.5rem}.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column.underline{border-bottom:2px solid var(--sn-stylekit-info-color)}.sn-component .sk-app-bar .sk-app-bar-item.no-pointer{cursor:default}.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-label:not(.subtle),.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item:hover>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item:hover>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-sublabel:not(.subtle),.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-label:not(.subtle),.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-panel-section-subtitle:not(.subtle),.sn-component .sk-app-bar .sk-app-bar-item:hover>.sk-app-bar-item-column>.sk-sublabel:not(.subtle){color:var(--sn-stylekit-info-color)}.sn-component .sk-app-bar .sk-app-bar-item>.sk-label,.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item>.sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item>.sk-panel-section-subtitle,.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column>.sk-label,.sn-component .sk-app-bar .sk-panel-section .sk-app-bar-item>.sk-app-bar-item-column>.sk-panel-section-subtitle,.sn-component .sk-panel-section .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column>.sk-panel-section-subtitle{font-weight:bold;font-size:var(--sn-stylekit-font-size-h5);white-space:nowrap}.sn-component .sk-app-bar .sk-app-bar-item>.sk-sublabel,.sn-component .sk-app-bar .sk-app-bar-item>.sk-app-bar-item-column>.sk-sublabel{font-size:var(--sn-stylekit-font-size-h5);font-weight:normal;white-space:nowrap}.sn-component .sk-app-bar .sk-app-bar-item .subtle{font-weight:normal;opacity:0.6}.sn-component .sk-panel-table{display:flex;flex-wrap:wrap;padding-left:1px;padding-top:1px}.sn-component .sk-panel-table .sk-panel-table-item{flex:45%;flex-flow:wrap;border:1px solid var(--sn-stylekit-border-color);padding:1rem;margin-left:-1px;margin-top:-1px;display:flex;flex-direction:column;justify-content:space-between}.sn-component .sk-panel-table .sk-panel-table-item img{max-width:100%;margin-bottom:1rem}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-content{display:flex;flex-direction:row}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column{align-items:center}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column.stretch{width:100%}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column:not(:first-child){padding-left:0.75rem}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column.quarter{flex-basis:25%}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-column.three-quarters{flex-basis:75%}.sn-component .sk-panel-table .sk-panel-table-item .sk-panel-table-item-footer{margin-top:1.25rem}.sn-component .sk-panel-table .sk-panel-table-item.no-border{border:none}.sn-component .sk-modal{position:fixed;margin-left:auto;margin-right:auto;left:0;right:0;top:0;bottom:0;z-index:10000;width:100vw;height:100vh;background-color:transparent;color:var(--sn-stylekit-contrast-foreground-color);display:flex;align-items:center;justify-content:center}.sn-component .sk-modal .sn-component{height:100%}.sn-component .sk-modal .sn-component .sk-panel{height:100%}.sn-component .sk-modal.auto-height>.sk-modal-content{height:auto !important}.sn-component .sk-modal.large>.sk-modal-content{width:900px;height:600px}.sn-component .sk-modal.medium>.sk-modal-content{width:700px;height:500px}.sn-component .sk-modal.small>.sk-modal-content{width:700px;height:344px}.sn-component .sk-modal .sk-modal-background{position:absolute;z-index:-1;width:100%;height:100%;background-color:var(--sn-stylekit-contrast-background-color);opacity:0.7}.sn-component .sk-modal>.sk-modal-content{overflow-y:auto;width:auto;padding:0;padding-bottom:0;min-width:300px;-webkit-box-shadow:0px 2px 35px 0px rgba(0,0,0,0.19);-moz-box-shadow:0px 2px 35px 0px rgba(0,0,0,0.19);box-shadow:0px 2px 35px 0px rgba(0,0,0,0.19)}.sn-component.no-select{user-select:none}input,textarea,[contenteditable]{caret-color:var(--sn-stylekit-editor-foreground-color)}.windows-web,.windows-desktop,.linux-web,.linux-desktop{scrollbar-width:thin}.windows-web ::-webkit-scrollbar,.windows-desktop ::-webkit-scrollbar,.linux-web ::-webkit-scrollbar,.linux-desktop ::-webkit-scrollbar{width:17px;height:18px;border-left:0.5px solid var(--sn-stylekit-scrollbar-track-border-color-color)}.windows-web ::-webkit-scrollbar-thumb,.windows-desktop ::-webkit-scrollbar-thumb,.linux-web ::-webkit-scrollbar-thumb,.linux-desktop ::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;-webkit-border-radius:10px;background-color:var(--sn-stylekit-scrollbar-thumb-color);-webkit-box-shadow:inset -1px -1px 0px rgba(0,0,0,0.05),inset 1px 1px 0px rgba(0,0,0,0.05)}.windows-web ::-webkit-scrollbar-button,.windows-desktop ::-webkit-scrollbar-button,.linux-web ::-webkit-scrollbar-button,.linux-desktop ::-webkit-scrollbar-button{width:0;height:0;display:none}.windows-web ::-webkit-scrollbar-corner,.windows-desktop ::-webkit-scrollbar-corner,.linux-web ::-webkit-scrollbar-corner,.linux-desktop ::-webkit-scrollbar-corner{background-color:transparent}#filesafe-embed{font-size:var(--sn-stylekit-base-font-size);line-height:1}#filesafe-embed.highlight #home{border:2px dashed var(--sn-stylekit-info-color)}#filesafe-embed a{cursor:pointer}#filesafe-embed .sn-component{font-size:var(--sn-stylekit-base-font-size) !important;user-select:auto !important}#filesafe-embed .sn-component .sk-panel .sk-panel-content{padding-top:6px !important;height:inherit !important}#filesafe-embed .sn-component .sk-panel .sk-panel-content p{color:inherit}#filesafe-embed .sn-component .sk-panel-section:first-child{padding-bottom:1.3rem;margin-bottom:0 !important}#filesafe-embed .sn-component .sk-panel-section:not(:first-child){padding-top:0.7rem;padding-bottom:1.3rem;margin-bottom:0 !important}#filesafe-embed .sn-component .sk-button-group .sk-button{vertical-align:middle}#filesafe-embed .sn-component .sk-button.no-border{border:none}#filesafe-embed .sn-component .sk-button{user-select:none}#filesafe-embed .sn-component .sk-horizontal-group.top>*{vertical-align:top}#filesafe-embed .sn-component .sk-horizontal-group.top .sk-panel-row:first-child{padding-top:0}#filesafe-embed .sn-component .sk-horizontal-group .sk-panel-section-title{margin-bottom:0}#filesafe-embed .sn-component .sk-circle.x-small,#filesafe-embed .sn-component .sk-spinner.x-small{width:7px;height:7px}#filesafe-embed .sn-component label.no-style{margin:0;font-size:inherit}#filesafe-embed .bold{font-weight:bold}#filesafe-embed .faded{opacity:0.5}#filesafe-embed .list-container{margin-top:10px}#filesafe-embed .list-container .list-item .sk-circle{margin-top:2px}#filesafe-embed .list-container .list-item:not(:last-child){margin-bottom:12px}#filesafe-embed #messages-container{width:100%;margin-bottom:14px !important}#filesafe-embed #messages{width:100%}#filesafe-embed #messages .title{font-weight:bold;font-size:var(--sn-stylekit-font-size-h4);margin-bottom:12px}#filesafe-embed #messages ul{margin:0;margin-top:6px;padding-left:0px;list-style-position:inside}#filesafe-embed #messages ul li{line-height:1.4;font-weight:500}#filesafe-embed #messages ul li:not(last-child){margin-bottom:5px}#filesafe-embed #attach-file-button-label{color:var(--sn-stylekit-info-contrast-color)}#filesafe-embed .files-view{margin-top:3px}#filesafe-embed .files-view #add-file-button-container{margin-right:18px;margin-bottom:8px}#filesafe-embed .files-view #file-upload-status{margin-right:30px;margin-bottom:18px;padding-top:4px}#filesafe-embed .files-view .file-download-status{margin-top:10px;margin-bottom:0px}#filesafe-embed .files-view .file-download-status .sk-spinner{border-color:var(--sn-stylekit-info-contrast-color);border-right-color:transparent}#filesafe-embed .files-view .file-download-status .file-status-label{font-weight:bold;margin-left:0.5rem}#filesafe-embed .files-view .segmented-buttons{margin-right:10px}#filesafe-embed .files-view .files{display:flex;flex-direction:row;flex-wrap:wrap}#filesafe-embed .files-view .files .sk-button{white-space:normal;word-break:break-all}#filesafe-embed .files-view .files .file-item-container{margin-right:5px}#filesafe-embed .files-view .files .file-item-container.expanded{flex-wrap:wrap;margin-bottom:10px}#filesafe-embed .files-view .files .file-item-button{border:none;margin-right:5px}#filesafe-embed .files-view .files .file-item-button:not(.selected){margin-bottom:10px}#filesafe-embed .files-view .files .file-item-button.selected{margin-right:0px;padding:12px;border-radius:3px}#filesafe-embed .files-view .files .file-item-options-wrapper{display:inline-block}#filesafe-embed .files-view .files .file-item-options-wrapper .file-location{opacity:0.7;font-size:0.7rem;margin-top:9px}#filesafe-embed .files-view .files .sk-app-bar.file-item-options{width:fit-content;display:flex;flex-direction:row;margin-top:10px;margin-bottom:0px;margin-left:auto;margin-right:auto;padding:0 1rem}#filesafe-embed .files-view .files .sk-app-bar.file-item-options .center{display:flex;height:100%;margin-left:auto;margin-right:auto}#filesafe-embed .files-view .files .sk-app-bar.file-item-options .disabled{opacity:0.5}#filesafe-embed .files-view .files .sk-app-bar.file-item-options .sk-button{border-radius:0} @keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.redactor-animate-hide{display:none!important}.redactor-fadeIn{opacity:0;animation:fadeIn .2s ease-in-out}.redactor-fadeOut{opacity:1;animation:fadeOut .2s ease-in-out}@font-face{font-family:Redactor;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBkcAAAC8AAAAYGNtYXAXVtKwAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zuxdz/8AAAF4AAAkQGhlYWQPMte3AAAluAAAADZoaGVhB7gD6wAAJfAAAAAkaG10eK4BD60AACYUAAAAuGxvY2GyjqiGAAAmzAAAAF5tYXhwADkBcwAAJywAAAAgbmFtZVDOJQoAACdMAAABknBvc3QAAwAAAAAo4AAAACAAAwP0AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpKQPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Sn//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAADAAAAgAQAAwAAEgAoADwAABMhMhYVMRUUBiMhIiY1MTU0NjMDITIWFTEVFAYjITgBMSImPQE0NjMxEyEyFhUxFRQGIzEhIiY1MTU0NjO7AooZIiIZ/XYZIiIZgAOKGSIiGfx2GCMiGYACihkiIhn9dhkiIhkDACIZChkiIhkKGSL/ACIZCRkiIhgKGSL/ACIZChkiIhkKGSIAAAADAAAAgAQAAwAAEwApAD4AABMhMhYVMRUUBiMhIiY1MTU0NjMxESEyFhUxFRQGIyE4ATEiJj0BNDYzMREhMhYVMRUUBiMxISImNTE1NDYzMTsCyhkiIhn9NhkiIhkDihkiIhn8dhgjIhkCyhkiIhn9NhkiIhkDACIZChkiIhkKGSL/ACIZCRkiIhgKGSL/ACIZChkiIhkKGSIAAAADAAAAgAQAAwAAEgAoADwAABMhMhYVMRUUBiMhIiY1MTU0NjMDITIWFTEVFAYjITgBMSImPQE0NjMxEyEyFhUxFRQGIzEhIiY1MTU0NjP7AsoZIiIZ/TYZIiIZwAOKGSIiGfx2GCMiGcACyhkiIhn9NhkiIhkDACIZChkiIhkKGSL/ACIZCRkiIhgKGSL/ACIZChkiIhkKGSIAAAADARkARwLnAwAAKwA0AFUAACU+ATU0JjUxNjQ1NCYvAT4BNzE8ATU0JicxLgEjKgEjMSIHETMyFjMyNjcHAzIVFCMiIzUzAzoBMzIWFyceARUcARU1HAEVFAYHFQ4BIyImIzMiJzUzAp8hJwEBSDcCJjABIRshUS0CBQI4iM8DBgMwWCQByWp3HxxGBwUJBRw0FgEQEhUSFjQcBAkEARcmQIAZSiwBBAEDBwM9XRABEEUrAQMBJj8WGBsG/U4BHxsBAhdPWqb+/w4OAQ4oFwIFAgECBQIZLA4BDQ8BA+MAAAIAwAAAA0ADgAAsADgAACUiJicxJwcOASM4ATkBKgEjIiYnNRE+ATM6ATMxIToBMzIWFzERDgEjKgEjMQERNz4BMzIWFzEXEQMACxMI2toIEwsBAgEYIgICIhgBAgECAAECARgiAgIiGAECAf5AmgcUCgsTCJsABwWOjgYGIBcBAxAYICEX/PAXIQMQ/ZhlBgYGBmUCaAAABQBAAAADwAOAABMAFwAnADcARwAAASEiBhUxERQWMzEhMjY1MRE0JiMRIREhBSEyFhUUBiMxISImNTQ2MxUhMhYVFAYjMSEiJjU0NjMVITIWFRQGIzEhIiY1NDYzA0D9gDVLSzUCgDVLSzX9gAKA/gABgBslJRv+gBslJRsBgBslJRv+gBslJRsBgBslJRv+gBslJRsDgEs1/YA1S0s1AoA1S/0AAoBAJRsbJSUbGyXAJRsbJSUbGyXAJRsbJSUbGyUAAAMAQAAAA8ADgAATABcAWQAAASEiBhUxERQWMzEhMjY1MRE0JiMRIREhAzEHDgEjOAE5ASoBIyImJzE0NjcxNyMwIjEiJicxNDY3MTc+ATM4ATkBOgEzMhYXMRQGBzEHMzAyMTIWFzEUBgcxA0D9gDVLSzUCgDVLSzX9gAKAiMAFEAkBAQEOFAIEBJTpAg4VAQQEwAUQCQEBAQ4UAgQElOkCDhUBBAQDgEs1/YA1S0s1AoA1S/0AAoD+reAGBxIOBQoErRIOBQoE4AYHEg4FCgStEg4FCgQAAAEAgAA8A4ADAQCDAAABIy4BJyMnLgEnFy4BJzUuATUwNDUxPAE1NDY3MT4BMzoBMzEeARcjHgEXIzcuASMqAQczKgEjIgYHMQ4BFRwBFTEcARUUFhc1HgEfAiEVIRceARUxHAEVFAYHMQ4BIyoBIzEuAScXLgEnFwceATM6ATMjMhYzMjY3MT4BNzEuAScXMwOA9BIoFwI5FSMRAQgOBQUFDw0NIxMCBAITJBECEB0NARscQiQHDgYBAgQCJkQaGR0PDRIxHQIv/p0BxAQJChIPESoYAQQBEyQRAhIhDgEiH0wpAgQDAQMHAyxOIB0iAQEIBwHTAYASHQsbChUNAQcSCgEKFw0BAQEBARQiDQsOAQYGBA4IURETARsYFz8lAQMBAQICHDUXARkmCwEWQAQOIREBAQEWJg4OEAEHBgEGEAsBVhUWAR0aF0QoFCYSAgAAAAACAEAAAAPAA4AAHQA9AAABBzMyFhUUBisBIiY1MTU0NjMyFhUxFTceARcVFDY/ASMiJjU0NjMxMzIWFTEVFAYjIiY1MTUHLgEnNTQGNwHA50cTGhoTsxMaGhMSG+YYIgYGeudHExoaE7MTGhoTEhvmGCIGBgYBQOYbEhMaGhOzExoaE0fnBSMXAQkP+uYbEhMaGhOzExoaE0fnBSMXAQkPBgAAAAMAQABAA8ADgAAbAB4AIgAAASMVMxEhETM1IyIGFTERFBYzMSEyNjUxETQmIwEHISczESMDQICA/YCAgDVLSzUCgDVLSzX+wIABAKpUVAKAgP7AAUCASzX+wDVLSzUBQDVLAQDaIP66AAAAAAMAQAAAA8ADgAADABcAHwAAATMnBwEhIgYVMREUFjMxITI2NTERNCYjAycjByMTMxMBuI1GRwGI/YA1S0s1AoA1S0s1sivIKHPoLuoBgdHRAf9LNf2ANUtLNQKANUv9QHNzAkD9wAAABAA/AMADvwL/AAcACgB5ALAAACUDIwMzNzMXJyM3AREwNDU0JicXLgEnMS4BJyMuASMqATkBOAExIgYHMwYHBgcGBxU+ATczPgEzMToBMzIWFzEeARUwFBUxFSMmIiMiBgczDgEVHAEVNRQwFRQWFyceARcxHgEXMx4BMzoBMzE4ATEyNjcjPgE3MRczJw4BDwEOAQcjMCIjIiYnMS4BJzEuASc1LgE1OAE5ATQwNTQ2NzE+ATcxPgE3Mz4BMzoBMzEzFQJA6i7pcynIK0mMRgKABgUBBQ8JChcNAQ0eDwECChMKAhMREBAPDA0fEQMOIBACBAIQHgwKC04DBwQfOBgBFBcEBAEECwcIEwoBCxoOAQIBEiIQAhMfDQE7Qg0eEQELGg4BAQEHDgYGCQQEBQICAQMCAwgGBg4IAQgUCwEBAVPAAj/9wXNzwNH+egEEAgEOGgwBDBMIBwwDBAQBAQIEAwQEBTsGCgQEBAsJChoPAgEhARIPDiwaAQICAQEBCxUKAQoRBwcLBAQFCAYIFg4zaAwWCAEGBwEDAgIGBAQIBQEECwUBAQcOBgYLBAUHAgMCQwAAAAAHAD8AQAPRA0AABwAKAA4AEgAWABoAHgAAJQMjAzM3MxcnIzclMxEjExcHJzcHFzcDNycHFyc3FwJA6i7pcynIK0mMRgHBQEAkLbUtrS21La0ttS2tLbUtwAI//cFzc8DR7/0AAvEttS21LbUt/dMttS21LbUtAAABAMAAQANAA0AAMgAAASEqASMiBgczDgEHMw4BBxUOARUcARUxFBYXNR4BFzEeARczHgEzOgEzMREzETMRMxEzA0D+YAIFAhgsFQIUJA8BDxYIBgcJBwgXDg4hEwEULRgCBAFcgFxoA0AHBgYUDAwdEQEPIhICBQITJBABER4MDRUHCAf+cwKr/VUCqwAAAAAC//EAswQEAtwABQALAAABLQEnCQEBDQEXCQEBn/8AAQBR/qMBXQEJAQD/AFABXf6jAQDIxk7+7P7rAdzIxk0BFAEUAAYAQABAA8ADQAADAB8AIgAlADgATAAAAREhEQU6ATMyFhcxDgEjKgEjMSoBIyImJzE+ATM6ATMHNxcxNxcBITIWFTEVFAYjISImNTE1NDYzESEyFhUxFRQGIzEhIiY1MTU0NjMBAAIA/qsBAgIVHgMDHhUCAgEBAwEVHwICHxUBAwFcTUh0bf22AwoZIiIZ/PYZIiIZAwoZIiIZ/PYZIiIZAoD+gAGAShwUFRsbFRQc9lBQgIACACIZChkiIhkKGSL9gCIZChkiIhkKGSIAAAAHAEAAgAPAAwAAEgApAD0AQQBeAGEAZAAAATMyFhUxFRQGKwEiJjUxNTQ2MxEzMhYVMRUUBiMxIzgBMSImPQE0NjMxASEyFhUxFRQGIzEhIiY1MTU0NjMDESERBTAyMzIWFzEOASMqATkBKgExIiYnMT4BMzAyMzEHNxcjNxcCu8oZIiIZyhkiIhnJGSIiGckYIyIZ/cADChkiIhn89hkiIhk7AcD+1gEBFB0BAR0UAQEBARQdAQEdFAEBUUNAA2hgAwAiGQoZIiIZChki/wAiGQkZIiIYChki/wAiGQoZIiIZChkiAgD+gAGAShwUFBwcFBQc9lBQgIAAAAAHAEAAgAPAAwAAEwAtAEEARQBaAF0AYAAAEzMyFhUxFRQGIzEjIiY1MTU0NjMRMzIWFTEVFDAxFAYjOAExIyImNTE1NDYzMREhMhYVMRUUBiMxISImNTE1NDYzAREhEQUwMjMyFhcxDgEjIiYnMT4BMzoBMwc3Fyc3F3vKGSIiGcoZIiIZyhkiIhnKGSIiGQMKGSIiGfz2GSIiGQGFAcD+1gEBFB0BAx0VFB0DAR0UAQEBUURABGVjAwAiGQoZIiIZChki/wAiGQkBGSIiGQoZIv8AIhkKGSIiGQoZIgIA/oABgEocFBQbGxQUHPZPUAGAgAAABAAAAAAEAAOAAAMAIAAjACYAABMRIREFOgEzMhYXMQ4BIyoBIzEqASMiJicxPgEzOgEzMQM3FzUbAQAEAP1UAQEBL0MBAUMvAQEBAQEBL0MBAUMvAQEBt5uR6NoDgPyAA4CsQS8vQUEvL0H9xbe7BAEn/tQAAAAABQAAAIAEAAMAABMAKgA+AEEARQAAEyEyFhUxFRQGIyEiJjUxNTQ2MzEBITIWFTEVFAYjMSE4ATEiJj0BNDYzMREhMhYVMRUUBiMxISImNTE1NDYzJwcRBzMVIzsDihkiIhn8dhkiIhkBwAHJGSIiGf43GCMiGQHKGSIiGf42GSIiGbvAgICAAwAiGQoZIiIZChki/wAiGQkZIiIYChki/wAiGQoZIiIZChkiIaEBQIBAAAAAAgDAAAADgAOAACQASQAAJTEqASMiJy4BJyYnNDc+ATc2MzIXHgEXFhUxBgcOAQcGIyoBIzU6ATMyNz4BNzY3MTQnLgEnJiMiBw4BBwYVFhceARcWMzoBMzECIAEDAUc/P14bHAExMHw5OREROTl8MDEBHBtePz9HAQMBAQIBNS8vRxQVASYlXisqCgoqK14lJgEVFEcvLzUBAgEAGxpdPj5HR2BfrTw8PDytX2BHRz4+XRobVRQURi4vNTVKSYUvLy8vhUlKNTUvLkYUFAAAAAEBswBIAowC9gADAAAlEyMDAhN5X3pIAq79UgABAAABgQQAAgAAFQAAEyEyFhUxFRQGIyE4ATEiJj0BNDYzMTsDihkiIhn8dhgjIhkCACIZCRkiIhgKGSIAAAAAAwAAAL8EAALBADgAPAB5AAAlIiYnFzUzHgE7ATIWMzI2PwEuASMqASMzDgEHNyM1PgE7ATI2MzIXHgEXFhcVBgcOAQcGIyImIzMBIRUhJw4BBzcjFQ4BFRQWFzEVMx4BMzI2NwczFQ4BKwEiBiMiJy4BJyYnNTY3PgE3NjMyFjMjMhYXJxUjLgEnIwLcKUshAj0TKxcBAwkEQF4IAQhfQAQJBAEYLBQCPSBKKAEDCQU2MTBKFxcEBBcXSjAxNgUJBAH+kQEl/ttJFywUAjwSExMSPBMrFxgsFAI9IEooAQMJBTYxMEoXFwQEFxdKMDE2BQkEASlLIQI9EysXAcAUEgFbCAoBVD4BP1QBCgkBWxEUARQURS8vNQE2Ly9FFBQBAUCA0wEKCQEpES0ZGi0RKAgKCgkBWxEUARQURS8vNQE2Ly9FFBQBFBIBWwkJAQAABQAaAIAEAAMAABIAKAA8AEYAdAAAASEyFhUxFRQGIyEiJjUxNTQ2MxEhMhYVMRUUBiMhOAExIiY9ATQ2MzERITIWFTEVFAYjMSEiJjUxNTQ2MwM1Iw4BByMVNxUTNSM3PgE3MTY0NTQmJzEuASMiBiMzMCIxIgYHMQ4BBzEXPgE7ATIVDgEHMQcVATsCihkiIhn9dhkiIhkCihkiIhn9dhgjIhkCihkiIhn9dhkiIhm2EA4kFAEvVVYvCg0CAQsJCxkOAgICAQEKFAgIDQQbBRUMAR8CCwlJAwAiGQoZIiIZChki/wAiGQkZIiIYChki/wAiGQoZIiIZChkiAQjlEBsKJxyl/oAkRw4gEgEBAQwWBwgJAQUGBA4JFgsOGhAbC2kMAAUAAACABAADAAATACoAPgBBAEUAABMhMhYVMRUUBiMhIiY1MTU0NjMxASEyFhUxFRQGIzEhOAExIiY9ATQ2MzERITIWFTEVFAYjMSEiJjUxNTQ2MyUXERUzFSM7A4oZIiIZ/HYZIiIZAcAByRkiIhn+NxgjIhkByhkiIhn+NhkiIhn+BcCAgAMAIhkKGSIiGQoZIv8AIhkJGSIiGAoZIv8AIhkKGSIiGQoZIiGhAUCAQAAAAAYAAP/ABAADwAAdADsAPwBDAEcASwAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjESInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjAyEVIREhFSEbARcDNxMXAwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qUEVGaR4eHh5pRkVQUEVGaR4eHh5pRkVQwAGA/oABgP6AQEo2SkpKN0sDwCgoi15dampdXosoKCgoi15dampdXosoKPyAHh5pRkVQUEVGaR4eHh5pRkVQUEVGaR4eAUBAAQBA/tsB5Rv+GxsB5Rr+GgAAAAUAAACABAADAAATADMASABoAH8AABMhMhYVMRUUBiMhIiY1MTU0NjMxATMyMDEyFhU4ATkBFRQwMRQGIzgBMSMiJjUxNTQ2MzEBITIWFTEVFAYjMSEiJjUxNTQ2MzEBMzIwMTIWFTgBOQEVFDAxFAYjOAExIyImNTE1NDYzMTsBMhYVMRUUBiMxIzgBMSImPQE0NjMxOwOKGSIiGfx2GSIiGQEACQEZIiIZChkiIhn/AAOKGSIiGfx2GSIiGQHACQEZIiIZChkiIhnACRkiIhkJGCMiGQMAIhkKGSIiGQoZIv8AIhkJARkiIhkKGSL/ACIZChkiIhkKGSIBACIZCQEZIiIZChkiIhkJGSIiGAoZIgAAAAEAwACAA0ADAABHAAA3MDIxMjY1OAE5ATU0NjMxIQcOARUUFjMyNjcxNz4BNTQmLwEuASMiBhUUFh8BITgBMSIHDgEHBhU4ATkBFTgBMRQWMzgBOQHoARAYXUMBB4QGBhgQCA8FyAYGBgbIBQ8IEBgGBoT++DIrLEETExcRgBcRoEJehAUOCRAYBwXIBQ8ICA8FyAYGFxEIDgaEExJCKywyoBEXAAAAAAIAQAAAA4ADgAAeADwAAAEHMzIWFRQGKwEiJjUxNTQ2MzIWFTEVNx4BFxUUNgcBNyMiJjU0NjsBMhYVMRUUBiMiJj0BBy4BJzU0BjcDgOdHExoaE7MTGhoTEhvmGCIGBgb8wOdHExoaE7MTGhoTEhvmGCIGBgYDQOYbEhMaGhOzExoaE0fnBSMXAQkPBv0A5hsSExoaE7MTGhoTR+cFIxcBCQ8GAAAAAAEAgAA+A38DQADGAAAlIiMHPgE3Iz4BNzU+AT8BPgE1PAE1MTwBNTQmJxcuAScjLgEnIy4BIyoBIzEqASMiBgc3DgEHMQ4BDwEOARUcARU1FDAxFBYXNR4BFyceAR8BHgEfASciKwEVMBQxFBYXMR4BMzoBOQEhNS4BJxUuAS8BLgEnNS4BNTwBOQE8ATU0NjcVPgE3MT4BNzM+ATMyFhcjHgEXIx4BHwEeARUcARUxMBQVFAYHNw4BBzUOAQ8BDgEHIxUhOgExMjY3MT4BNTA0OQE1AvYXFy0ZLBQBFCIPDhcIAQcJEA8BDikYARk6IAIgSSYBAgEBAgEmSSICIjwZGSgOAQ4PCQgIFw8BDyITARMsFwItFxaKBgYFDwgBAQEZFSYQER4MAQwVBwcICwoJHBERJxYBFjEZGjEYAxgoEQESGwkBCQsIBwEIFA0MHhEBECUVAQEZAQEJDgYFBqgFCRgPDyQUARQuGAMXNhwBAQEBAQEmRyACITcXFiMMDQ0ODQENJBcXNx8CH0YmAQIBAQEdNxoCGi8UARUkDwEOGAkBBkABCA4FBQaRBA8MAQ0eEQESKBcCFjEaAQEBAwEcNBgBFicPDxcICAgICAcYDw8mFgEXNBwBAwEBARoyGAMYKhIBEh4MAQsPBI8GBQUOCAFAAAAAAAIBFQAWA+kCnQALAD0AACUnNyMHJyMXBzM3FwU1Izc+ATc1PAE1NCYnIy4BIyoBIzMqASMiBgc3DgEPARc+ATcxPgEzMTIVDgEHMQcVAsy7q111al2dq2FygAGBj1IQFQMQDQEPJxUCBAIBAQEBEB0NAQwRBAEgBQ0ICBMLOQMSD3PI8OWhoeXwq6uwLYAWNB0BAQMBEyEMCw0IBwEHFAwBGgkNBQUGMxowE7AKAAAAAgEVAMgD6QONAAsAPQAAJSc3IwcnIxcHMzcXATUjNz4BNzU8ATU0JicjLgEjKgEjMTAiIyIGBzMOAQcVFz4BNzE+ATcxMhUOAQc1BxUCzLurXXVqXZ2rYXKAAYGPUhAVAxANARAoFgEDAQIBEB0NAQwRBCAEDQgIFAo5AhMPcsjw5aGh5fCrqwFQLYAWNB0BAQMBEyEMDQ4IBwYUDAEaCA4FBQUBMxsvFAGxCgAAAAAGAEAAQAPAAwAAAwAHAAsADwATABcAABMhFSElIRUhBSEVISUhFSEFIRUhJSEVIUABov5eAd4Bov5e/iIBov5eAd4Bov5e/iIBov5eAd4Bov5eAwDAwMBAwMDAQMDAwAACAIAAQQOAA0AALgBfAAABMhYVMBQVFAYHNQchMhYVFAYjIRceARUcATkBFAYjIiYnNScuATU0NjcxNz4BMwExFx4BFRQGBzEHDgEjMSImNTA0MTQ2NzE3IQYmNTQ2MyEnLgE1PAE5ATQ2MzIWFxUBEBQcCAYOAiwUHBwU/dQOBwccFAsRBmAGCAgGYAYRCwIAYAcHBwdgBhELFBwIBg791hQcHBQCLA4HBxwUCxEGA0AmGgEBDBYKARMmGhomEwkWDAEBGiYKCAGACRcNDBcKgAgL/m2ACRcNDBcKgAgKJRsBDRYJEwEmGhomEwkWDAEBGiYKCAEAAAQBAACAAwEDAAADAAcACwAPAAABJzcXFzcnBwMHFzc3FwcnASkp6ynDKuwpwynrKcMq7CkCACfZJtom2ib+pibaJ9kn2ScAAAIA0P/AAxADDgA5AD0AAAEcARUUFhcxHgEzMjYzIzoBMzI2NxU+ATU8ATUVESMRHAEVFAYHMQ4BIyoBIzEqASMiJjU0NjUxESMDNSEVARIfGx5LKgUKBQEDBwMsTR8cIVgUERIxGwIEAgEEAzVLAVhCAkABTAMHAylJGhgcAR0aARtIKgMGAwEBwP5GAQQCGy8SERRLNQIDAgG2/Lc4OAABAMAAgANAAwAANgAAJSImNTE1NCYjMSEXHgEVFAYjIiYnMScuATU0Nj8BPgEzMhYVFAYHMQchMhceARcWFTEVFAYjMQMYEBdeQv73hAYGGBAIDwXIBgYGBsgFDwgQGAYGhAEIMissQRMTFxGAFxGgQl6EBQ4JEBgHBcgFDwgIDwXIBgYXEQgOBoQTE0EsLDGgERcABgAAAIAEAAMAABIAKAA8AFAAcACEAAATITIWFTEVFAYjISImNTE1NDYzESEyFhUxFRQGIyE4ATEiJj0BNDYzMREhMhYVMRUUBiMxISImNTE1NDYzIzMyFhUxFRQGIzEjIiY1MTU0NjMRMzIwMTIWFTgBOQEVFDAxFAYjOAExIyImNTE1NDYzMREzMhYVMRUUBiMxIyImNTE1NDYz+wLKGSIiGf02GSIiGQLKGSIiGf02GCMiGQLKGSIiGf02GSIiGcAKGSIiGQoZIiIZCQEZIiIZChkiIhkKGSIiGQoZIiIZAwAiGQoZIiIZChki/wAiGQkZIiIYChki/wAiGQoZIiIZChkiIhkKGSIiGQoZIgEAIhkJARkiIhkKGSIBACIZChkiIhkKGSIAAAAAAwBeAE4DrwMdAKcBUgFwAAAlMzUjKgEjIiYnMS4BNTwBNTE0NzY1NjQ1NCYnFS4BJzE1PgE3MT4BNTwBJxU0JyY1PAE1NDY3MT4BMzIWMzEzNSMwIiMiBgczDgEHMQ4BDwEOARUcARU1FBcWFxYXFhUwFDEUBgcxDgEHMQ4BByMOASMqASMxFToBMzIWFyMeARcxHgEXFR4BFzEUBwYHBgcGFRwBFRQWFyceARcxHgEXMx4BMzoBMyMFMzoBMTI2NyM+ATcxPgE3MT4BNTQmNTE0JyYnJicmNTgBMTQ2NxU+ATcxPgE3NT4BMzAyMzE1KgExIiYnFy4BJzEuASc1LgE1OAE5ATQ3Njc2NzY3PAE1NCYnFS4BJzEuAS8BLgEjKgEjMSMVMzoBMzIWFzEeARUUBhUxFAcGFRwBFRQWFyMeARczFQ4BBzEOARUcARU1FBcWFRwBFRQGBzcOASMqASMxIxUlMzc2NzY3MxYXFh8BMyc3IwcGBwYHIyYnJi8BIxcBBC0TAQMCChIGBQYCAgEIBgcWDQ0WBwcHAQICBgUGEgoCAwETLQIBCxYKAQoQBgYKAgEDAwECAQEBAQECAgYEBAsGAQcQCAEBAQEBAQgRBwEHCwUDBgICAQECAQECAQEDBAEDCgYGEAkBCRYLAQIBAQHXLQEBDBYLAgoQBgcJAwMEAQEBAQIBAQIBAgYEBAsHBxAJAgEBAgkQCAEGCwUEBgIBAgECAQEBAQEEAwMJBwYQCQEJFgsBAQEtEwIDAQsRBwUGAQICBwcBCBUNAQ4VCAYHAgIFBgEHEQsBAwIT/mVcOgkJCAoDCwkKCjtgioJcNAgICAkDCwgJCTZgglE0CAcKFgwCBAIkISIoAgQDDx0NAQsPAwMDDwsMHRACBQIBKCIiJAEFAgwWCgYJATUDAwIKBwcSCQEMGg0BAgIBFxITEhESEhQBBgsFBgkEBQcDAwM6AwMDBwUECgUBBQsHFBESEhETExYBAgEOGwwBChIHBwkDAgMDAwIDCQcHEgoMGg4BAgEWExISERISFAYMBgEGCgQFBwIBAgM7AwMBAwcFBAoFAQQMBhUREhIRExMWAQIBDhoNAgsSBwYKAgECAzQIBwkXCwMEAiQhIigCBAMPHQ0KDwMDAw8LDB0QAgQDASgiISQCBAMMFgoBBwg0c2kSERIUFBIREmnj3WMQEBEUFBARD2TaAAAEAAAAQAQAA0AAIwA3AFwAXwAAASEiBw4BBwYVMREUFx4BFxYzMSEyNz4BNzY1MRE0Jy4BJyYjExQGIzEhIiY1MRE0NjMxITIWFTEFMQcOASMwIjkBKgEjIiYnMTU+ATM6ATMxMhYXIxceARUUBgcVJzcnAwD+ADUvLkYUFBQURi4vNQIANS8uRhQUFBRGLi81gEs1/gA1S0s1AgA1S/7pmgYNCAEBAgESGwICGxIBAgEIDgcBmgoNDQqACAsDQBQURi4vNf8ANS8uRhQUFBRGLi81AQA1Ly5GFBT+ADVLSzUBADVLSzWjVgMEGRKqEhkEBFUEEwwLEwQBHgUGAAAACgBAAAADwAOAAA8AJQAzAEEAUgBnAHgAjgCfALUAAAEjIiY1NDYzMTMyFhUUBiMnDgEjIiY1NDY3MTc+ATMyFhUUBgcxASImNTQ2MzIWFTEUBiM1IgYVFBYzMjY1MTQmIzUiJjUxNTQ2MzIWFTEVFAYjBycuATU0NjMyFh8BHgEVFAYjIiYnFxQGIzEjIiY1NDYzMTMyFhUHPgEzMhYVFAYHMQcOASMiJjU0NjcxJTIWFTEVFAYjIiY1MTU0NjM3Fx4BFRQGIyImJzEnLgE1NDYzMhYXA4hwFyEhF3AXISEXmggUCxchCAdQBxULFyEJB/7DRmJiRkZiYkYXISEXFyEhFxchIRcXISEX7k8HCSEXCxUHUAcIIRcLFAgOIRdwFyEhF3AXIQ4IFAsXIQgHUAcVCxchCQcBPRchIRcXISEX7k8HCCEXCxQHUAcIIRcLFAgBiCEXFyEhFxch1gcIIRcLFAhPBwkhFwsVB/5qYkZGYmJGRmLgIRcXISEXFyGoIRdwFyEhF3AXIUJQBxULFyEJB08IFAsXIQgHnhchIRcXISEXngcIIRcLFAhPBwkhFwsVBw4hF3AXISEXcBchQlAHFAsXIQgHTwgUCxchCAcAAAAAAQAAAAEAAIeeNh1fDzz1AAsEAAAAAADWD0mdAAAAANYPSZ3/8f/ABAQDwAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAP/x//wEBAABAAAAAAAAAAAAAAAAAAAALgQAAAAAAAAAAAAAAAIAAAAEAAAABAAAAAQAAAAEAAEZBAAAwAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAD8EAAA/BAAAwAQA//EEAABABAAAQAQAAEAEAAAABAAAAAQAAMAEAAGzBAAAAAQAAAAEAAAaBAAAAAQAAAAEAAAABAAAwAQAAEAEAACABAABFQQAARUEAABABAAAgAQAAQAEAADQBAAAwAQAAAAEAABeBAAAAAQAAEAAAAAAAAoAFAAeAGwAugEIAXgBxAImApIDPAOOA8QD+ATUBRAFWAV6BeIGYAbaBxYHcAfYB+YIBgiuCUAJmgoSCpwK8AtEDEAMmAzwDSANnA3ADhAOWg7wELYRNhIgAAAAAQAAAC4BcQAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAgAAAABAAAAAAACAAcAaQABAAAAAAADAAgAOQABAAAAAAAEAAgAfgABAAAAAAAFAAsAGAABAAAAAAAGAAgAUQABAAAAAAAKABoAlgADAAEECQABABAACAADAAEECQACAA4AcAADAAEECQADABAAQQADAAEECQAEABAAhgADAAEECQAFABYAIwADAAEECQAGABAAWQADAAEECQAKADQAsFJlZGFjdG9yAFIAZQBkAGEAYwB0AG8AclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMFJlZGFjdG9yAFIAZQBkAGEAYwB0AG8AclJlZGFjdG9yAFIAZQBkAGEAYwB0AG8AclJlZ3VsYXIAUgBlAGcAdQBsAGEAclJlZGFjdG9yAFIAZQBkAGEAYwB0AG8AckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");font-weight:400;font-style:normal}[class*=" re-icon-"],[class^=re-icon-]{font-family:Redactor!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.re-icon-aligncenter:before{content:"\e900"}.re-icon-alignleft:before,.re-icon-alignment:before{content:"\e901"}.re-icon-alignright:before{content:"\e902"}.re-icon-bold:before{content:"\e903"}.re-icon-bookmark:before{content:"\e904"}.re-icon-clips:before{content:"\e905"}.re-icon-codesnippets:before{content:"\e906"}.re-icon-deleted:before{content:"\e907"}.re-icon-expand:before{content:"\e908"}.re-icon-file:before{content:"\e909"}.re-icon-fontcolor:before{content:"\e90a"}.re-icon-fontfamily:before{content:"\e90b"}.re-icon-fontsize:before{content:"\e90c"}.re-icon-format:before{content:"\e90d"}.re-icon-html:before{content:"\e90e"}.re-icon-imagecenter:before{content:"\e90f"}.re-icon-imageleft:before{content:"\e910"}.re-icon-imageright:before{content:"\e911"}.re-icon-image:before{content:"\e912"}.re-icon-indent:before{content:"\e913"}.re-icon-inline:before{content:"\e914"}.re-icon-italic:before{content:"\e915"}.re-icon-horizontalrule:before,.re-icon-line:before{content:"\e916"}.re-icon-link:before{content:"\e917"}.re-icon-ol:before,.re-icon-ordered:before{content:"\e918"}.re-icon-outdent:before{content:"\e919"}.re-icon-properties:before{content:"\e91a"}.re-icon-readmore:before{content:"\e91b"}.re-icon-redo:before{content:"\e91c"}.re-icon-retract:before{content:"\e91d"}.re-icon-specialcharacters:before{content:"\e91e"}.re-icon-sub:before{content:"\e91f"}.re-icon-sup:before{content:"\e920"}.re-icon-table:before{content:"\e921"}.re-icon-textdirection:before{content:"\e922"}.re-icon-toggle:before{content:"\e923"}.re-icon-underline:before{content:"\e924"}.re-icon-undo:before{content:"\e925"}.re-icon-lists:before,.re-icon-ul:before,.re-icon-unordered:before{content:"\e926"}.re-icon-variable:before{content:"\e927"}.re-icon-video:before{content:"\e928"}.re-icon-widget:before{content:"\e929"}.redactor-box,.redactor-box textarea{z-index:auto}.redactor-box{position:relative;box-sizing:border-box}.redactor-box.redactor-styles-on{margin:0;padding:0;background:#fff;border:1px solid rgba(0,0,0,.075);border-radius:3px;box-shadow:none}.redactor-box.redactor-inline{position:static}.redactor-focus.redactor-styles-on,.redactor-focus:focus.redactor-styles-on{border-color:#82b7ec!important}.redactor-over:hover.redactor-styles-on{border-color:#ee698a!important}.redactor-source-view,.redactor-source-view.redactor-styles-on{border-color:#000!important}.redactor-in{position:relative;overflow:auto;white-space:normal;box-sizing:border-box}.redactor-in:focus{outline:0}.redactor-inline .redactor-in{overflow:hidden}.redactor-in *,.redactor-read-only *{outline:0!important}.redactor-in blockquote:empty,.redactor-in div[data-redactor-tag=br]:empty,.redactor-in div[data-redactor-tag=tbr]:empty,.redactor-in h1:empty,.redactor-in h2:empty,.redactor-in h3:empty,.redactor-in h4:empty,.redactor-in h5:empty,.redactor-in h6:empty,.redactor-in p:empty{min-height:1.5em}.redactor-in div[data-redactor-tag=br],.redactor-in div[data-redactor-tag=tbr]{margin-top:0;margin-bottom:0}.redactor-in b:empty,.redactor-in em:empty,.redactor-in i:empty,.redactor-in ins:empty,.redactor-in span:empty,.redactor-in strong:empty,.redactor-in sub:empty,.redactor-in sup:empty,.redactor-in u:empty{display:inline-block;min-width:1px;min-height:1rem}.redactor-in table{empty-cells:show}.redactor-in li figure{width:auto;display:inline-block;margin:0;vertical-align:top}.redactor-in figcaption:focus,.redactor-in figure code:focus,.redactor-in figure pre:focus,.redactor-in table td:focus,.redactor-in table th:focus{outline:0}.redactor-in figure[data-redactor-type=line]{margin-top:1em;padding:6px 0;vertical-align:baseline}.redactor-in figure[data-redactor-type=line] hr{margin:0;height:3px;border:none;background:rgba(0,0,0,.1)}.redactor-script-tag{display:none!important}.redactor-component{position:relative}.redactor-component[data-redactor-type=video]:before,.redactor-component[data-redactor-type=widget]:before{width:100%;height:100%;content:"";display:block;position:absolute;z-index:1}.redactor-component[data-redactor-type=image],.redactor-component[data-redactor-type=widget]{clear:both}.redactor-component[data-redactor-type=variable]{white-space:nowrap;background:rgba(0,125,255,.75);color:#fff;display:inline-block;padding:3px 6px;line-height:1;border-radius:4px;cursor:pointer}.redactor-component-active{outline:5px solid rgba(0,125,255,.5)!important}.redactor-component-active[data-redactor-type=image]{outline:0!important}.redactor-component-active[data-redactor-type=image] img{outline:5px solid rgba(0,125,255,.5)!important}.redactor-component-active[data-redactor-type=variable]{outline:0!important;background:#ee698a}.redactor-component-active[data-redactor-type=video]{outline:0!important}.redactor-component-active[data-redactor-type=video] iframe{outline:5px solid rgba(0,125,255,.5)!important}.redactor-blur.redactor-styles-on .redactor-component-active{outline:5px solid #ddd!important}.redactor-blur.redactor-styles-on .redactor-component-active[data-redactor-type=image]{outline:0!important}.redactor-blur.redactor-styles-on .redactor-component-active[data-redactor-type=image] img{outline:5px solid #ddd!important}.redactor-blur.redactor-styles-on .redactor-component-active[data-redactor-type=video]{outline:0!important}.redactor-blur.redactor-styles-on .redactor-component-active[data-redactor-type=video] iframe{outline:5px solid #ddd!important}.redactor-blur.redactor-styles-on .redactor-component-active[data-redactor-type=variable]{outline:0!important;background:#ddd}.redactor-component-caret{position:absolute;left:-9999px}.redactor-textnodes-wrapper{display:inline-block}#redactor-image-resizer{position:absolute;z-index:1051;background-color:rgba(0,125,255,.9);width:13px;height:13px;border:1px solid #fff;cursor:move;cursor:nwse-resize}.redactor-file-item{display:inline-block;line-height:1;padding:4px 12px;border-radius:16px;border:1px solid rgba(0,0,0,.2)}.redactor-file-remover{margin-left:2px;position:relative;right:-3px;display:inline-block;padding:0 3px;cursor:pointer;opacity:.5}.redactor-file-remover:hover{opacity:1}.redactor-overlay{position:fixed;z-index:1051;top:0;left:0;right:0;bottom:0;background-color:rgba(16,16,18,.3)}.redactor-overlay>.redactor-close{position:fixed;top:1rem;right:1rem}.redactor-source,.redactor-source:focus,.redactor-source:hover{text-align:left;box-sizing:border-box;font-family:Consolas,Menlo,Monaco,"Courier New",monospace;width:100%;display:block;margin:0;border:none;box-shadow:none;border-radius:0;background:#252525;color:#ccc;font-size:15px;outline:0;padding:10px 18px 20px 18px;line-height:1.5;resize:vertical}.redactor-box[dir=rtl] .redactor-source{direction:ltr}.redactor-placeholder:before{position:absolute;content:attr(placeholder);color:rgba(0,0,0,.4);font-weight:400;cursor:text}.redactor-in figcaption[placeholder]:empty:before{content:attr(placeholder);color:rgba(0,0,0,.4);font-weight:400}.redactor-in figcaption[placeholder]:empty:focus:before{content:""}.redactor-statusbar{font-family:Consolas,Menlo,Monaco,"Courier New",monospace;margin:0;padding:8px 10px;position:relative;overflow:hidden;list-style:none;background:#f8f8f8;box-sizing:border-box;border:none}.redactor-statusbar li{float:left;font-size:12px;color:rgba(0,0,0,.5);padding:0 10px;line-height:16px;border-right:1px solid rgba(0,0,0,.1)}.redactor-statusbar li:last-child{border-right-color:transparent}.redactor-statusbar a{color:rgba(0,0,0,.5);text-decoration:underline}.redactor-statusbar a:hover{color:#f03c69;text-decoration:underline}.redactor-statusbar:empty{display:none}.redactor-toolbar-wrapper{position:relative}.redactor-air,.redactor-toolbar{z-index:100;font-family:"Trebuchet MS","Helvetica Neue",Helvetica,Tahoma,sans-serif;position:relative;margin:0!important;padding:0;list-style:none!important;line-height:1!important;background:0 0;border:none;box-sizing:border-box}.redactor-box.redactor-styles-on .redactor-toolbar{padding:18px 16px 0 16px}.redactor-air a,.redactor-toolbar a{display:inline-block;box-sizing:border-box;font-size:14px;text-align:center;padding:10px 15px 9px 15px;cursor:pointer;outline:0;border:none;vertical-align:middle;text-decoration:none;zoom:1;position:relative;color:rgba(0,0,0,.85);border-radius:2px;background:rgba(255,255,255,.97);box-shadow:0 1px 2px rgba(0,0,0,.22);margin-right:5px;margin-bottom:4px}.redactor-air a.re-button-icon,.redactor-toolbar a.re-button-icon{font-size:16px;padding:9px 15px 6px 15px}.redactor-air a:hover,.redactor-toolbar a:hover{outline:0;color:#fff;background:#449aef}.redactor-toolbar a.redactor-button-active{background:rgba(245,245,245,.95);color:rgba(0,0,0,.4)}.redactor-air a.redactor-button-disabled,.redactor-toolbar a.redactor-button-disabled{opacity:.3}.redactor-air a.redactor-button-disabled:hover,.redactor-toolbar a.redactor-button-disabled:hover{color:#333;outline:0;background-color:transparent!important;cursor:default}.redactor-source-view .redactor-toolbar{background:#252525}.redactor-source-view .redactor-toolbar a{background:#000;color:#fff}.redactor-source-view .redactor-toolbar a:hover{background:#449aef}.redactor-source-view .redactor-toolbar a.redactor-button-disabled:hover{color:#fff!important;background-color:#000!important}.re-button-tooltip{display:none;position:absolute;white-space:nowrap;top:0;z-index:1052;background:rgba(0,0,0,.9);border-radius:3px;padding:5px 9px;color:rgba(255,255,255,.8);font-size:12px;line-height:1;font-family:Consolas,Menlo,Monaco,"Courier New",monospace}.re-button-tooltip:after{bottom:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:none;border-bottom-color:rgba(0,0,0,.9);border-width:4px;margin-left:-4px}.redactor-toolbar-wrapper-air{position:absolute;z-index:100}.redactor-air{padding:6px 3px 2px 8px;max-width:576px;min-width:200px;border-radius:4px;background:rgba(0,0,0,.97)}.redactor-air a{background:rgba(37,37,37,.95);box-shadow:none;color:rgba(255,255,255,.9)}.redactor-air a:hover{background:#3d79f2}.redactor-air a.redactor-button-active{background-color:rgba(255,255,255,.15);color:#fff}.redactor-air a.redactor-button-disabled:hover{color:#fff}.redactor-air-helper{position:absolute;right:0;top:0;line-height:1;font-size:15px;color:#000;background:rgba(255,255,255,.85);border-bottom-left-radius:4px;padding:7px 10px 6px 10px;cursor:pointer}.redactor-air-helper:hover{background:#fff}.redactor-voice-label{display:none}.redactor-context-toolbar{position:absolute;top:0;left:0;z-index:1051;background-color:rgba(0,0,0,.95);color:#555;border-radius:4px;padding:6px 18px 7px 18px;line-height:1.5;font-family:Consolas,Menlo,Monaco,"Courier New",monospace}.redactor-context-toolbar a{font-size:12px;color:#ccc;text-decoration:none;display:inline-block;padding:2px 0 1px 12px}.redactor-context-toolbar a:first-child{padding-left:0}.redactor-context-toolbar a i{position:relative;top:3px;font-size:16px}.redactor-context-toolbar a:before{content:'';padding-left:10px;border-left:1px solid rgba(255,255,255,.3)}.redactor-context-toolbar a:hover{color:#fff}.redactor-context-toolbar a:first-child:before{padding-left:0;border-left:none}.redactor-context-toolbar[dir=rtl] a{padding:2px 12px 1px 0}.redactor-context-toolbar[dir=rtl] a:first-child{padding-right:0}.redactor-context-toolbar[dir=rtl] a:before{padding-left:0;padding-right:10px;border-right:1px solid rgba(255,255,255,.3);border-left:none}.redactor-context-toolbar[dir=rtl] a:first-child:before{padding-right:0;border-right:none}.redactor-dropdown{font-family:"Trebuchet MS","Helvetica Neue",Helvetica,Tahoma,sans-serif;display:none;position:absolute;z-index:1051;background-color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.2);border-radius:2px;width:264px;min-height:40px;max-height:250px;margin:0;margin-top:-1px;overflow:auto;font-size:15px;padding:0}.redactor-dropdown a span{display:inline-block;line-height:1;padding:2px 4px;border-radius:3px}.redactor-dropdown a{display:block;text-decoration:none;padding:10px 8px;white-space:nowrap;border-bottom:1px solid rgba(0,0,0,.05)}.redactor-dropdown a:last-child{border-bottom-color:transparent}.redactor-dropdown a{color:#000}.redactor-dropdown a:hover{color:#fff!important;background-color:#449aef!important}.redactor-dropdown a.redactor-dropdown-item-disabled{color:rgba(0,0,0,.4);background:#fff}.redactor-dropdown-cells{margin:10px auto}.redactor-dropdown-cells a,.redactor-dropdown-cells span{float:left;cursor:pointer;box-sizing:border-box;text-align:center;padding:0;margin:0;font-size:14px}.redactor-dropdown-selector{display:flex;text-align:center}.redactor-dropdown-selector span{flex-grow:1;font-size:12px;padding:8px;cursor:pointer}.redactor-dropdown-selector span:hover{background:#eee}.redactor-dropdown-selector span.active{cursor:text;color:rgba(0,0,0,.3);background:#eee}.redactor-dropdown-format .redactor-dropdown-item-blockquote{color:rgba(0,0,0,.4);font-style:italic}.redactor-dropdown-format .redactor-dropdown-item-pre{font-family:monospace,sans-serif}.redactor-dropdown-format .redactor-dropdown-item-h1{font-size:40px;font-weight:700;line-height:32px}.redactor-dropdown-format .redactor-dropdown-item-h2{font-size:32px;font-weight:700;line-height:32px}.redactor-dropdown-format .redactor-dropdown-item-h3{font-size:24px;font-weight:700;line-height:24px}.redactor-dropdown-format .redactor-dropdown-item-h4{font-size:21px;font-weight:700;line-height:24px}.redactor-dropdown-format .redactor-dropdown-item-h5{font-size:18px;font-weight:700;line-height:24px}.redactor-dropdown-format .redactor-dropdown-item-h6{font-size:14px;text-transform:uppercase;font-weight:700;line-height:24px}.redactor-modal-box{position:fixed;top:0;left:0;bottom:0;right:0;overflow-x:hidden;overflow-y:auto;z-index:1051;font-family:"Trebuchet MS","Helvetica Neue",Helvetica,Tahoma,sans-serif;line-height:24px}.redactor-modal{position:relative;margin:16px auto;padding:0;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 2px 15px rgba(80,80,80,.25);border-radius:3px;color:#000}.redactor-modal form{margin:0;padding:0;box-sizing:border-box}.redactor-modal input,.redactor-modal select,.redactor-modal textarea{box-sizing:border-box;display:block;width:100%;font-family:inherit;font-size:16px;height:40px;outline:0;vertical-align:middle;background-color:#fff;border:1px solid #cacfd4;border-radius:.1875em;box-shadow:none;padding:0 .5em}.redactor-modal textarea{padding:.5em;height:auto;line-height:1.5;vertical-align:top}.redactor-modal select{-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-position:right .65em center;padding-right:28px}.redactor-modal select[multiple]{background-image:none;height:auto;padding:.5em .75em}.redactor-modal input[type=file]{width:auto;border:none;padding:0;height:auto;background:0 0;box-shadow:none;display:inline-block}.redactor-modal input[type=checkbox],.redactor-modal input[type=radio]{display:inline-block;width:auto;height:auto;padding:0;vertical-align:middle;position:relative;bottom:.15rem;font-size:115%;margin-right:3px}.redactor-modal .form-item{margin-bottom:20px}.redactor-modal .form-item:last-child{margin-bottom:0}.redactor-modal fieldset{border:1px solid rgba(0,0,0,.1);border-radius:3px;padding:16px;padding-bottom:20px;margin-bottom:20px}.redactor-modal fieldset .form-item{margin-bottom:12px}.redactor-modal label{display:block;color:#555;margin-bottom:.25em;font-size:14px}.redactor-modal label .desc,.redactor-modal label .error,.redactor-modal label .success{text-transform:none;font-weight:400}.redactor-modal label.checkbox{font-size:16px;line-height:1.5;cursor:pointer;color:inherit}.redactor-modal .form-checkboxes label.checkbox{display:inline-block;margin-right:1em}.redactor-modal input:hover,.redactor-modal select:hover,.redactor-modal textarea:hover{outline:0;background-color:#fff;border-color:#969fa9;box-shadow:none}.redactor-modal input:focus,.redactor-modal select:focus,.redactor-modal textarea:focus{transition:all linear .2s;outline:0;background-color:#fff;border-color:rgba(0,125,255,.5);box-shadow:0 0 3px rgba(0,125,255,.5)}.redactor-modal input.error,.redactor-modal select.error,.redactor-modal textarea.error{background-color:rgba(255,50,101,.1);border:1px solid #ff7f9e}.redactor-modal input.error:focus,.redactor-modal select.error:focus,.redactor-modal textarea.error:focus{border-color:#ff3265;box-shadow:0 0 1px #ff3265}.redactor-modal input.success,.redactor-modal select.success,.redactor-modal textarea.success{background-color:rgba(47,196,182,.1);border:1px solid #65dacf}.redactor-modal input.success:focus,.redactor-modal select.success:focus,.redactor-modal textarea.success:focus{border-color:#2fc4b6;box-shadow:0 0 1px #2fc4b6}.redactor-modal input.disabled,.redactor-modal input.disabled:hover,.redactor-modal input:disabled,.redactor-modal input:disabled:hover,.redactor-modal select.disabled,.redactor-modal select.disabled:hover,.redactor-modal select:disabled,.redactor-modal select:disabled:hover,.redactor-modal textarea.disabled,.redactor-modal textarea.disabled:hover,.redactor-modal textarea:disabled,.redactor-modal textarea:disabled:hover{resize:none;opacity:.6;cursor:default;font-style:italic;color:rgba(0,0,0,.5);border:1px solid #cacfd4;box-shadow:none;background-color:#fff}.redactor-modal .req{position:relative;top:1px;font-weight:700;color:#ff3265;font-size:110%}.redactor-modal .desc{color:rgba(51,51,51,.5);font-size:12px}.redactor-modal span.desc{margin-left:.25em}.redactor-modal div.desc{margin-top:.25em}.redactor-modal span.error,.redactor-modal span.success{font-size:12px;margin-left:.25em}.redactor-modal div.desc{margin-bottom:-.5em}.redactor-modal .redactor-close{position:absolute;top:16px;right:12px;font-size:30px;line-height:30px;padding:0 4px;color:#000;opacity:.3;cursor:pointer}.redactor-modal .redactor-close:hover{opacity:1}.redactor-modal .redactor-close:before{content:'\00d7'}.redactor-modal button{display:inline-flex;align-items:center;text-decoration:none;text-align:center;font-family:inherit;font-size:15px;font-weight:500;color:#007dff;background-color:#fff;border-radius:3px;border:2px solid #007dff;min-height:40px;outline:0;padding:.5em 1.25em;cursor:pointer;line-height:1.2;vertical-align:middle;-webkit-appearance:none}.redactor-modal button:hover{outline:0;text-decoration:none;background:0 0;color:rgba(0,125,255,.6);border-color:rgba(0,125,255,.5)}.redactor-modal button.redactor-button-secondary{border-color:#2a2e34;color:#2a2e34}.redactor-modal button.redactor-button-secondary:hover{color:rgba(42,46,52,.6);border-color:rgba(42,46,52,.5)}.redactor-modal button.redactor-button-danger,.redactor-modal button.redactor-button-unstyled{background:0 0;border-color:transparent;color:rgba(42,46,52,.6)}.redactor-modal button.redactor-button-danger:hover,.redactor-modal button.redactor-button-unstyled:hover{background:0 0;border-color:transparent;color:#ff3265;text-decoration:underline}.redactor-modal .redactor-modal-group:after{content:"";display:table;clear:both}.redactor-modal .redactor-modal-side{float:left;width:30%;margin-right:4%}.redactor-modal .redactor-modal-side img{max-width:100%;height:auto;display:block}.redactor-modal .redactor-modal-area{float:left;width:66%}.redactor-modal[dir=rtl] .redactor-close{left:12px;right:auto}.redactor-modal[dir=rtl] textarea{direction:ltr;text-align:left}.redactor-modal[dir=rtl] .redactor-modal-footer button.redactor-button-unstyled{float:left;margin-left:0}.redactor-modal-header{padding:20px;font-size:18px;line-height:24px;font-weight:700;color:#000;border-bottom:1px solid rgba(0,0,0,.05)}.redactor-modal-header:empty{display:none}.redactor-modal-body{padding:32px 48px;padding-bottom:40px}.redactor-modal-footer{padding:24px;border-top:1px solid rgba(0,0,0,.05);overflow:hidden}.redactor-modal-footer button{margin-right:4px}.redactor-modal-footer button.redactor-button-unstyled{margin-right:0;float:right}.redactor-modal-footer:empty{display:none}.redactor-modal-tabs{display:flex;border-bottom:2px solid rgba(0,0,0,.05);margin-bottom:1em}.redactor-modal-tabs a{font-size:15px;padding:2px 0;text-decoration:none;color:rgba(0,0,0,.5);border-bottom:2px solid transparent;margin-bottom:-2px;margin-right:14px}.redactor-modal-tabs a:hover{transition:all linear .2s}.redactor-modal-tabs a.active,.redactor-modal-tabs a:hover{font-weight:500;color:#007dff;border-bottom-color:#007dff}.redactor-styles{margin:0;padding:16px 18px;color:#333;font-family:"Trebuchet MS","Helvetica Neue",Helvetica,Tahoma,sans-serif;font-size:1em;line-height:1.5;box-sizing:border-box}.redactor-styles *,.redactor-styles :after,.redactor-styles :before{box-sizing:inherit}.redactor-styles[dir=rtl]{direction:rtl;unicode-bidi:embed}.redactor-styles[dir=rtl] ol li,.redactor-styles[dir=rtl] ul li{text-align:right}.redactor-styles[dir=rtl] ol,.redactor-styles[dir=rtl] ol ol,.redactor-styles[dir=rtl] ol ul,.redactor-styles[dir=rtl] ul,.redactor-styles[dir=rtl] ul ol,.redactor-styles[dir=rtl] ul ul{margin-left:1.5em}.redactor-styles[dir=rtl] figcaption{text-align:right}.redactor-styles ol[dir=rtl],.redactor-styles ol[dir=rtl] ol,.redactor-styles ol[dir=rtl] ul,.redactor-styles ul[dir=rtl],.redactor-styles ul[dir=rtl] ol,.redactor-styles ul[dir=rtl] ul{margin-right:1.5em}.redactor-styles ol[dir=rtl] li,.redactor-styles ul[dir=rtl] li{text-align:right}.redactor-styles a,.redactor-styles a:hover{color:#3397ff}.redactor-styles address,.redactor-styles blockquote,.redactor-styles dl,.redactor-styles figure,.redactor-styles hr,.redactor-styles p,.redactor-styles pre,.redactor-styles table{padding:0;margin:0;margin-bottom:1em}.redactor-styles ol,.redactor-styles ul{padding:0}.redactor-styles ol,.redactor-styles ol ol,.redactor-styles ol ul,.redactor-styles ul,.redactor-styles ul ol,.redactor-styles ul ul{margin:0 0 0 1.5em}.redactor-styles ol li,.redactor-styles ul li{text-align:left}.redactor-styles ol ol li{list-style-type:lower-alpha}.redactor-styles ol ol ol li{list-style-type:lower-roman}.redactor-styles ol,.redactor-styles ul{margin-bottom:1em}.redactor-styles h1,.redactor-styles h2,.redactor-styles h3,.redactor-styles h4,.redactor-styles h5,.redactor-styles h6{font-weight:700;color:#111;text-rendering:optimizeLegibility;margin:0;padding:0;margin-bottom:.5em;line-height:1.2}.redactor-styles h1{font-size:2.0736em}.redactor-styles h2{font-size:1.728em}.redactor-styles h3{font-size:1.44em}.redactor-styles h4{font-size:1.2em}.redactor-styles h5{font-size:1em}.redactor-styles h6{font-size:.83333em;text-transform:uppercase;letter-spacing:.035em}.redactor-styles blockquote{font-style:italic;color:rgba(0,0,0,.5);border:none}.redactor-styles table{width:100%}.redactor-styles code,.redactor-styles kbd,.redactor-styles mark,.redactor-styles small,.redactor-styles time,.redactor-styles var{display:inline-block;font-family:Consolas,Menlo,Monaco,"Courier New",monospace;font-size:87.5%;line-height:1;color:rgba(51,51,51,.9)}.redactor-styles cite,.redactor-styles var{opacity:.6}.redactor-styles var{font-style:normal}.redactor-styles abbr,.redactor-styles dfn{text-transform:uppercase}.redactor-styles abbr[title],.redactor-styles dfn[title]{text-decoration:none;border-bottom:1px dotted rgba(0,0,0,.5);cursor:help}.redactor-styles code,.redactor-styles kbd{position:relative;top:-1px;padding:.25em;padding-bottom:.2em;border-radius:2px}.redactor-styles code{background-color:#eff1f2}.redactor-styles mark{border-radius:2px;padding:.125em .25em;background-color:#fdb833}.redactor-styles kbd{border:1px solid #e5e7e9}.redactor-styles sub,.redactor-styles sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.redactor-styles sub{bottom:-.25em}.redactor-styles sup{top:-.5em}.redactor-styles pre{font-family:Consolas,Menlo,Monaco,"Courier New",monospace;font-size:.9em}.redactor-styles pre,.redactor-styles pre code{background-color:#f6f7f8;padding:0;top:0;display:block;line-height:1.5;color:rgba(51,51,51,.85);overflow:none;white-space:pre-wrap}.redactor-styles pre{padding:1rem}.redactor-styles table{border-collapse:collapse;max-width:100%;width:100%}.redactor-styles table caption{text-transform:uppercase;padding:0;color:rgba(0,0,0,.5);font-size:11px}.redactor-styles table td,.redactor-styles table th{border:1px solid #eee;padding:16px;padding-bottom:15px}.redactor-styles table tfoot td,.redactor-styles table tfoot th{color:rgba(0,0,0,.5)}.redactor-styles audio,.redactor-styles embed,.redactor-styles img,.redactor-styles object,.redactor-styles video{max-width:100%}.redactor-styles embed,.redactor-styles img,.redactor-styles object,.redactor-styles video{height:auto!important}.redactor-styles img{vertical-align:middle;-ms-interpolation-mode:bicubic}.redactor-styles figcaption{display:block;opacity:.6;font-size:12px;font-style:italic;text-align:left}.upload-redactor-box{display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;border:5px dashed rgba(0,125,255,.15);position:relative;width:100%;min-height:220px;background:#fff;cursor:pointer;overflow:hidden;text-align:center}.upload-redactor-placeholder{font-size:15px;line-height:1.5;color:rgba(0,0,0,.3);font-style:italic}.upload-redactor-hover{background-color:rgba(0,125,255,.075)}.upload-redactor-error{background-color:rgba(255,50,101,.075)}.upload-redactor-box-hover{outline:5px dashed rgba(0,125,255,.3)}.upload-redactor-box-error{outline:5px dashed rgba(255,50,101,.3)}.redactor-structure div,.redactor-structure h1,.redactor-structure h2,.redactor-structure h3,.redactor-structure h4,.redactor-structure h5,.redactor-structure h6{position:relative}.redactor-structure div:before,.redactor-structure h1:before,.redactor-structure h2:before,.redactor-structure h3:before,.redactor-structure h4:before,.redactor-structure h5:before,.redactor-structure h6:before{width:24px;position:absolute;font-size:10px;font-weight:400;opacity:.5;left:-26px;top:50%;margin-top:-7px;text-align:right}.redactor-structure h1:before{content:"h1"}.redactor-structure h2:before{content:"h2"}.redactor-structure h3:before{content:"h3"}.redactor-structure h4:before{content:"h4"}.redactor-structure h5:before{content:"h5"}.redactor-structure h6:before{content:"h6"}.redactor-structure div:before{content:"div"}#redactor-progress{position:fixed;top:0;left:0;width:100%;z-index:1000000;height:10px}#redactor-progress span{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;display:block;width:100%;height:100%;background-color:#007dff;background-size:40px 40px}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.redactor-box-fullscreen{z-index:1051;position:fixed;top:0;left:0;width:100%}.redactor-box-fullscreen-target{position:absolute!important}.redactor-body-fullscreen .redactor-context-toolbar,.redactor-body-fullscreen .redactor-dropdown{z-index:1052}.redactor-body-fullscreen #redactor-overlay{z-index:1098}.redactor-body-fullscreen #redactor-modal{z-index:1099} .redactor-dropdown-inline .redactor-dropdown-item-marked span{font-size:14px;background-color:#fdb833;color:#000;text-decoration:none}.redactor-dropdown-inline .redactor-dropdown-item-code span{font-family:Consolas,Menlo,Monaco,"Courier New",monospace;font-size:13px;background:rgba(0,0,0,.05)}.redactor-dropdown-inline .redactor-dropdown-item-variable span{font-family:Consolas,Menlo,Monaco,"Courier New",monospace;font-size:13px;color:rgba(0,0,0,.5)}.redactor-dropdown-inline .redactor-dropdown-item-shortcut span{font-family:Consolas,Menlo,Monaco,"Courier New",monospace;font-size:12px;padding:.25em;white-space:nowrap;border:1px solid #e5e7e9}.redactor-dropdown-inline .redactor-dropdown-item-sub span,.redactor-dropdown-inline .redactor-dropdown-item-sup span{position:relative;font-size:12px}.redactor-dropdown-inline .redactor-dropdown-item-sup span{top:-3px}.redactor-dropdown-inline .redactor-dropdown-item-sub span{top:3px} \ No newline at end of file diff --git a/public/components/org.standardnotes.bold-editor/package.json b/public/components/org.standardnotes.bold-editor/package.json index de4e702bd..183d5ef85 100644 --- a/public/components/org.standardnotes.bold-editor/package.json +++ b/public/components/org.standardnotes.bold-editor/package.json @@ -1,6 +1,6 @@ { "name": "sn-bold-editor", - "version": "1.3.2", + "version": "1.3.3", "main": "dist/dist.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", @@ -17,7 +17,7 @@ "@babel/eslint-parser": "^7.13.14", "@babel/preset-env": "^7.13.12", "@babel/preset-react": "^7.13.13", - "@standardnotes/editor-kit": "2.2.1", + "@standardnotes/editor-kit": "2.2.3", "@standardnotes/eslint-config-extensions": "^1.0.3", "babel-loader": "^8.2.2", "copy-webpack-plugin": "^8.1.1", @@ -25,7 +25,7 @@ "dompurify": "^2.2.9", "eslint": "^7.23.0", "eslint-plugin-react": "^7.23.1", - "filesafe-embed": "1.0.10", + "filesafe-embed": "1.0.11", "filesafe-js": "1.0.4", "html-webpack-plugin": "^5.3.1", "mini-css-extract-plugin": "^1.4.0", diff --git a/yarn.lock b/yarn.lock index 487c89fe8..b8d3a0f38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2835,23 +2835,23 @@ resolved "https://registry.yarnpkg.com/@standardnotes/common/-/common-1.11.0.tgz#5ed4be817a1f448e6eeb700d141dbfd40193aabe" integrity sha512-8TKx7bCwIazhGD3wkWTV4rmwbERsyisPbVDn6UIm1lNktWjKDF5OL1D8omalpR5wdM5qmXX5njI1zll2cxlW7A== -"@standardnotes/components@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@standardnotes/components/-/components-1.7.2.tgz#33c2748955e1ebf2cd7af3b2bc9f60a0bc53d0c6" - integrity sha512-ckCC5Ez/Ni6PZZenCBrNC1sELxir5F3Q0UVm8nDWSQmf9G8+JGQ44BO0lEoZW8X3OPZpdYSde5Z5ITyOOBTXrQ== +"@standardnotes/components@1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@standardnotes/components/-/components-1.7.3.tgz#544521a5f0c5955c384fa7878003f4fdfcda860c" + integrity sha512-2AcxDdSFMK0G7h6R+EdMR2muzmFyqm0Qtl9znjQ3Bec4wGo9gpLpxlvotbihh230H+PTq4DJybX586bEs6HUKg== -"@standardnotes/domain-events@^2.23.4": - version "2.23.4" - resolved "https://registry.yarnpkg.com/@standardnotes/domain-events/-/domain-events-2.23.4.tgz#ab78ac57b35b723cd2184900466f4933003f057f" - integrity sha512-SvJzF6KugYruwPKGqEnB8hiBco+NqwGpqOZWiz03I8YozDeXoDhhRaKhBzCzXCRetLXf2YENppjPft+PkxkWVQ== +"@standardnotes/domain-events@^2.23.5": + version "2.23.5" + resolved "https://registry.yarnpkg.com/@standardnotes/domain-events/-/domain-events-2.23.5.tgz#ef5e1dc9aeefb096f7d8af46e39f2d7b611a1d32" + integrity sha512-L9ONAtPvAHZ67mkS9yjAS9baA2Io6igUqmEucOEHPuu+Wb0zH6m6uQzIagyqaFCfy5EwZ4/228G1gaZukCWwJg== dependencies: "@standardnotes/auth" "^3.16.1" - "@standardnotes/features" "^1.32.3" + "@standardnotes/features" "^1.32.4" -"@standardnotes/features@1.32.3", "@standardnotes/features@^1.32.3": - version "1.32.3" - resolved "https://registry.yarnpkg.com/@standardnotes/features/-/features-1.32.3.tgz#497d4c87f76293f0fabcaf20844f4bce048d5b47" - integrity sha512-QlHCtfKEtWTd2X6n28aGPg8xw/hHKTOzdo4nBECclO3GdE31WdZ6RpVstH8k515z0s2Q3RORXRvl7Ncn24Zd8g== +"@standardnotes/features@1.32.4", "@standardnotes/features@^1.32.4": + version "1.32.4" + resolved "https://registry.yarnpkg.com/@standardnotes/features/-/features-1.32.4.tgz#0ac3d7c56eea130aa14f119bba01a3b0063463ec" + integrity sha512-ecNfImvqGHZ064mfkaDUNhXf+pGzwm3ZPYpuQkvKCiZkKbIHN1ECwK9CGpg4BgL1uHdAU1KEGM0CZlh9Ik08Tg== dependencies: "@standardnotes/auth" "^3.16.1" "@standardnotes/common" "^1.11.0" @@ -2861,31 +2861,31 @@ resolved "https://registry.yarnpkg.com/@standardnotes/settings/-/settings-1.11.3.tgz#f7735da40807dab6eaf81cc82d8d30f5461d26d5" integrity sha512-95nqPYIZt57HMrymf4FTMDHOibM13AmV/8JEj7mPbIqcNKvVD486BURsaqpoBgkqB4Q43LbT8dfTrBPDgmIdxg== -"@standardnotes/sncrypto-common@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@standardnotes/sncrypto-common/-/sncrypto-common-1.6.0.tgz#c6174adf65c778c8d53e45ea4c68087786f86b67" - integrity sha512-3gTTokb+DWxtBH72auVtoB76V9pCZWyQ7hmClgBuQF3i5j6HvuuBZGiicHmwAv1zJxMi/op3haE8lwzQc8NJ9g== +"@standardnotes/sncrypto-common@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@standardnotes/sncrypto-common/-/sncrypto-common-1.7.0.tgz#6ad96afeaa031c26e45cbaf527bb511b803f998d" + integrity sha512-Dke13reJMLQFXa7y9EqZYEeZG5Ouy+32qWEsQISLjLRPrTuNwyNXee2mdPh6c9uNZxOQwrdHxVGfqzJ2iy3RpQ== -"@standardnotes/sncrypto-web@1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@standardnotes/sncrypto-web/-/sncrypto-web-1.6.2.tgz#38bd2309a1c20eee95d97de90a4145c04e7d2e4f" - integrity sha512-+EWT7VoZkVErdGkBhihoDr0cMDAaA9VT1EG0h8Agg3pd52pO0A4yu0Cx4kjfLuDR7OP3neJdSEBMjlC0xoxawg== +"@standardnotes/sncrypto-web@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@standardnotes/sncrypto-web/-/sncrypto-web-1.7.0.tgz#e3a6e69019210f375ccf8b9abb789c7dd7147cf6" + integrity sha512-7NM1QJjtdvmUlBeQLjZukg5LovKKhoM8oX/FLOnBgl04TqDSGtvx+HDncm+laCnHZkAJ6VCSmUUxgfs1sQzyPw== dependencies: - "@standardnotes/sncrypto-common" "^1.6.0" + "@standardnotes/sncrypto-common" "^1.7.0" buffer "^6.0.3" libsodium-wrappers "^0.7.9" -"@standardnotes/snjs@2.59.7": - version "2.59.7" - resolved "https://registry.yarnpkg.com/@standardnotes/snjs/-/snjs-2.59.7.tgz#bf0949ee1b29909aeb6db198d27d556456cc3e58" - integrity sha512-OBOaOzgnyilpBWuehbwF/6aiuxiuvBYaqaZPj1Xm2GdpneTCRE7elPtWB4UGAQV0xyK5d1b1ze7wnhC2xOVu4A== +"@standardnotes/snjs@2.60.0": + version "2.60.0" + resolved "https://registry.yarnpkg.com/@standardnotes/snjs/-/snjs-2.60.0.tgz#17bda689eb5fc80eb68feceab6c137a4a63f06fe" + integrity sha512-kXU637Rq32e0W3SIC6R+nZlhZuhzTqnZethsS3M9n7ThBwRodCJNHXoj6/DgV+CBUgJy7J/r4r8fjjKD7UUT5w== dependencies: "@standardnotes/auth" "^3.16.1" "@standardnotes/common" "^1.11.0" - "@standardnotes/domain-events" "^2.23.4" - "@standardnotes/features" "^1.32.3" + "@standardnotes/domain-events" "^2.23.5" + "@standardnotes/features" "^1.32.4" "@standardnotes/settings" "^1.11.3" - "@standardnotes/sncrypto-common" "^1.6.0" + "@standardnotes/sncrypto-common" "^1.7.0" "@standardnotes/stylekit@5.6.0": version "5.6.0"

>>0?1:0)|0,M=F,P=O,F=D,O=A,D=R,A=T,R=X+(V=J+V+(($=Q+ee)>>>0>>0?1:0))+((T=G+$|0)>>>0>>0?1:0)|0}d=n.low=d+T,n.high=p+R+(d>>>0>>0?1:0),m=r.low=m+A,r.high=h+D+(m>>>0>>0?1:0),v=i.low=v+O,i.high=y+F+(v>>>0>>0?1:0),b=a.low=b+P,a.high=g+M+(b>>>0