Files
standardnotes-app-web/dist/javascripts/compiled.min.js
2019-12-04 01:09:46 -06:00

1 line
828 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
!function(e){"use strict";var c,t=Object.prototype,u=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",r=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag",o="object"==typeof module,s=e.regeneratorRuntime;if(s)o&&(module.exports=s);else{(s=e.regeneratorRuntime=o?module.exports:{}).wrap=k;var l="suspendedStart",d="suspendedYield",f="executing",p="completed",h={},m={};m[i]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(R([])));g&&g!==t&&u.call(g,i)&&(m=g);var y=S.prototype=w.prototype=Object.create(m);x.prototype=y.constructor=S,S.constructor=x,S[a]=x.displayName="GeneratorFunction",s.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},s.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,S):(e.__proto__=S,a in e||(e[a]="GeneratorFunction")),e.prototype=Object.create(y),e},s.awrap=function(e){return{__await:e}},$(_.prototype),_.prototype[r]=function(){return this},s.AsyncIterator=_,s.async=function(e,t,n,r){var i=new _(k(e,t,n,r));return s.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},$(y),y[a]="Generator",y[i]=function(){return this},y.toString=function(){return"[object Generator]"},s.keys=function(n){var r=[];for(var e in n)r.push(e);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in n)return e.value=t,e.done=!1,e}return e.done=!0,e}},s.values=R,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=c,this.done=!1,this.delegate=null,this.method="next",this.arg=c,this.tryEntries.forEach(C),!e)for(var t in this)"t"===t.charAt(0)&&u.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=c)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function e(e,t){return a.type="throw",a.arg=n,r.next=e,t&&(r.method="next",r.arg=c),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var i=this.tryEntries[t],a=i.completion;if("root"===i.tryLoc)return e("end");if(i.tryLoc<=this.prev){var o=u.call(i,"catchLoc"),s=u.call(i,"finallyLoc");if(o&&s){if(this.prev<i.catchLoc)return e(i.catchLoc,!0);if(this.prev<i.finallyLoc)return e(i.finallyLoc)}else if(o){if(this.prev<i.catchLoc)return e(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return e(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&u.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--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;0<=t;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;C(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:R(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=c),h}}}function k(e,t,n,r){var i=t&&t.prototype instanceof w?t:w,a=Object.create(i.prototype),o=new A(r||[]);return a._invoke=function(a,o,s){var c=l;return function(e,t){if(c===f)throw new Error("Generator is already running");if(c===p){if("throw"===e)throw t;return D()}for(s.method=e,s.arg=t;;){var n=s.delegate;if(n){var r=M(n,s);if(r){if(r===h)continue;return r}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(c===l)throw c=p,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);c=f;var i=b(a,o,s);if("normal"===i.type){if(c=s.done?p:d,i.arg===h)continue;return{value:i.arg,done:s.done}}"throw"===i.type&&(c=p,s.method="throw",s.arg=i.arg)}}}(e,n,o),a}function b(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function w(){}function x(){}function S(){}function $(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function _(c){var t;this._invoke=function(n,r){function e(){return new Promise(function(e,t){!function t(e,n,r,i){var a=b(c[e],c,n);if("throw"!==a.type){var o=a.arg,s=o.value;return s&&"object"==typeof s&&u.call(s,"__await")?Promise.resolve(s.__await).then(function(e){t("next",e,r,i)},function(e){t("throw",e,r,i)}):Promise.resolve(s).then(function(e){o.value=e,r(o)},i)}i(a.arg)}(n,r,e,t)})}return t=t?t.then(e,e):e()}}function M(e,t){var n=e.iterator[t.method];if(n===c){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=c,M(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var r=b(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,h;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=c),t.delegate=null,h):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function I(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 C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function R(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(u.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=c,e.done=!0,e};return r.next=r}}return{next:D}}function D(){return{value:c,done:!0}}}(function(){return this}()||Function("return this")()),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).SF=e()}}(function(){return function a(o,s,c){function u(t,e){if(!s[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(l)return l(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var i=s[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,a,o,s,c)}return s[t].exports}for(var l="function"==typeof require&&require,e=0;e<c.length;e++)u(c[e]);return u}({1:[function(e,t,we){(function(e){var t,c,n,r,i,u,a,C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);c=(t=C).lib.WordArray,t.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp(),e=[];for(var i=0;i<n;i+=3)for(var a=(t[i>>>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;o<4&&i+.75*o<n;o++)e.push(r.charAt(a>>>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,n=this._map;!(r=n.charAt(64))||-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,a=0;a<t;a++)if(a%4){var o=n.indexOf(e.charAt(a-1))<<a%4*2,s=n.indexOf(e.charAt(a))>>>6-a%4*2;r[i>>>2]|=(o|s)<<24-i%4*8,i++}return c.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(a){function S(e,t,n,r,i,a,o){return((e=e+(t&n|~t&r)+i+o)<<a|e>>>32-a)+t}function $(e,t,n,r,i,a,o){return((e=e+(t&r|n&~r)+i+o)<<a|e>>>32-a)+t}function _(e,t,n,r,i,a,o){return((e=e+(t^n^r)+i+o)<<a|e>>>32-a)+t}function M(e,t,n,r,i,a,o){return((e=e+(n^(t|~r))+i+o)<<a|e>>>32-a)+t}for(var e=C,t=(r=e.lib).WordArray,n=r.Hasher,r=e.algo,I=[],i=0;i<64;i++)I[i]=4294967296*a.abs(a.sin(i+1))|0;r=r.MD5=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=e[o=t+n];e[o]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}n=this._hash.words;var i,a,o=e[t+0],s=(r=e[t+1],e[t+2]),c=e[t+3],u=e[t+4],l=e[t+5],d=e[t+6],f=e[t+7],p=e[t+8],h=e[t+9],m=e[t+10],v=e[t+11],g=e[t+12],y=e[t+13],k=e[t+14],b=e[t+15],w=n[0],x=M(x=M(x=M(x=M(x=_(x=_(x=_(x=_(x=$(x=$(x=$(x=$(x=S(x=S(x=S(x=S(x=n[1],a=S(a=n[2],i=S(i=n[3],w=S(w,x,a,i,o,7,I[0]),x,a,r,12,I[1]),w,x,s,17,I[2]),i,w,c,22,I[3]),a=S(a,i=S(i,w=S(w,x,a,i,u,7,I[4]),x,a,l,12,I[5]),w,x,d,17,I[6]),i,w,f,22,I[7]),a=S(a,i=S(i,w=S(w,x,a,i,p,7,I[8]),x,a,h,12,I[9]),w,x,m,17,I[10]),i,w,v,22,I[11]),a=S(a,i=S(i,w=S(w,x,a,i,g,7,I[12]),x,a,y,12,I[13]),w,x,k,17,I[14]),i,w,b,22,I[15]),a=$(a,i=$(i,w=$(w,x,a,i,r,5,I[16]),x,a,d,9,I[17]),w,x,v,14,I[18]),i,w,o,20,I[19]),a=$(a,i=$(i,w=$(w,x,a,i,l,5,I[20]),x,a,m,9,I[21]),w,x,b,14,I[22]),i,w,u,20,I[23]),a=$(a,i=$(i,w=$(w,x,a,i,h,5,I[24]),x,a,k,9,I[25]),w,x,c,14,I[26]),i,w,p,20,I[27]),a=$(a,i=$(i,w=$(w,x,a,i,y,5,I[28]),x,a,s,9,I[29]),w,x,f,14,I[30]),i,w,g,20,I[31]),a=_(a,i=_(i,w=_(w,x,a,i,l,4,I[32]),x,a,p,11,I[33]),w,x,v,16,I[34]),i,w,k,23,I[35]),a=_(a,i=_(i,w=_(w,x,a,i,r,4,I[36]),x,a,u,11,I[37]),w,x,f,16,I[38]),i,w,m,23,I[39]),a=_(a,i=_(i,w=_(w,x,a,i,y,4,I[40]),x,a,o,11,I[41]),w,x,c,16,I[42]),i,w,d,23,I[43]),a=_(a,i=_(i,w=_(w,x,a,i,h,4,I[44]),x,a,g,11,I[45]),w,x,b,16,I[46]),i,w,s,23,I[47]),a=M(a,i=M(i,w=M(w,x,a,i,o,6,I[48]),x,a,f,10,I[49]),w,x,k,15,I[50]),i,w,l,21,I[51]),a=M(a,i=M(i,w=M(w,x,a,i,g,6,I[52]),x,a,c,10,I[53]),w,x,m,15,I[54]),i,w,r,21,I[55]),a=M(a,i=M(i,w=M(w,x,a,i,p,6,I[56]),x,a,b,10,I[57]),w,x,d,15,I[58]),i,w,y,21,I[59]),a=M(a,i=M(i,w=M(w,x,a,i,u,6,I[60]),x,a,v,10,I[61]),w,x,s,15,I[62]),i,w,h,21,I[63]);n[0]=n[0]+w|0,n[1]=n[1]+x|0,n[2]=n[2]+a|0,n[3]=n[3]+i|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var i=a.floor(n/4294967296);for(t[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,n=0;n<4;n++)r=t[n],t[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return e},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),e.MD5=n._createHelper(r),e.HmacMD5=n._createHmacHelper(r)}(Math),i=(n=(r=C).lib).Base,u=n.WordArray,a=(n=r.algo).EvpKDF=i.extend({cfg:i.extend({keySize:4,hasher:n.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(o=this.cfg).hasher.create(),r=u.create(),i=r.words,a=o.keySize,o=o.iterations;i.length<a;){s&&n.update(s);var s=n.update(e).finalize(t);n.reset();for(var c=1;c<o;c++)s=n.finalize(s),n.reset();r.concat(s)}return r.sigBytes=4*a,r}}),r.EvpKDF=function(e,t,n){return a.create(n).compute(e,t)},C.lib.Cipher||function(){var e=(f=C).lib,t=e.Base,o=e.WordArray,n=e.BufferedBlockAlgorithm,r=f.enc.Base64,i=f.algo.EvpKDF,a=e.Cipher=n.extend({cfg:t.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(r){return{encrypt:function(e,t,n){return("string"==typeof t?p:d).encrypt(r,e,t,n)},decrypt:function(e,t,n){return("string"==typeof t?p:d).decrypt(r,e,t,n)}}}});e.StreamCipher=a.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});function s(e,t,n){var r=this._iv;r?this._iv=void 0:r=this._prevBlock;for(var i=0;i<n;i++)e[t+i]^=r[i]}var c=f.mode={},u=(e.BlockCipherMode=t.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();u.Encryptor=u.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize;s.call(this,e,t,r),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+r)}}),u.Decryptor=u.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=e.slice(t,t+r);n.decryptBlock(e,t),s.call(this,e,t,r),this._prevBlock=i}}),c=c.CBC=u,u=(f.pad={}).Pkcs7={pad:function(e,t){for(var n,r=(n=(n=4*t)-e.sigBytes%n)<<24|n<<16|n<<8|n,i=[],a=0;a<n;a+=4)i.push(r);n=o.create(i,n),e.concat(n)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},e.BlockCipher=a.extend({cfg:a.cfg.extend({mode:c,padding:u}),reset:function(){a.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 l=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),d=(c=(f.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?o.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=o.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return l.create({ciphertext:e,salt:n})}},e.SerializableCipher=t.extend({cfg:t.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,l.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}})),f=(f.kdf={}).OpenSSL={execute:function(e,t,n,r){return r=r||o.random(8),e=i.create({keySize:t+n}).compute(e,r),n=o.create(e.words.slice(t),4*n),e.sigBytes=4*t,l.create({key:e,iv:n,salt:r})}},p=e.PasswordBasedCipher=d.extend({cfg:d.cfg.extend({kdf:f}),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=C,t=e.lib.BlockCipher,n=e.algo,o=[],r=[],i=[],a=[],s=[],c=[],u=[],l=[],d=[],f=[],p=[],h=0;h<256;h++)p[h]=h<128?h<<1:h<<1^283;var m=0,v=0;for(h=0;h<256;h++){var g=(g=v^v<<1^v<<2^v<<3^v<<4)>>>8^255&g^99;o[m]=g;var y=p[r[g]=m],k=p[y],b=p[k],w=257*p[g]^16843008*g;i[m]=w<<24|w>>>8,a[m]=w<<16|w>>>16,s[m]=w<<8|w>>>24,c[m]=w,w=16843009*b^65537*k^257*y^16843008*m,u[g]=w<<24|w>>>8,l[g]=w<<16|w>>>16,d[g]=w<<8|w>>>24,f[g]=w,m?(m=y^p[p[p[b^y]]],v^=p[p[v]]):m=v=1}var x=[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),r=this._keySchedule=[],i=0;i<n;i++)if(i<t)r[i]=e[i];else{var a=r[i-1];i%t?6<t&&4==i%t&&(a=o[a>>>24]<<24|o[a>>>16&255]<<16|o[a>>>8&255]<<8|o[255&a]):(a=o[(a=a<<8|a>>>24)>>>24]<<24|o[a>>>16&255]<<16|o[a>>>8&255]<<8|o[255&a],a^=x[i/t|0]<<24),r[i]=r[i-t]^a}for(e=this._invKeySchedule=[],t=0;t<n;t++)i=n-t,a=t%4?r[i]:r[i-4],e[t]=t<4||i<=4?a:u[o[a>>>24]]^l[o[a>>>16&255]]^d[o[a>>>8&255]]^f[o[255&a]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,a,s,c,o)},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,u,l,d,f,r),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 c=this._nRounds,u=e[t]^n[0],l=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],p=4,h=1;h<c;h++){var m=r[u>>>24]^i[l>>>16&255]^a[d>>>8&255]^o[255&f]^n[p++],v=r[l>>>24]^i[d>>>16&255]^a[f>>>8&255]^o[255&u]^n[p++],g=r[d>>>24]^i[f>>>16&255]^a[u>>>8&255]^o[255&l]^n[p++];f=r[f>>>24]^i[u>>>16&255]^a[l>>>8&255]^o[255&d]^n[p++],u=m,l=v,d=g}m=(s[u>>>24]<<24|s[l>>>16&255]<<16|s[d>>>8&255]<<8|s[255&f])^n[p++],v=(s[l>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[255&u])^n[p++],g=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[u>>>8&255]<<8|s[255&l])^n[p++],f=(s[f>>>24]<<24|s[u>>>16&255]<<16|s[l>>>8&255]<<8|s[255&d])^n[p++],e[t]=m,e[t+1]=v,e[t+2]=g,e[t+3]=f},keySize:8});e.AES=t._createHelper(n)}();var o,l;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);!function(i){function e(e){return 4294967296*(e-(0|e))|0}for(var t=C,n=(a=t.lib).WordArray,r=a.Hasher,a=t.algo,o=[],h=[],s=2,c=0;c<64;){var u;e:{u=s;for(var l=i.sqrt(u),d=2;d<=l;d++)if(!(u%d)){u=!1;break e}u=!0}u&&(c<8&&(o[c]=e(i.pow(s,.5))),h[c]=e(i.pow(s,1/3)),c++),s++}var m=[];a=a.SHA256=r.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],u=n[6],l=n[7],d=0;d<64;d++){if(d<16)m[d]=0|e[t+d];else{var f=m[d-15],p=m[d-2];m[d]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+m[d-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+m[d-16]}f=l+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&c^~s&u)+h[d]+m[d],p=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&a^i&a),l=u,u=c,c=s,s=o+f|0,o=a,a=i,i=r,r=f+p|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+u|0,n[7]=n[7]+l|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+(64+r>>>9<<4)]=i.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.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),l=(o=C).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=l.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,s=a.words,c=0;c<n;c++)o[c]^=1549556828,s[c]^=909522486;i.sigBytes=a.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}});var s,d,f,p,h,m;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);d=(s=C).lib,f=d.Base,p=d.WordArray,(s=s.x64={}).Word=f.extend({init:function(e,t){this.high=e,this.low=t}}),s.WordArray=f.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r<t;r++){var i=e[r];n.push(i.high),n.push(i.low)}return p.create(n,this.sigBytes)},clone:function(){for(var e=f.clone.call(this),t=e.words=this.words.slice(0),n=t.length,r=0;r<n;r++)t[r]=t[r].clone();return e}}),function(){function e(){return r.create.apply(r,arguments)}for(var t=C,n=t.lib.Hasher,r=(a=t.x64).Word,i=a.WordArray,a=t.algo,te=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],ne=[],o=0;o<80;o++)ne[o]=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=(u=this._hash.words)[0],r=u[1],i=u[2],a=u[3],o=u[4],s=u[5],c=u[6],u=u[7],l=n.high,d=n.low,f=r.high,p=r.low,h=i.high,m=i.low,v=a.high,g=a.low,y=o.high,k=o.low,b=s.high,w=s.low,x=c.high,S=c.low,$=u.high,_=u.low,M=l,I=d,C=f,A=p,R=h,D=m,E=v,O=g,P=y,T=k,F=b,L=w,N=x,B=S,H=$,j=_,U=0;U<80;U++){var z=ne[U];if(U<16)var V=z.high=0|e[t+2*U],K=z.low=0|e[t+2*U+1];else{V=((K=(V=ne[U-15]).high)>>>1|(q=V.low)<<31)^(K>>>8|q<<24)^K>>>7;var q=(q>>>1|K<<31)^(q>>>8|K<<24)^(q>>>7|K<<25),W=((K=(W=ne[U-2]).high)>>>19|(J=W.low)<<13)^(K<<3|J>>>29)^K>>>6,J=(J>>>19|K<<13)^(J<<3|K>>>29)^(J>>>6|K<<26),G=(K=ne[U-7]).high,Y=(X=ne[U-16]).high,X=X.low;V=(V=(V=V+G+((K=q+K.low)>>>0<q>>>0?1:0))+W+((K=K+J)>>>0<J>>>0?1:0))+Y+((K=K+X)>>>0<X>>>0?1:0);z.high=V,z.low=K}G=P&F^~P&N,X=T&L^~T&B,z=M&C^M&R^C&R;var Z=I&A^I&D^A&D,Q=(q=(M>>>28|I<<4)^(M<<30|I>>>2)^(M<<25|I>>>7),W=(I>>>28|M<<4)^(I<<30|M>>>2)^(I<<25|M>>>7),(J=te[U]).high),ee=J.low;Y=H+((P>>>14|T<<18)^(P>>>18|T<<14)^(P<<23|T>>>9))+((J=j+((T>>>14|P<<18)^(T>>>18|P<<14)^(T<<23|P>>>9)))>>>0<j>>>0?1:0),H=N,j=B,N=F,B=L,F=P,L=T,P=E+(Y=(Y=(Y=Y+G+((J=J+X)>>>0<X>>>0?1:0))+Q+((J=J+ee)>>>0<ee>>>0?1:0))+V+((J=J+K)>>>0<K>>>0?1:0))+((T=O+J|0)>>>0<O>>>0?1:0)|0,E=R,O=D,R=C,D=A,C=M,A=I,M=Y+(z=q+z+((K=W+Z)>>>0<W>>>0?1:0))+((I=J+K|0)>>>0<J>>>0?1:0)|0}d=n.low=d+I,n.high=l+M+(d>>>0<I>>>0?1:0),p=r.low=p+A,r.high=f+C+(p>>>0<A>>>0?1:0),m=i.low=m+D,i.high=h+R+(m>>>0<D>>>0?1:0),g=a.low=g+O,a.high=v+E+(g>>>0<O>>>0?1:0),k=o.low=k+T,o.high=y+P+(k>>>0<T>>>0?1:0),w=s.low=w+L,s.high=b+F+(w>>>0<L>>>0?1:0),S=c.low=S+B,c.high=x+N+(S>>>0<B>>>0?1:0),_=u.low=_+j,u.high=$+H+(_>>>0<j>>>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+(128+r>>>10<<5)]=Math.floor(n/4294967296),t[31+(128+r>>>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)}(),m=(h=C).enc.Utf8,h.algo.HMAC=h.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=m.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,s=a.words,c=0;c<n;c++)o[c]^=1549556828,s[c]^=909522486;i.sigBytes=a.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}});var v,g,y,k,b,w,x,S,$,M,I,A,R;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);g=(b=(v=C).lib).WordArray,y=b.Hasher,k=[],b=v.algo.SHA1=y.extend({_doReset:function(){this._hash=new g.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=0;c<80;c++){if(c<16)k[c]=0|e[t+c];else{var u=k[c-3]^k[c-8]^k[c-14]^k[c-16];k[c]=u<<1|u>>>31}u=(r<<5|r>>>27)+s+k[c],u=c<20?u+(1518500249+(i&a|~i&o)):c<40?u+(1859775393+(i^a^o)):c<60?u+((i&a|i&o|a&o)-1894007588):u+((i^a^o)-899497514),s=o,o=a,a=i<<30|i>>>2,i=r,r=u}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|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+(64+r>>>9<<4)]=Math.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=y.clone.call(this);return e._hash=this._hash.clone(),e}}),v.SHA1=y._createHelper(b),v.HmacSHA1=y._createHmacHelper(b),x=(w=C).enc.Utf8,w.algo.HMAC=w.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=x.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,s=a.words,c=0;c<n;c++)o[c]^=1549556828,s[c]^=909522486;i.sigBytes=a.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}}),M=(S=($=C).lib).Base,I=S.WordArray,A=(S=$.algo).HMAC,R=S.PBKDF2=M.extend({cfg:M.extend({keySize:4,hasher:S.SHA1,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){var n=this.cfg,r=A.create(n.hasher,e),i=I.create(),a=I.create([1]),o=i.words,s=a.words,c=n.keySize;for(n=n.iterations;o.length<c;){var u=r.update(t).finalize(a);r.reset();for(var l=u.words,d=l.length,f=u,p=1;p<n;p++){f=r.finalize(f),r.reset();for(var h=f.words,m=0;m<d;m++)l[m]^=h[m]}i.concat(u),s[0]++}return i.sigBytes=4*c,i}}),$.PBKDF2=function(e,t,n){return R.create(n).compute(e,t)};var D,E,O,P,T;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);function F(e,t){return!t||"object"!==H(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&B(e,t)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function H(e){return(H="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 U(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function z(s){return function(){var e=this,o=arguments;return new Promise(function(t,n){var r=s.apply(e,o);function i(e){U(r,t,n,i,a,"next",e)}function a(e){U(r,t,n,i,a,"throw",e)}i(void 0)})}}function V(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function K(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function q(e,t,n){return t&&K(e.prototype,t),n&&K(e,n),e}E=(T=(D=C).lib).WordArray,O=T.Hasher,P=[],T=D.algo.SHA1=O.extend({_doReset:function(){this._hash=new E.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=0;c<80;c++){if(c<16)P[c]=0|e[t+c];else{var u=P[c-3]^P[c-8]^P[c-14]^P[c-16];P[c]=u<<1|u>>>31}u=(r<<5|r>>>27)+s+P[c],u=c<20?u+(1518500249+(i&a|~i&o)):c<40?u+(1859775393+(i^a^o)):c<60?u+((i&a|i&o|a&o)-1894007588):u+((i^a^o)-899497514),s=o,o=a,a=i<<30|i>>>2,i=r,r=u}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|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+(64+r>>>9<<4)]=Math.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=O.clone.call(this);return e._hash=this._hash.clone(),e}}),D.SHA1=O._createHelper(T),D.HmacSHA1=O._createHmacHelper(T),Object.defineProperty(we,"__esModule",{value:!0}),we.StandardFile=we.SFItemTransformer=we.SFCryptoWeb=we.SFCryptoJS=we.SFAbstractCrypto=we.SFItemHistoryEntry=we.SFItemHistory=we.SFHistorySession=we.SFPrivileges=we.SFPredicate=we.SFItemParams=we.SFItem=we.SFSyncManager=we.SFStorageManager=we.SFSingletonManager=we.SFSessionHistoryManager=we.SFPrivilegesManager=we.SFModelManager=we.SFMigrationManager=we.SFHttpManager=we.SFAuthManager=we.SFAlertManager=void 0;var W=function(){function e(){V(this,e)}var t,n;return q(e,[{key:"alert",value:(n=z(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){window.alert(n.text),e()}));case 1:case"end":return e.stop()}},e)})),function(e){return n.apply(this,arguments)})},{key:"confirm",value:(t=z(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){window.confirm(n.text)?e():t()}));case 1:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)})}]),e}();we.SFAlertManager=W;var J=function(){function k(e,t,n,r){V(this,k),k.DidSignOutEvent="DidSignOutEvent",k.WillSignInEvent="WillSignInEvent",k.DidSignInEvent="DidSignInEvent",this.httpManager=t,this.storageManager=e,this.alertManager=n||new W,this.$timeout=r||setTimeout.bind(window),this.eventHandlers=[]}var a,o,s,r,e,t,n,i,c,u;return q(k,[{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:(u=z(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 u.apply(this,arguments)})},{key:"signout",value:(c=z(regeneratorRuntime.mark(function e(t){var n=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys=null,this._authParams=null,t)return e.abrupt("return",this.storageManager.clearAllData().then(function(){n.notifyEvent(k.DidSignOutEvent)}));e.next=6;break;case 6:this.notifyEvent(k.DidSignOutEvent);case 7:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"keys",value:(i=z(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 i.apply(this,arguments)})},{key:"getAuthParams",value:(n=z(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)return e.next=8,this.defaultProtocolVersion();e.next=9;break;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 n.apply(this,arguments)})},{key:"defaultProtocolVersion",value:(t=z(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)return e.abrupt("return","002");e.next=7;break;case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"protocolVersion",value:(e=z(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)return e.abrupt("return",t.version);e.next=5;break;case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"getAuthParamsForEmail",value:(r=z(regeneratorRuntime.mark(function e(r,t,n){var i,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:t},n)).api=Y.getApiVersion(),e.abrupt("return",new Promise(function(t,e){var n=r+"/auth/params";a.httpManager.getAbsolute(n,i,function(e){t(e)},function(e){console.error("Error getting auth params",e),"object"!==H(e)&&(e={error:{message:"A server error occurred while trying to sign in. Please try again."}}),t(e)})}));case 3:case"end":return e.stop()}},e)})),function(e,t,n){return r.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:(s=z(regeneratorRuntime.mark(function e(p,h,m,v,g){var y=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a,o,s,c,u,l,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.keys();case 2:if(null!=e.sent)return n({error:{message:"Cannot log in because already signed in."}}),e.abrupt("return");e.next=6;break;case 6:if(y.isLocked())return n({error:{message:"Login already in progress."}}),e.abrupt("return");e.next=9;break;case 9:return y.lock(),y.notifyEvent(k.WillSignInEvent),e.next=13,y.getAuthParamsForEmail(p,h,g);case 13:if((r=e.sent).identifier=h,r.error)return y.unlockAndResolve(n,r),e.abrupt("return");e.next=18;break;case 18:if(r&&r.pw_cost){e.next=21;break}return y.unlockAndResolve(n,{error:{message:"Invalid email or password."}}),e.abrupt("return");case 21:if(SFJS.supportedVersions().includes(r.version)){e.next=25;break}return i=SFJS.isVersionNewerThanLibraryVersion(r.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.",y.unlockAndResolve(n,{error:{message:i}}),e.abrupt("return");case 25:if(SFJS.isProtocolVersionOutdated(r.version))return a="The encryption version for your account, ".concat(r.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."),o=!1,e.next=30,y.alertManager.confirm({title:"Update Needed",text:a,confirmButtonText:"Sign In"}).catch(function(){y.unlockAndResolve(n,{error:{}}),o=!0});e.next=32;break;case 30:if(o)return e.abrupt("return");e.next=32;break;case 32:if(SFJS.supportsPasswordDerivationCost(r.pw_cost)){e.next=36;break}return"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.",y.unlockAndResolve(n,{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."}}),e.abrupt("return");case 36:if(s=SFJS.costMinimumForVersion(r.version),r.pw_cost<s)return"Unable to login due to insecure password parameters. Please visit standardnotes.org/help/security for more information.",y.unlockAndResolve(n,{error:{message:"Unable to login due to insecure password parameters. Please visit standardnotes.org/help/security for more information."}}),e.abrupt("return");e.next=41;break;case 41:if(!v){e.next=47;break}if(c=SFJS.version(),r.version!==c)return u="Strict sign in refused server sign in parameters. The latest security version is ".concat(c,", but your account is reported to have version ").concat(r.version,". If you'd like to proceed with sign in anyway, please disable strict sign in and try again."),y.unlockAndResolve(n,{error:{message:u}}),e.abrupt("return");e.next=47;break;case 47:return e.next=49,SFJS.crypto.computeEncryptionKeysForUser(m,r);case 49:l=e.sent,d=p+"/auth/sign_in",(f=_.merge({password:l.pw,email:h},g)).api=Y.getApiVersion(),y.httpManager.postAbsolute(d,f,function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.handleAuthResponse(t,h,p,r,l);case 2:y.notifyEvent(k.DidSignInEvent),y.$timeout(function(){return y.unlockAndResolve(n,t)});case 4:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){console.error("Error logging in",e),"object"!==H(e)&&(e={error:{message:"A server error occurred while trying to sign in. Please try again."}}),y.$timeout(function(){return y.unlockAndResolve(n,e)})});case 54:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return e.stop()}},e)})),function(e,t,n,r,i){return s.apply(this,arguments)})},{key:"register",value:function(u,l,d){var f=this;return new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a,o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(f.isLocked())return n({error:{message:"Register already in progress."}}),e.abrupt("return");e.next=3;break;case 3:if(8,d.length<8)return r="Your password must be at least ".concat(8," characters in length. For your security, please choose a longer password or, ideally, a passphrase, and try again."),n({error:{message:r}}),e.abrupt("return");e.next=8;break;case 8:return f.lock(),e.next=11,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(l,d);case 11:i=e.sent,a=i.keys,o=i.authParams,s=u+"/auth",(c=_.merge({password:a.pw,email:l},o)).api=Y.getApiVersion(),f.httpManager.postAbsolute(s,c,function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.handleAuthResponse(t,l,u,o,a);case 2:f.unlockAndResolve(n,t);case 3:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){console.error("Registration error",e),"object"!==H(e)&&(e={error:{message:"A server error occurred while trying to register. Please try again."}}),f.unlockAndResolve(n,e)});case 18:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}())}},{key:"changePassword",value:(o=z(regeneratorRuntime.mark(function e(o,s,c,u,l){var d=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(d.isLocked())return n({error:{message:"Change password already in progress."}}),e.abrupt("return");e.next=3;break;case 3:d.lock(),r=u.pw,i=o+"/auth/change_pw",(a=_.merge({new_password:r,current_password:c},l)).api=Y.getApiVersion(),d.httpManager.postAuthenticatedAbsolute(i,a,function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.handleAuthResponse(t,s,null,l,u);case 2:d.unlockAndResolve(n,t);case 3:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){"object"!==H(e)&&(e={error:{message:"Something went wrong while changing your password. Your password was not changed. Please try again."}}),d.unlockAndResolve(n,e)});case 9:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return e.stop()}},e)})),function(e,t,n,r,i){return o.apply(this,arguments)})},{key:"handleAuthResponse",value:(a=z(regeneratorRuntime.mark(function e(t,n,r,i,a){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r)return e.next=3,this.storageManager.setItem("server",r);e.next=3;break;case 3:return this._authParams=i,e.next=6,this.storageManager.setItem("auth_params",JSON.stringify(i));case 6:return e.next=8,this.storageManager.setItem("jwt",t.token);case 8:return e.abrupt("return",this.saveKeys(a));case 9:case"end":return e.stop()}},e,this)})),function(e,t,n,r,i){return a.apply(this,arguments)})}]),k}();we.SFAuthManager=J;var G="undefined"!=typeof window?window:void 0!==e?e:null,Y=function(){function n(e,t){V(this,n),this.$timeout=e||setTimeout.bind(G)}var a,i,o,s,c,t;return q(n,null,[{key:"getApiVersion",value:function(){return"20190520"}}]),q(n,[{key:"setJWTRequestHandler",value:function(e){this.jwtRequestHandler=e}},{key:"setAuthHeadersForRequest",value:(t=z(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.jwtRequestHandler();case 2:(n=e.sent)&&t.setRequestHeader("Authorization","Bearer "+n);case 4:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"postAbsolute",value:(c=z(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.httpRequest("post",t,n,r,i));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return c.apply(this,arguments)})},{key:"postAuthenticatedAbsolute",value:(s=z(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.httpRequest("post",t,n,r,i,!0));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return s.apply(this,arguments)})},{key:"patchAbsolute",value:(o=z(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.httpRequest("patch",t,n,r,i));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return o.apply(this,arguments)})},{key:"getAbsolute",value:(i=z(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.httpRequest("get",t,n,r,i));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return i.apply(this,arguments)})},{key:"httpRequest",value:(a=z(regeneratorRuntime.mark(function e(i,a,o,s,c){var u,l=this,t=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return u=5<t.length&&void 0!==t[5]&&t[5],e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(t,n){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((r=new XMLHttpRequest).onreadystatechange=function(){if(4==r.readyState){var e=r.responseText;if(e)try{e=JSON.parse(e)}catch(e){}200<=r.status&&r.status<=299?l.$timeout(function(){s(e),t(e)}):(console.error("Request error:",e),l.$timeout(function(){c(e,r.status),n(e)}))}},"get"==i&&0<Object.keys(o).length&&(a=l.urlForUrlAndParams(a,o)),r.open(i,a,!0),r.setRequestHeader("Content-type","application/json"),u)return e.next=8,l.setAuthHeadersForRequest(r);e.next=8;break;case 8:"post"==i||"patch"==i?r.send(JSON.stringify(o)):r.send();case 9:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}()));case 2:case"end":return e.stop()}},e)})),function(e,t,n,r,i){return a.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}}]),n}();we.SFHttpManager=Y;var X=function(){function r(e,t,n,f){var p=this;V(this,r),this.modelManager=e,this.syncManager=t,this.storageManager=n,this.completionHandlers=[],this.loadMigrations();var h=!1,m=f.addEventHandler(function(e){e==J.DidSignInEvent&&(h=!0)});this.receivedLocalDataEvent=t.initialDataLoaded(),this.syncManager.addEventHandler(function(){var n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i="sync:completed"==t,!(r="local-data-loaded"==t)&&!i){e.next=40;break}if(r?p.receivedLocalDataEvent=!0:i&&(p.receivedSyncCompletedEvent=!0),!p.receivedLocalDataEvent||!p.receivedSyncCompletedEvent){e.next=40;break}if(h)return h=!1,f.removeEventHandler(m),e.next=10,p.getCompletedMigrations();e.next=39;break;case 10:a=e.sent.slice(),s=!(o=!0),c=void 0,e.prev=14,u=a[Symbol.iterator]();case 16:if(o=(l=u.next()).done){e.next=25;break}return d=l.value,e.next=20,p.migrationForEncodedName(d);case 20:e.sent.runOnlyOnce||_.pull(p._completed,d);case 22:o=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),s=!0,c=e.t0;case 31:e.prev=31,e.prev=32,o||null==u.return||u.return();case 34:if(e.prev=34,s)throw c;e.next=37;break;case 37:return e.finish(34);case 38:return e.finish(31);case 39:p.runPendingMigrations();case 40:case"end":return e.stop()}},e,null,[[14,27,31,39],[32,,34,38]])}));return function(e,t){return n.apply(this,arguments)}}())}var n,t,e,i,a,o,s,c;return q(r,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:(c=z(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 c.apply(this,arguments)})},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:(s=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C;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=!(n=!0),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)throw i;e.next=20;break;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!(c=!0),l=void 0,e.prev=25,d=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(c=(f=d.next()).done){e.next=51;break}for(p=f.value,m=!(h=!0),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)throw v;e.next=46;break;case 46:return e.finish(43);case 47:return e.finish(40);case 48:c=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),u=!0,l=e.t2;case 57:e.prev=57,e.prev=58,c||null==d.return||d.return();case 60:if(e.prev=60,u)throw l;e.next=63;break;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!(k=!0),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&&0<s.items.length||s.customHandler)return e.next=75,this.runMigration(s,s.items);e.next=77;break;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)throw w;e.next=93;break;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!($=!0),M=void 0,e.prev=98,I=this.completionHandlers[Symbol.iterator]();!($=(C=I.next()).done);$=!0)(0,C.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),_=!0,M=e.t4;case 106:e.prev=106,e.prev=107,$||null==I.return||I.return();case 109:if(e.prev=109,_)throw M;e.next=112;break;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=z(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=z(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=z(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:(e=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c;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=[],i=!(r=!0),a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=22;break}return c=s.value,e.t0=t,e.next=14,this.encode(c.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(c);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)throw a;e.next=34;break;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 e.apply(this,arguments)})},{key:"markMigrationCompleted",value:(t=z(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 t.apply(this,arguments)})},{key:"runMigration",value:(n=z(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)return e.abrupt("return");e.next=2;break;case 2:if(console.log("Running migration:",t.name),t.running=!0,t.customHandler)return e.abrupt("return",t.customHandler().then(function(){r.markMigrationCompleted(t)}));e.next=8;break;case 8:return e.abrupt("return",t.handler(n).then(function(){r.markMigrationCompleted(t)}));case 9:case"end":return e.stop()}},e)})),function(e,t){return n.apply(this,arguments)})}]),r}();we.SFMigrationManager=X;var Z=function(){function A(e){V(this,A),A.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",A.MappingSourceRemoteSaved="MappingSourceRemoteSaved",A.MappingSourceLocalSaved="MappingSourceLocalSaved",A.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",A.MappingSourceLocalDirtied="MappingSourceLocalDirtied",A.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",A.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",A.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",A.MappingSourceFileImport="MappingSourceFileImport",A.isMappingSourceRetrieved=function(e){return[A.MappingSourceRemoteRetrieved,A.MappingSourceComponentRetrieved,A.MappingSourceRemoteActionRetrieved].includes(e)},this.$timeout=e||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var e,i,r,t,n,a,o,s,c,u,l,d;return q(A,[{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:(d=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.createItem(t),e.next=3,SFJS.crypto.generateUUID();case 3:for(n.uuid=e.sent,n.informReferencesOfUUIDChange(t.uuid,n.uuid),this.informModelsOfUUIDChangeForItem(n,t.uuid,n.uuid),i=!(r=!0),a=void 0,e.prev=9,o=t.referencingObjects[Symbol.iterator]();!(r=(s=o.next()).done);r=!0)(c=s.value).setIsNoLongerBeingReferencedBy(t),t.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(n);e.next=17;break;case 13:e.prev=13,e.t0=e.catch(9),i=!0,a=e.t0;case 17:e.prev=17,e.prev=18,r||null==o.return||o.return();case 20:if(e.prev=20,i)throw a;e.next=23;break;case 23:return e.finish(20);case 24:return e.finish(17);case 25:return this.setItemsDirty(t.referencingObjects,!0),this.resolveReferencesForItem(n),this.loggingEnabled&&console.log(t.uuid,"--\x3e",n.uuid),t.deleted=!0,t.content.references=[],this.setItemDirty(t,!1,!1,A.MappingSourceLocalSaved),e.next=33,this.mapResponseItemsToLocalModels([t],A.MappingSourceLocalSaved);case 33:return this.addItem(n),this.setItemDirty(n,!0,!0,A.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(t,n),e.abrupt("return",n);case 37:case"end":return e.stop()}},e,this,[[9,13,17,25],[18,,20,24]])})),function(e){return d.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(e){this.notifySyncObserversOfModels(e,A.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:(l=z(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 l.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsOmittingFields",value:(u=z(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 u.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsWithOptions",value:(c=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C,A,R,D,E,O,P,T,F,L,N,B,H;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=[],c=[],l=!(u=!0),d=void 0,e.prev=5,f=n[Symbol.iterator]();case 7:if(u=(p=f.next()).done){e.next=58;break}if(h=p.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(m=!h.content&&!h.errorDecrypting,!(!h.content_type||!h.uuid)&&!m||h.deleted){e.next=16;break}return console.error("Server response item is corrupt:",h),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(g=!(v=!0),y=void 0,e.prev=20,k=r[Symbol.iterator]();!(v=(b=k.next()).done);v=!0)w=b.value,delete h[w];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),g=!0,y=e.t0;case 28:e.prev=28,e.prev=29,v||null==k.return||k.return();case 31:if(e.prev=31,g)throw y;e.next=34;break;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((x=this.findItem(h.uuid))&&(x.updateFromJSON(h),x.dummy=!1),S=h.content_type||x&&x.content_type,this.acceptableContentTypes&&!this.acceptableContentTypes.includes(S))return e.abrupt("continue",55);e.next=42;break;case 42:if($=!1,1!=h.deleted){e.next=50;break}if(!h.dirty){e.next=48;break}$=!0,e.next=50;break;case 48:return x&&(o.push(x),c.push(x),this.removeItemLocally(x)),e.abrupt("continue",55);case 50:x=x||this.createItem(h),this.addItem(x,$),x.errorDecrypting||c.push(x),o.push(x),s.push(h);case 55:u=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,d=e.t1;case 64:e.prev=64,e.prev=65,u||null==f.return||f.return();case 67:if(e.prev=67,l)throw d;e.next=70;break;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(M=!(_=!0),I=void 0,e.prev=75,C=s.entries()[Symbol.iterator]();!(_=(A=C.next()).done);_=!0)R=j(A.value,2),D=R[0],E=R[1],O=o[D],E.content&&this.resolveReferencesForItem(O),O.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),M=!0,I=e.t2;case 83:e.prev=83,e.prev=84,_||null==C.return||C.return();case 86:if(e.prev=86,M)throw I;e.next=89;break;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(P=this.popMissedReferenceStructsForObjects(s),F=!(T=!0),L=void 0,e.prev=95,N=function(){var t=H.value,e=o.find(function(e){return e.uuid==t.reference_uuid});e&&t.for_item.addItemAsRelationship(e)},B=P[Symbol.iterator]();!(T=(H=B.next()).done);T=!0)N();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),F=!0,L=e.t3;case 104:e.prev=104,e.prev=105,T||null==B.return||B.return();case 107:if(e.prev=107,F)throw L;e.next=110;break;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(c,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);a<o.length;a++){var s=o[a];r.includes(s.substring(0,i))&&(t.push(this.missedReferences[s]),n.push(s))}for(var c=0,u=n;c<u.length;c++){var l=u[c];delete this.missedReferences[l]}return t}},{key:"resolveReferencesForItem",value:function(e,t){var n=1<arguments.length&&void 0!==t&&t;if(!e.errorDecrypting){var r=e.contentObject;if(e.updateLocalRelationships(),r.references){var i=r.references.slice().map(function(e){return e.uuid}),a=this.findItems(i,!0),o=!0,s=!1,c=void 0;try{for(var u,l=a.entries()[Symbol.iterator]();!(o=(u=l.next()).done);o=!0){var d=j(u.value,2),f=d[0],p=d[1];if(p)e.addItemAsRelationship(p),n&&this.setItemDirty(p,!0);else{var h=i[f],m=this.missedReferenceBuildKey(h,e.uuid);if(!this.missedReferences[m]){var v={reference_uuid:h,for_item:e};this.missedReferences[m]=v}}}}catch(e){s=!0,c=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw c}}}}}},{key:"notifySyncObserversOfModels",value:(s=z(regeneratorRuntime.mark(function e(d,f,p){var t,n,r,i,a,o,h,m=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.itemSyncObservers.sort(function(e,t){return e.priority<t.priority?-1:1}),r=!(n=!0),i=void 0,e.prev=4,a=regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(t=h.value,n=t.types.includes("*")?d:d.filter(function(e){return t.types.includes(e.content_type)}),r=[],i=[],o=!(a=!0),s=void 0,e.prev=6,c=n[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)(l=u.value).deleted?i.push(l):r.push(l);e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),o=!0,s=e.t0;case 14:e.prev=14,e.prev=15,a||null==c.return||c.return();case 17:if(e.prev=17,o)throw s;e.next=20;break;case 20:return e.finish(17);case 21:return e.finish(14);case 22:if(0<n.length)return e.next=25,m._callSyncObserverCallbackWithTimeout(t,n,r,i,f,p);e.next=25;break;case 25:case"end":return e.stop()}},e,null,[[6,10,14,22],[15,,17,21]])}),o=t[Symbol.iterator]();case 7:if(n=(h=o.next()).done){e.next=12;break}return e.delegateYield(a(),"t0",9);case 9:n=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),r=!0,i=e.t1;case 18:e.prev=18,e.prev=19,n||null==o.return||o.return();case 21:if(e.prev=21,r)throw i;e.next=24;break;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 s.apply(this,arguments)})},{key:"_callSyncObserverCallbackWithTimeout",value:(o=z(regeneratorRuntime.mark(function e(n,r,i,a,o,s){var c=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){c.$timeout(function(){try{n.callback(r,i,a,o,s)}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 o.apply(this,arguments)})},{key:"setItemDirty",value:function(e,t,n,r,i){var a=!(1<arguments.length&&void 0!==t)||t,o=2<arguments.length?n:void 0,s=3<arguments.length?r:void 0,c=4<arguments.length?i:void 0;this.setItemsDirty([e],a,o,s,c)}},{key:"setItemsDirty",value:function(e,t,n,r,i){var a=!(1<arguments.length&&void 0!==t)||t,o=2<arguments.length?n:void 0,s=3<arguments.length?r:void 0,c=4<arguments.length?i:void 0,u=!0,l=!1,d=void 0;try{for(var f,p=e[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){f.value.setDirty(a,o)}}catch(e){l=!0,d=e}finally{try{u||null==p.return||p.return()}finally{if(l)throw d}}this.notifySyncObserversOfModels(e,s||A.MappingSourceLocalDirtied,c)}},{key:"createItem",value:function(e){var t=A.ContentTypeClassMapping&&A.ContentTypeClassMapping[e.content_type];return new(t=t||ce)(e)}},{key:"createDuplicateItemFromResponseItem",value:(a=z(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)return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);e.next=3;break;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 a.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,t){var n=1<arguments.length&&void 0!==t&&t;this.addItems([e],n)}},{key:"addItems",value:function(e,t){var n=this;e.forEach(function(e){n.itemsHash[e.uuid]||(n.itemsHash[e.uuid]=e,n.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 c=!0,u=!1,l=void 0;try{for(var d,f=e.referencingObjects[Symbol.iterator]();!(c=(d=f.next()).done);c=!0){var p=d.value;p.removeItemAsRelationship(e),this.setItemDirty(p,!0)}}catch(e){u=!0,l=e}finally{try{c||null==f.return||f.return()}finally{if(u)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:(n=z(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 n.apply(this,arguments)})},{key:"allItemsMatchingTypes",value:function(t){return this.allItems.filter(function(e){return(_.includes(t,e.content_type)||_.includes(t,"*"))&&!e.dummy})}},{key:"invalidItems",value:function(){return this.allItems.filter(function(e){return e.errorDecrypting})}},{key:"validItemsForContentType",value:function(t){return this.allItems.filter(function(e){return e.content_type==t&&!e.errorDecrypting})}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e,t){var n=1<arguments.length&&void 0!==t&&t,r=[],i=!0,a=!1,o=void 0;try{for(var s,c=e[Symbol.iterator]();!(i=(s=c.next()).done);i=!0){var u=s.value,l=this.itemsHash[u];(l||n)&&r.push(l)}}catch(e){a=!0,o=e}finally{try{i||null==c.return||c.return()}finally{if(a)throw o}}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,s){return e.filter(function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=s[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;if(!e.satisfiesPredicate(o))return!1}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}return!0})}},{key:"importItems",value:(t=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=[],r={},a=!(i=!0),o=void 0,e.prev=5,s=t[Symbol.iterator]();case 7:if(i=(c=s.next()).done){e.next=18;break}if(u=c.value,l=this.findItem(u.uuid)){e.next=13;break}return r[u.uuid]={},e.abrupt("continue",15);case 13:d=this.duplicateItemWithoutAdding(l),r[u.uuid]={frozenValue:d,itemRef:l};case 15:i=!0,e.next=7;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(5),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)throw o;e.next=30;break;case 30:return e.finish(27);case 31:return e.finish(24);case 32:p=!(f=!0),h=void 0,e.prev=35,m=t[Symbol.iterator]();case 37:if(f=(v=m.next()).done){e.next=52;break}if(g=v.value,y=r[g.uuid],k=y.frozenValue,b=y.itemRef,k&&!b.errorDecrypting)return e.next=43,this.createDuplicateItemFromResponseItem(g);e.next=47;break;case 43:w=e.sent,g.deleted||k.isItemContentEqualWith(w)||(this.addDuplicatedItemAsConflict({duplicate:w,duplicateOf:b}),n.push(w)),e.next=49;break;case 47:n.push(g),b&&b.errorDecrypting&&(b.errorDecrypting=!1);case 49:f=!0,e.next=37;break;case 52:e.next=58;break;case 54:e.prev=54,e.t1=e.catch(35),p=!0,h=e.t1;case 58:e.prev=58,e.prev=59,f||null==m.return||m.return();case 61:if(e.prev=61,p)throw h;e.next=64;break;case 64:return e.finish(61);case 65:return e.finish(58);case 66:return e.next=68,this.mapResponseItemsToLocalModels(n,A.MappingSourceFileImport);case 68:for(x=e.sent,$=!(S=!0),_=void 0,e.prev=72,M=x[Symbol.iterator]();!(S=(I=M.next()).done);S=!0)C=I.value,this.setItemDirty(C,!0,!1),C.deleted=!1;e.next=80;break;case 76:e.prev=76,e.t2=e.catch(72),$=!0,_=e.t2;case 80:e.prev=80,e.prev=81,S||null==M.return||M.return();case 83:if(e.prev=83,$)throw _;e.next=86;break;case 86:return e.finish(83);case 87:return e.finish(80);case 88:return e.abrupt("return",x);case 89:case"end":return e.stop()}},e,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 t.apply(this,arguments)})},{key:"getAllItemsJSONData",value:(r=z(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:(i=z(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 ue(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,n,r){return i.apply(this,arguments)})},{key:"computeDataIntegrityHash",value:(e=z(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 e.apply(this,arguments)})},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter(function(e){return!e.dummy})}}]),A}();we.SFModelManager=Z;var Q=function(){function l(e,t,n){V(this,l),this.modelManager=e,this.syncManager=t,this.singletonManager=n,this.loadPrivileges(),l.CredentialAccountPassword="CredentialAccountPassword",l.CredentialLocalPasscode="CredentialLocalPasscode",l.ActionManageExtensions="ActionManageExtensions",l.ActionManageBackups="ActionManageBackups",l.ActionViewProtectedNotes="ActionViewProtectedNotes",l.ActionManagePrivileges="ActionManagePrivileges",l.ActionManagePasscode="ActionManagePasscode",l.ActionDeleteNote="ActionDeleteNote",l.SessionExpiresAtKey="SessionExpiresAtKey",l.SessionLengthKey="SessionLengthKey",l.SessionLengthNone=0,l.SessionLengthFiveMinutes=300,l.SessionLengthOneHour=3600,l.SessionLengthOneWeek=604800,this.availableActions=[l.ActionViewProtectedNotes,l.ActionDeleteNote,l.ActionManagePasscode,l.ActionManageBackups,l.ActionManageExtensions,l.ActionManagePrivileges],this.availableCredentials=[l.CredentialAccountPassword,l.CredentialLocalPasscode],this.sessionLengths=[l.SessionLengthNone,l.SessionLengthFiveMinutes,l.SessionLengthOneHour,l.SessionLengthOneWeek,l.SessionLengthIndefinite]}var n,r,e,t,i,a,o,s,c,u,d,f;return q(l,[{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:(f=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:e.t0=t,n=e.sent.getCredentialsForAction(e.t0),r=[],a=!(i=!0),o=void 0,e.prev=8,s=n[Symbol.iterator]();case 10:if(i=(c=s.next()).done){e.next=27;break}if((u=c.value)==l.CredentialAccountPassword)return e.next=15,this.delegate.isOffline();e.next=19;break;case 15:e.sent||r.push(u),e.next=24;break;case 19:if(u==l.CredentialLocalPasscode)return e.next=22,this.delegate.hasLocalPasscode();e.next=24;break;case 22:e.sent&&r.push(u);case 24:i=!0,e.next=10;break;case 27:e.next=33;break;case 29:e.prev=29,e.t1=e.catch(8),a=!0,o=e.t1;case 33:e.prev=33,e.prev=34,i||null==s.return||s.return();case 36:if(e.prev=36,a)throw o;e.next=39;break;case 39:return e.finish(36);case 40:return e.finish(33);case 41:return e.abrupt("return",r);case 42:case"end":return e.stop()}},e,this,[[8,29,33,41],[34,,36,40]])})),function(e){return f.apply(this,arguments)})},{key:"loadPrivileges",value:(d=z(regeneratorRuntime.mark(function e(){var a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.loadPromise)return e.abrupt("return",this.loadPromise);e.next=2;break;case 2:return this.loadPromise=new Promise(function(r,e){var i=de.contentType(),t=new le("content_type","=",i);a.singletonManager.registerSingleton([t],function(e){a.privileges=e,r(e)},function(){var t=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new de({content_type:i}),SFJS.crypto.generateUUIDSync){e.next=4;break}return e.next=4,n.initUUID();case 4:a.modelManager.addItem(n),a.modelManager.setItemDirty(n,!0),a.syncManager.sync(),t(n),r(n);case 9:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}())}),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}},e,this)})),function(){return d.apply(this,arguments)})},{key:"getPrivileges",value:(u=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.privileges)return e.abrupt("return",this.privileges);e.next=4;break;case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}},e,this)})),function(){return u.apply(this,arguments)})},{key:"displayInfoForCredential",value:function(e){var t={};return t[l.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},t[l.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},t[e]}},{key:"displayInfoForAction",value:function(e){var t={};return t[l.ActionManageExtensions]={label:"Manage Extensions"},t[l.ActionManageBackups]={label:"Download/Import Backups"},t[l.ActionViewProtectedNotes]={label:"View Protected Notes"},t[l.ActionManagePrivileges]={label:"Manage Privileges"},t[l.ActionManagePasscode]={label:"Manage Passcode"},t[l.ActionDeleteNote]={label:"Delete Notes"},t[e]}},{key:"getSessionLengthOptions",value:function(){return[{value:l.SessionLengthNone,label:"Don't Remember"},{value:l.SessionLengthFiveMinutes,label:"5 Minutes"},{value:l.SessionLengthOneHour,label:"1 Hour"},{value:l.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:(c=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){var t=new Date;return t.setSeconds(t.getSeconds()+e),t}(t),e.abrupt("return",Promise.all([this.delegate.saveToStorage(l.SessionExpiresAtKey,JSON.stringify(n)),this.delegate.saveToStorage(l.SessionLengthKey,JSON.stringify(t))]));case 3:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"clearSession",value:(s=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.setSessionLength(l.SessionLengthNone));case 1:case"end":return e.stop()}},e,this)})),function(){return s.apply(this,arguments)})},{key:"getSelectedSessionLength",value:(o=z(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delegate.getFromStorage(l.SessionLengthKey);case 2:if(t=e.sent)return e.abrupt("return",JSON.parse(t));e.next=7;break;case 7:return e.abrupt("return",l.SessionLengthNone);case 8:case"end":return e.stop()}},e,this)})),function(){return o.apply(this,arguments)})},{key:"getSessionExpirey",value:(a=z(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delegate.getFromStorage(l.SessionExpiresAtKey);case 2:if(t=e.sent)return e.abrupt("return",new Date(JSON.parse(t)));e.next=7;break;case 7:return e.abrupt("return",new Date);case 8:case"end":return e.stop()}},e,this)})),function(){return a.apply(this,arguments)})},{key:"actionHasPrivilegesConfigured",value:(i=z(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",0<e.t0);case 4:case"end":return e.stop()}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"actionRequiresPrivilege",value:(t=z(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)return e.abrupt("return",!1);e.next=5;break;case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",0<n.length);case 9:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"savePrivileges",value:(e=z(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 e.apply(this,arguments)})},{key:"authenticateAction",value:(r=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l,d;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=[],s=!(o=!0),c=void 0,e.prev=7,u=r[Symbol.iterator]();case 9:if(o=(l=u.next()).done){e.next=18;break}return d=l.value,e.next=13,this._verifyAuthenticationParameters(d,n[d]);case 13:e.sent?i.push(d):a.push(d);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,c=e.t0;case 24:e.prev=24,e.prev=25,o||null==u.return||u.return();case 27:if(e.prev=27,s)throw c;e.next=30;break;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:(n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),i=function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),t==l.CredentialAccountPassword)return e.abrupt("return",r(n));e.next=6;break;case 6:if(t==l.CredentialLocalPasscode)return e.abrupt("return",i(n));e.next=8;break;case 8:case"end":return e.stop()}},e)})),function(e,t){return n.apply(this,arguments)})}]),l}();we.SFPrivilegesManager=Q;var ee="sessionHistory_persist",te="sessionHistory_revisions",ne="sessionHistory_autoOptimize",re=function(){function a(e,t,n,r,i){var d=this;V(this,a),this.modelManager=e,this.storageManager=t,this.$timeout=i||setTimeout.bind(window),this.keyRequestHandler=n,this.loadFromDisk().then(function(){d.modelManager.addItemSyncObserver("session-history",r,function(e,t,n,r,i){if(r!==Z.MappingSourceLocalDirtied){var a=!0,o=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var l=c.value;try{d.addHistoryEntryForItem(l)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){o=!0,s=e}finally{try{a||null==u.return||u.return()}finally{if(o)throw s}}}})})}var e,t,n,r,i,o,s;return q(a,[{key:"encryptionParams",value:(s=z(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=z(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:(i=z(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(te));case 2:case"end":return e.stop()}},e,this)})),function(){return i.apply(this,arguments)})},{key:"toggleDiskSaving",value:(r=z(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(ee,JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem(ee,JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem(te));case 8:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})},{key:"saveToDisk",value:(n=z(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 ue(this.historySession,t.keys,t.auth_params).paramsForSync().then(function(e){n.storageManager.setItem(te,JSON.stringify(e))});case 7:case"end":return e.stop()}},e,this)})),function(){return n.apply(this,arguments)})},{key:"loadFromDisk",value:(t=z(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(ee);case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem(te);case 6:if(n=e.sent)return n=JSON.parse(n),e.next=11,this.encryptionParams();e.next=18;break;case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:i=new fe(n),this.historySession=i,e.next=19;break;case 18:this.historySession=new fe;case 19:return e.next=21,this.storageManager.getItem(ne);case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"toggleAutoOptimize",value:(e=z(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(ne,JSON.stringify(!0)):this.storageManager.setItem(ne,JSON.stringify(!1));case 2:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})}]),a}();we.SFSessionHistoryManager=re;var ie=function(){function t(i,e){var c=this;V(this,t),this.syncManager=e,this.modelManager=i,this.singletonHandlers=[],i.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,t,n,r){r!==Z.MappingSourceLocalDirtied&&c.resolveSingletons(i.allNondummyItems,null,!0)}}),e.addEventHandler(function(e,t){if("local-data-loaded"==e)c.resolveSingletons(i.allNondummyItems,null,!0),c.initialDataLoaded=!0;else if("sync:completed"==e){if(!c.initialDataLoaded)return;c.resolveSingletons(t.retrievedItems,t.savedItems)}}),i.addModelUuidChangeObserver("singleton-manager",function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=c.singletonHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.singleton&&le.ItemSatisfiesPredicates(t,s.predicates)&&(s.singleton=null,c.resolveSingletons([t]))}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}})}return q(t,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(v,g,y){var k=this;v=v||[],g=g||[];var e=!0,t=!1,n=void 0;try{function r(){function e(){t.createBlock&&(t.pendingCreateBlockCallback=!0,t.createBlock(function(e){t.singleton=e,t.pendingCreateBlockCallback=!1,t.resolutionCallback&&t.resolutionCallback(e)}))}var t=b.value,n=t.predicates.slice(),r=k.modelManager.filterItemsWithPredicates(v,n),i=k.modelManager.filterItemsWithPredicates(g,n).length;if(0<r.length||0<i){var a=k.modelManager.itemsMatchingPredicates(n);if(2<=a.length){var o=a.sort(function(e,t){return e.errorDecrypting?1:t.errorDecrypting?-1:e.created_at<t.created_at?-1:1}),s=o[0],c=o.slice(1,o.length),u=!0,l=!1,d=void 0;try{for(var f,p=c[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){var h=f.value;k.modelManager.setItemToBeDeleted(h)}}catch(e){l=!0,d=e}finally{try{u||null==p.return||p.return()}finally{if(l)throw d}}k.syncManager.sync(),t.singleton=s,t.resolutionCallback&&t.resolutionCallback(s)}else if(1==a.length){var m=a[0];m.errorDecrypting?(k.modelManager.setItemToBeDeleted(m),e()):t.singleton&&t.singleton===m||(t.singleton=m,t.resolutionCallback&&t.resolutionCallback(m))}}else t.singleton||y||t.pendingCreateBlockCallback||e()}for(var b,i=this.singletonHandlers[Symbol.iterator]();!(e=(b=i.next()).done);e=!0)r()}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}}}]),t}();we.SFSingletonManager=ie;var ae=function(){function e(){V(this,e)}var t,n,r,i,a,o,s,c,u,l;return q(e,[{key:"setItem",value:(l=z(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e,t){return l.apply(this,arguments)})},{key:"getItem",value:(u=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return u.apply(this,arguments)})},{key:"removeItem",value:(c=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return c.apply(this,arguments)})},{key:"clear",value:(s=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(){return s.apply(this,arguments)})},{key:"getAllModels",value:(o=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(){return o.apply(this,arguments)})},{key:"saveModel",value:(a=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.saveModels([t]));case 1:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"saveModels",value:(i=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return i.apply(this,arguments)})},{key:"deleteModel",value:(r=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"clearAllModels",value:(n=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(){return n.apply(this,arguments)})},{key:"clearAllData",value:(t=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([this.clear(),this.clearAllModels()]));case 1:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})}]),e}();we.SFStorageManager=ae;var oe,se=function(){function P(e,t,n,r,i){V(this,P),P.KeyRequestLoadLocal="KeyRequestLoadLocal",P.KeyRequestSaveLocal="KeyRequestSaveLocal",P.KeyRequestLoadSaveAccount="KeyRequestLoadSaveAccount",this.httpManager=n,this.modelManager=e,this.storageManager=t,this.$interval=i||setInterval.bind(window),this.$timeout=r||setTimeout.bind(window),this.syncStatus={},this.syncStatusObservers=[],this.eventHandlers=[],this.PerSyncItemUploadLimit=150,this.ServerItemDownloadLimit=150,this.MajorDataChangeThreshold=15,this.MaxDiscordanceBeforeOutOfSync=5,this.syncDiscordance=0,this.outOfSync=!1}var e,t,n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x;return q(P,[{key:"handleServerIntegrityHash",value:(x=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!=t.length){e.next=2;break}return e.abrupt("return",!0);case 2:return e.next=4,this.modelManager.computeDataIntegrityHash();case 4:if(n=e.sent){e.next=7;break}return e.abrupt("return",!0);case 7:if(n!==t)return this.syncDiscordance++,this.syncDiscordance>=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);e.next=13;break;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 x.apply(this,arguments)})},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:(w=z(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 w.apply(this,arguments)})},{key:"getSyncURL",value:(b=z(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 b.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 t=this;this.syncStatusObservers.forEach(function(e){e.callback(t.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:(k=z(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 k.apply(this,arguments)})},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var o=this;return e.sort(function(e,t){var n=new Date(t.updated_at)-new Date(e.updated_at),r=o.contentTypeLoadPriority,i=0,a=0;return r&&(i=r.indexOf(e.content_type),a=r.indexOf(t.content_type),-1==i&&(i=r.length),-1==a&&(a=r.length)),i==a?n:i<a?-1:1})}},{key:"loadLocalItems",value:(y=z(regeneratorRuntime.mark(function e(){var t,c,u,n,r,l=this,i=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(c=(t=0<i.length&&void 0!==i[0]?i[0]:{}).incrementalCallback,u=t.batchSize,(n=t.options)&&n.simulateHighLatency)return r=n.simulatedLatency||1e3,e.next=5,this._awaitSleep(r);e.next=5;break;case 5:if(this.loadLocalDataPromise)return e.abrupt("return",this.loadLocalDataPromise);e.next=7;break;case 7:return u=u||100,this.loadLocalDataPromise=this.storageManager.getAllModels().then(function(r){var i=(r=(r=l._sortLocalItems(r)).filter(function(e){var t=l.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate})).length,a=0,o=[],s=function(){var e=z(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.slice(a,a+u),e.next=3,l.handleItemsResponse(t,null,Z.MappingSourceLocalRetrieved,P.KeyRequestLoadLocal);case 3:if(n=e.sent,o.push(n),(a+=t.length)<i)return e.abrupt("return",new Promise(function(e,t){l.$timeout(function(){l.notifyEvent("local-data-incremental-load"),c&&c(a,i),s().then(e)})}));e.next=10;break;case 10:l._initialDataLoaded=!0,l.notifyEvent("local-data-loaded");case 12:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return s()}),e.abrupt("return",this.loadLocalDataPromise);case 10:case"end":return e.stop()}},e,this)})),function(){return y.apply(this,arguments)})},{key:"writeItemsToLocalStorage",value:(g=z(regeneratorRuntime.mark(function e(p,h){var m=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0==p.length)return e.abrupt("return");e.next=2;break;case 2:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(r=[],i=[],o=!(a=!0),s=void 0,e.prev=4,c=p[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)!0!==(l=u.value).deleted||l.dirty?r.push(l):i.push(l);e.next=12;break;case 8:e.prev=8,e.t0=e.catch(4),o=!0,s=e.t0;case 12:e.prev=12,e.prev=13,a||null==c.return||c.return();case 15:if(e.prev=15,o)throw s;e.next=18;break;case 18:return e.finish(15);case 19:return e.finish(12);case 20:if(0<i.length)return e.next=23,Promise.all(i.map(function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",m.storageManager.deleteModel(t));case 1:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}()));e.next=23;break;case 23:return e.next=25,m.getActiveKeyInfo(P.KeyRequestSaveLocal);case 25:if(d=e.sent,0<r.length)return e.next=29,Promise.all(r.map(function(){var t=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=new ue(t,d.keys,d.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,h&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}())).catch(function(e){return n(e)});e.next=33;break;case 29:return f=e.sent,e.next=32,m.storageManager.saveModels(f).catch(function(e){console.error("Error writing items",e),m.syncStatus.localError=e,m.syncStatusDidChange(),n()});case 32:m.syncStatus.localError&&(m.syncStatus.localError=null,m.syncStatusDidChange());case 33:t();case 34:case"end":return e.stop()}},e,null,[[4,8,12,20],[13,,15,19]])}));return function(e,t){return n.apply(this,arguments)}}()));case 3:case"end":return e.stop()}},e)})),function(e,t){return g.apply(this,arguments)})},{key:"syncOffline",value:(v=z(regeneratorRuntime.mark(function e(s){var t,n,r,i,a,c=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!(t=!0),r=void 0,e.prev=3,i=s[Symbol.iterator]();!(t=(a=i.next()).done);t=!0)a.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),n=!0,r=e.t0;case 11:e.prev=11,e.prev=12,t||null==i.return||i.return();case 14:if(e.prev=14,n)throw r;e.next=17;break;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(s,!0).then(function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=s[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;o.deleted&&c.modelManager.removeItemLocally(o)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}return c.modelManager.clearDirtyItems(s),c.modelManager.didSyncModelsOffline(s),c.notifyEvent("sync:completed",{savedItems:s}),{saved_items:s}}));case 20:case"end":return e.stop()}},e,this,[[3,7,11,19],[12,,14,18]])})),function(e){return v.apply(this,arguments)})},{key:"markAllItemsDirtyAndSaveOffline",value:(m=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,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(),i=!(r=!0),a=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(s=o.next()).done){e.next=14;break}return c=s.value,e.next=11,this.modelManager.alternateUUIDForItem(c);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)throw a;e.next=26;break;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(u=this.modelManager.allNondummyItems,d=!(l=!0),f=void 0,e.prev=32,p=u[Symbol.iterator]();!(l=(h=p.next()).done);l=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),d=!0,f=e.t1;case 40:e.prev=40,e.prev=41,l||null==p.return||p.return();case 43:if(e.prev=43,d)throw f;e.next=46;break;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(u,!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:(h=z(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 h.apply(this,arguments)})},{key:"getSyncToken",value:(p=z(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 p.apply(this,arguments)})},{key:"setCursorToken",value:(f=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t)return e.next=4,this.storageManager.setItem("cursorToken",t);e.next=6;break;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 f.apply(this,arguments)})},{key:"getCursorToken",value:(d=z(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 d.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(){5<(new Date-this.syncStatus.syncStart)/1e3&&(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:(l=z(regeneratorRuntime.mark(function e(){var g,y=this,t=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(g=0<t.length&&void 0!==t[0]?t[0]:{},this.syncLocked)return console.log("Sync Locked, Returning;"),e.abrupt("return");e.next=4;break;case 4:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a,o,s,c,u,l,d,f,p,h,m,v;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return g=g||{},r=y.modelManager.getDirtyItems(),i=r.filter(function(e){return!y.lastDirtyItemsSave||e.dirtiedDate>y.lastDirtyItemsSave}),e.next=5,y.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 5:if(a=e.sent,o=y.syncStatus.syncOpInProgress,s=y.initialDataLoaded(),o||!s)return y.performSyncAgainOnCompletion=!0,y.lastDirtyItemsSave=new Date,e.next=13,y.writeItemsToLocalStorage(i,!1);e.next=16;break;case 13:return o&&(y.queuedCallbacks.push(n),y.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),s||(y.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),n()),e.abrupt("return");case 16:if(y.syncStatus.syncOpInProgress=!0,a.offline)return e.abrupt("return",y.syncOffline(r).then(function(e){y.syncStatus.syncOpInProgress=!1,n(e)}).catch(function(e){y.notifyEvent("sync-exception",e)}));e.next=19;break;case 19:if(y.initialDataLoaded()){e.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),e.abrupt("return");case 22:return y.loggingEnabled&&console.log("Syncing online user."),c=y.syncStatus.needsMoreSync,y.syncStatus.syncStart=new Date,y.beginCheckingIfSyncIsTakingTooLong(),u=y.PerSyncItemUploadLimit,(l=r.slice(0,u)).length<r.length?y.syncStatus.needsMoreSync=!0:y.syncStatus.needsMoreSync=!1,c||(y.syncStatus.total=r.length,y.syncStatus.current=0),y.syncStatus.current>y.syncStatus.total&&(y.syncStatus.total=y.syncStatus.current),y.syncStatusDidChange(),e.next=34,y.writeItemsToLocalStorage(i,!1);case 34:return y.lastDirtyItemsSave=new Date,g.onPreSyncSave&&g.onPreSyncSave(),y.allRetreivedItems||(y.allRetreivedItems=[]),y.allSavedItems||(y.allSavedItems=[]),(d={}).limit=y.ServerItemDownloadLimit,g.performIntegrityCheck&&(d.compute_integrity=!0),e.prev=41,e.next=44,Promise.all(l.map(function(e){var t=new ue(e,a.keys,a.auth_params);return t.additionalFields=g.additionalFields,t.paramsForSync()})).then(function(e){d.items=e});case 44:e.next=49;break;case 46:e.prev=46,e.t0=e.catch(41),y.notifyEvent("sync-exception",e.t0);case 49:for(p=!(f=!0),h=void 0,e.prev=52,m=l[Symbol.iterator]();!(f=(v=m.next()).done);f=!0)v.value.dirtyCount=0;e.next=60;break;case 56:e.prev=56,e.t1=e.catch(52),p=!0,h=e.t1;case 60:e.prev=60,e.prev=61,f||null==m.return||m.return();case 63:if(e.prev=63,p)throw h;e.next=66;break;case 66:return e.finish(63);case 67:return e.finish(60);case 68:return e.next=70,y.getSyncToken();case 70:return d.sync_token=e.sent,e.next=73,y.getCursorToken();case 73:return d.cursor_token=e.sent,d.api=Y.getApiVersion(),y.loggingEnabled&&console.log("Syncing with params",d),e.prev=76,e.t2=y.httpManager,e.next=80,y.getSyncURL();case 80:e.t3=e.sent,e.t4=d,e.t5=function(e){y.handleSyncSuccess(l,e,g).then(function(){n(e)}).catch(function(t){console.log("Caught sync success exception:",t),y.handleSyncError(t,null,r).then(function(e){y.notifyEvent("sync-exception",t),n(e)})})},e.t6=function(e,t){y.handleSyncError(e,t,r).then(function(e){n(e)})},e.t2.postAuthenticatedAbsolute.call(e.t2,e.t3,e.t4,e.t5,e.t6),e.next=90;break;case 87:e.prev=87,e.t7=e.catch(76),console.log("Sync exception caught:",e.t7);case 90:case"end":return e.stop()}},e,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])}));return function(e,t){return n.apply(this,arguments)}}()));case 5:case"end":return e.stop()}},e,this)})),function(){return l.apply(this,arguments)})},{key:"_awaitSleep",value:(u=z(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",n),e.abrupt("return",new Promise(function(e,t){setTimeout(function(){e()},n)}));case 2:case"end":return e.stop()}},e)})),function(e){return u.apply(this,arguments)})},{key:"handleSyncSuccess",value:(c=z(regeneratorRuntime.mark(function e(t,n,r){var i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r.simulateHighLatency)return i=r.simulatedLatency||1e3,e.next=4,this._awaitSleep(i);e.next=4;break;case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",n),a=this.allSavedItems.map(function(e){return e.uuid}),o=n.saved_items.map(function(e){return e.uuid}),n.retrieved_items=n.retrieved_items.filter(function(e){var t=a.includes(e.uuid),n=o.includes(e.uuid);if(t||n)return!1;var r=b.modelManager.findItem(e.uuid);return!r||!r.dirty}),s=[],u=!(c=!0),l=void 0,e.prev=13,d=t[Symbol.iterator]();!(c=(f=d.next()).done);c=!0)0==(p=f.value).dirtyCount&&s.push(p);e.next=21;break;case 17:e.prev=17,e.t0=e.catch(13),u=!0,l=e.t0;case 21:e.prev=21,e.prev=22,c||null==d.return||d.return();case 24:if(e.prev=24,u)throw l;e.next=27;break;case 27:return e.finish(24);case 28:return e.finish(21);case 29:return this.modelManager.clearDirtyItems(s),e.next=32,this.handleItemsResponse(n.retrieved_items,null,Z.MappingSourceRemoteRetrieved,P.KeyRequestLoadSaveAccount);case 32:return h=e.sent,this.allRetreivedItems=this.allRetreivedItems.concat(h),this.syncStatus.retrievedCount=this.allRetreivedItems.length,m=["content","auth_hash"],e.next=38,this.handleItemsResponse(n.saved_items,m,Z.MappingSourceRemoteSaved,P.KeyRequestLoadSaveAccount);case 38:return v=e.sent,this.allSavedItems=this.allSavedItems.concat(v),g=n.unsaved,e.next=43,this.deprecated_handleUnsavedItemsResponse(g);case 43:return e.next=45,this.handleConflictsResponse(n.conflicts);case 45:if(y=e.sent,k=y&&0<y.length,y)return e.next=50,this.writeItemsToLocalStorage(y,!1);e.next=50;break;case 50:return e.next=52,this.writeItemsToLocalStorage(v,!1);case 52:return e.next=54,this.writeItemsToLocalStorage(h,!1);case 54:if(n.integrity_hash&&!n.cursor_token)return e.next=57,this.handleServerIntegrityHash(n.integrity_hash);e.next=59;break;case 57:e.sent||this.syncDiscordance<this.MaxDiscordanceBeforeOutOfSync&&(this.performSyncAgainOnCompletion=!0);case 59:return this.syncStatus.syncOpInProgress=!1,this.syncStatus.current+=t.length,this.syncStatusDidChange(),this.setSyncToken(n.sync_token),this.setCursorToken(n.cursor_token),this.stopCheckingIfSyncIsTakingTooLong(),e.next=67,this.getCursorToken();case 67:if(e.sent||this.syncStatus.needsMoreSync)return e.abrupt("return",new Promise(function(e,t){setTimeout(function(){this.sync(r).then(e)}.bind(b),10)}));e.next=72;break;case 72:if(k)return this.performSyncAgainOnCompletion=!1,e.abrupt("return",new Promise(function(e,t){setTimeout(function(){b.sync(r).then(e)},10)}));e.next=77;break;case 77:return this.syncStatus.retrievedCount=0,this.syncStatus.current=0,this.syncStatus.total=0,this.syncStatusDidChange(),(this.allRetreivedItems.length>=this.majorDataChangeThreshold||v.length>=this.majorDataChangeThreshold||g&&g.length>=this.majorDataChangeThreshold||y&&y.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(){b.sync(r)},10)),e.abrupt("return",n);case 88:case"end":return e.stop()}},e,this,[[13,17,21,29],[22,,24,28]])})),function(e,t,n){return c.apply(this,arguments)})},{key:"handleSyncError",value:(s=z(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 s.apply(this,arguments)})},{key:"handleItemsResponse",value:(o=z(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,0<(s=o.filter(function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t})).length&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return o.apply(this,arguments)})},{key:"refreshErroredItems",value:(a=z(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0<(t=this.modelManager.allNondummyItems.filter(function(e){return 1==e.errorDecrypting})).length)return e.abrupt("return",this.handleItemsResponse(t,null,Z.MappingSourceLocalRetrieved,P.KeyRequestLoadSaveAccount));e.next=3;break;case 3:case"end":return e.stop()}},e,this)})),function(){return a.apply(this,arguments)})},{key:"handleConflictsResponse",value:(i=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C,A,R,D,E,O;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!=t.length){e.next=2;break}return e.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",t),n={},i=!(r=!0),a=void 0,e.prev=7,o=t[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=21;break}if(c=s.value,u=c.server_item||c.unsaved_item,l=this.modelManager.findItem(u.uuid)){e.next=16;break}return n[u.uuid]={},e.abrupt("continue",18);case 16:d=l.getContentCopy(),n[u.uuid]={frozenContent:d,itemRef:l};case 18:r=!0,e.next=9;break;case 21:e.next=27;break;case 23:e.prev=23,e.t0=e.catch(7),i=!0,a=e.t0;case 27:e.prev=27,e.prev=28,r||null==o.return||o.return();case 30:if(e.prev=30,i)throw a;e.next=33;break;case 33:return e.finish(30);case 34:return e.finish(27);case 35:f=[],h=!(p=!0),m=void 0,e.prev=39,v=t[Symbol.iterator]();case 41:if(p=(g=v.next()).done){e.next=91;break}return y=g.value,k=y.server_item||y.unsaved_item,e.t1=SFJS.itemTransformer,e.t2=[k],e.next=48,this.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 48:return e.t3=e.sent.keys,e.next=51,e.t1.decryptMultipleItems.call(e.t1,e.t2,e.t3);case 51:if(b=n[k.uuid],w=b.frozenContent,x=b.itemRef){e.next=54;break}return e.abrupt("continue",88);case 54:if(f.push(x),"uuid_conflict"===y.type)return e.next=58,this.modelManager.alternateUUIDForItem(x);e.next=62;break;case 58:S=e.sent,f.push(S),e.next=88;break;case 62:if("sync_conflict"===y.type)return e.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);e.next=86;break;case 65:if($=e.sent,_=this.modelManager.duplicateItemWithCustomContent({content:w,duplicateOf:x}),M=!_.isItemContentEqualWith($),I=!x.isItemContentEqualWith($),D=R=A=C=!1,k.deleted||x.deleted?D=!0:M?(20,(new Date-x.client_updated_at)/1e3<20?A=R=!0:D=C=!0):I?(E=!ce.AreItemContentsEqual({leftContent:x.content,rightContent:$.content,keysToIgnore:x.keysToIgnoreWhenCheckingContentEquality().concat(["references"]),appDataKeysToIgnore:x.appDataKeysToIgnoreWhenCheckingContentEquality()}),!E?R=!0:D=C=!0):D=!0,C)return e.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:w,duplicateOf:x});e.next=79;break;case 77:O=e.sent,f.push(O);case 79:if(A&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:$,duplicateOf:x}),f.push($)),D)return e.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([k],null,Z.MappingSourceRemoteRetrieved);e.next=83;break;case 83:R&&(x.updated_at=$.updated_at,x.setDirty(!0)),e.next=88;break;case 86:return console.error("Unsupported conflict type",y.type),e.abrupt("continue",88);case 88:p=!0,e.next=41;break;case 91:e.next=97;break;case 93:e.prev=93,e.t4=e.catch(39),h=!0,m=e.t4;case 97:e.prev=97,e.prev=98,p||null==v.return||v.return();case 100:if(e.prev=100,h)throw m;e.next=103;break;case 103:return e.finish(100);case 104:return e.finish(97);case 105:return e.abrupt("return",f);case 106:case"end":return e.stop()}},e,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])})),function(e){return i.apply(this,arguments)})},{key:"deprecated_handleUnsavedItemsResponse",value:(r=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!=t.length){e.next=2;break}return e.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Unsaved Items:",t),r=!(n=!0),i=void 0,e.prev=6,a=t[Symbol.iterator]();case 8:if(n=(o=a.next()).done){e.next=35;break}return s=o.value,c=s.item,e.t0=SFJS.itemTransformer,e.t1=[c],e.next=15,this.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 15:return e.t2=e.sent.keys,e.next=18,e.t0.decryptMultipleItems.call(e.t0,e.t1,e.t2);case 18:if(u=this.modelManager.findItem(c.uuid)){e.next=21;break}return e.abrupt("continue",32);case 21:if("uuid_conflict"===(l=s.error).tag)return e.next=25,this.modelManager.alternateUUIDForItem(u);e.next=27;break;case 25:e.next=32;break;case 27:if("sync_conflict"===l.tag)return e.next=30,this.modelManager.createDuplicateItemFromResponseItem(c);e.next=32;break;case 30:d=e.sent,c.deleted||u.isItemContentEqualWith(d)||this.modelManager.addDuplicatedItemAsConflict({duplicate:d,duplicateOf:u});case 32:n=!0,e.next=8;break;case 35:e.next=41;break;case 37:e.prev=37,e.t3=e.catch(6),r=!0,i=e.t3;case 41:e.prev=41,e.prev=42,n||null==a.return||a.return();case 44:if(e.prev=44,r)throw i;e.next=47;break;case 47:return e.finish(44);case 48:return e.finish(41);case 49:case"end":return e.stop()}},e,this,[[6,37,41,49],[42,,44,48]])})),function(e){return r.apply(this,arguments)})},{key:"stateless_downloadAllItems",value:function(e){var a=this,o=0<arguments.length&&void 0!==e?e:{};return new Promise(function(){var n=z(regeneratorRuntime.mark(function e(i,n){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t={limit:o.limit||500,sync_token:o.syncToken,cursor_token:o.cursorToken,content_type:o.contentType,event:o.event,api:Y.getApiVersion()},e.prev=1,e.t0=a.httpManager,e.next=5,a.getSyncURL();case 5:e.t1=e.sent,e.t2=t,e.t3=function(){var t=z(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o.retrievedItems||(o.retrievedItems=[]),n=t.retrieved_items,e.next=4,a.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 4:return r=e.sent.keys,e.next=7,SFJS.itemTransformer.decryptMultipleItems(n,r);case 7:o.retrievedItems=o.retrievedItems.concat(n.map(function(e){return a.modelManager.createItem(e)})),o.syncToken=t.sync_token,o.cursorToken=t.cursor_token,o.cursorToken?a.stateless_downloadAllItems(o).then(i):i(o.retrievedItems);case 11:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),e.t4=function(e,t){n(e)},e.t0.postAuthenticatedAbsolute.call(e.t0,e.t1,e.t2,e.t3,e.t4),e.next=16;break;case 12:e.prev=12,e.t5=e.catch(1),console.log("Download all items exception caught:",e.t5),n(e.t5);case 16:case"end":return e.stop()}},e,null,[[1,12]])}));return function(e,t){return n.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:(n=z(regeneratorRuntime.mark(function e(){var l=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 t=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=[],i=!(r=!0),a=void 0,e.prev=4,o=t[Symbol.iterator]();case 6:if(r=(s=o.next()).done){e.next=18;break}if(c=s.value,!(u=l.modelManager.findItem(c.uuid))){e.next=14;break}if(!c.isItemContentEqualWith(u))return e.next=14,l.modelManager.duplicateItemAndAddAsConflict(u);e.next=14;break;case 14:n.push(c);case 15:r=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),i=!0,a=e.t0;case 24:e.prev=24,e.prev=25,r||null==o.return||o.return();case 27:if(e.prev=27,i)throw a;e.next=30;break;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,l.modelManager.mapResponseItemsToLocalModelsWithOptions({items:n,source:Z.MappingSourceRemoteRetrieved});case 34:return e.next=36,l.writeItemsToLocalStorage(l.modelManager.allNondummyItems);case 36:return e.abrupt("return",l.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}},e,null,[[4,20,24,32],[25,,27,31]])}));return function(e){return t.apply(this,arguments)}}()));case 1:case"end":return e.stop()}},e,this)})),function(){return n.apply(this,arguments)})},{key:"handleSignout",value:(t=z(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 t.apply(this,arguments)})},{key:"clearSyncToken",value:(e=z(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 e.apply(this,arguments)})},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),P}();we.SFSyncManager=se;var ce=function(){function o(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};V(this,o),this.content={},this.referencingObjects=[],this.updateFromJSON(e),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==H(this.content)||this.content.references||(this.content.references=[])}var e;return q(o,[{key:"initUUID",value:(e=z(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 e.apply(this,arguments)})},{key:"updateFromJSON",value:function(e){if(e){this.deleted=e.deleted,this.uuid=e.uuid,this.enc_item_key=e.enc_item_key,this.auth_hash=e.auth_hash,this.auth_params=e.auth_params;for(var t=0,n=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];t<n.length;t++){var r=n[t];void 0!==e[r]&&(this[r]=e[r])}if(this.dirtiedDate&&"string"==typeof this.dirtiedDate&&(this.dirtiedDate=new Date(this.dirtiedDate)),this.content_type||(this.content_type=e.content_type),e.errorDecrypting)this.content=e.content;else try{var i="string"==typeof e.content?JSON.parse(e.content):e.content;o.deepMerge(this.contentObject,i)}catch(e){console.log("Error while updating item from json",e)}e.created_at&&(this.created_at=e.created_at),e.updated_at&&(this.updated_at=e.updated_at),this.created_at?this.created_at=new Date(this.created_at):this.created_at=new Date,this.updated_at?this.updated_at=new Date(this.updated_at):this.updated_at=new Date(0),this._client_updated_at=null,e.content?this.mapContentToLocalProperties(this.contentObject):1==e.deleted&&this.handleDeletedContent()}}},{key:"mapContentToLocalProperties",value:function(){}},{key:"createContentJSONFromProperties",value:function(){var e=this.structureParams();return o.deepMerge(this.contentObject,e),e}},{key:"structureParams",value:function(){return this.getContentCopy()}},{key:"handleDeletedContent",value:function(){}},{key:"setDirty",value:function(e,t){this.dirty=e,this.dirtyCount||(this.dirtyCount=0),e?this.dirtyCount++:this.dirtyCount=0,this.dirtiedDate=new Date,e&&t?this.client_updated_at=new Date:this.hasRawClientUpdatedAtValue()||(this.client_updated_at=new Date(this.updated_at))}},{key:"updateLocalRelationships",value:function(){}},{key:"addItemAsRelationship",value:function(e){if(e.setIsBeingReferencedBy(this),!this.hasRelationshipWithItem(e)){var t=this.content.references||[];t.push({uuid:e.uuid,content_type:e.content_type}),this.content.references=t}}},{key:"removeItemAsRelationship",value:function(e){e.setIsNoLongerBeingReferencedBy(this),this.removeReferenceWithUuid(e.uuid)}},{key:"setIsBeingReferencedBy",value:function(e){_.find(this.referencingObjects,{uuid:e.uuid})||this.referencingObjects.push(e)}},{key:"setIsNoLongerBeingReferencedBy",value:function(e){_.remove(this.referencingObjects,{uuid:e.uuid}),this.hasRelationshipWithItem(e)&&(this.removeReferenceWithUuid(e.uuid),this.setDirty(!0))}},{key:"removeReferenceWithUuid",value:function(t){var e=this.content.references||[];e=e.filter(function(e){return e.uuid!=t}),this.content.references=e}},{key:"hasRelationshipWithItem",value:function(t){return null!=this.content.references.find(function(e){return e.uuid==t.uuid})}},{key:"isBeingRemovedLocally",value:function(){}},{key:"didFinishSyncing",value:function(){}},{key:"informReferencesOfUUIDChange",value:function(){}},{key:"potentialItemOfInterestHasChangedItsUUID",value:function(e,t,n){if(!this.errorDecrypting){var r=!0,i=!1,a=void 0;try{for(var o,s=this.content.references[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var c=o.value;c.uuid==t&&(c.uuid=n,this.setDirty(!0))}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}}},{key:"doNotEncrypt",value:function(){return!1}},{key:"setDomainDataItem",value:function(e,t,n){if(n){if(!this.errorDecrypting){this.content.appData||(this.content.appData={});var r=this.content.appData[n];(r=r||{})[e]=t,this.content.appData[n]=r}}else console.error("SFItem.AppDomain needs to be set.")}},{key:"getDomainDataItem",value:function(e,t){if(t){if(!this.errorDecrypting){this.content.appData||(this.content.appData={});var n=this.content.appData[t];return n?n[e]:null}}else console.error("SFItem.AppDomain needs to be set.")}},{key:"setAppDataItem",value:function(e,t){this.setDomainDataItem(e,t,o.AppDomain)}},{key:"getAppDataItem",value:function(e){return this.getDomainDataItem(e,o.AppDomain)}},{key:"hasRawClientUpdatedAtValue",value:function(){return null!=this.getAppDataItem("client_updated_at")}},{key:"keysToIgnoreWhenCheckingContentEquality",value:function(){return[]}},{key:"appDataKeysToIgnoreWhenCheckingContentEquality",value:function(){return["client_updated_at"]}},{key:"getContentCopy",value:function(){return JSON.parse(JSON.stringify(this.content))}},{key:"isItemContentEqualWith",value:function(e){return o.AreItemContentsEqual({leftContent:this.content,rightContent:e.content,keysToIgnore:this.keysToIgnoreWhenCheckingContentEquality(),appDataKeysToIgnore:this.appDataKeysToIgnoreWhenCheckingContentEquality()})}},{key:"satisfiesPredicate",value:function(e){return le.ItemSatisfiesPredicate(this,e)}},{key:"createdAtString",value:function(){return this.dateToLocalizedString(this.created_at)}},{key:"updatedAtString",value:function(){return this.dateToLocalizedString(this.client_updated_at)}},{key:"updatedAtTimestamp",value:function(){return this.updated_at.getTime()}},{key:"dateToLocalizedString",value:function(e){if("undefined"!=typeof Intl&&Intl.DateTimeFormat){if(!oe){var t=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language;oe=new Intl.DateTimeFormat(t,{year:"numeric",month:"short",day:"2-digit",weekday:"long",hour:"2-digit",minute:"2-digit"})}return oe.format(e)}return e.toDateString()+" "+e.toLocaleTimeString()}},{key:"contentObject",get:function(){if(this.errorDecrypting)return this.content;if(!this.content)return this.content={},this.content;if(null!==this.content&&"object"===H(this.content))return this.content;try{var e=JSON.parse(this.content);return this.content=e,this.content}catch(e){return console.log("Error parsing json",e,this),this.content={},this.content}}},{key:"pinned",get:function(){return this.getAppDataItem("pinned")}},{key:"archived",get:function(){return this.getAppDataItem("archived")}},{key:"locked",get:function(){return this.getAppDataItem("locked")}},{key:"displayName",get:function(){return"Item"}},{key:"client_updated_at",get:function(){if(!this._client_updated_at){var e=this.getAppDataItem("client_updated_at");this._client_updated_at=e?new Date(e):new Date(this.updated_at)}return this._client_updated_at},set:function(e){this._client_updated_at=e,this.setAppDataItem("client_updated_at",e)}}],[{key:"deepMerge",value:function(e,t){return _.mergeWith(e,t,function(e,t){if(_.isArray(e))return t}),e}},{key:"AreItemContentsEqual",value:function(e){function t(e,t){if(!e)return e;var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){delete e[a.value]}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return e}var n=e.leftContent,r=e.rightContent,i=e.keysToIgnore,a=e.appDataKeysToIgnore;return(n=JSON.parse(JSON.stringify(n))).appData&&t(n.appData[o.AppDomain],a),n=t(n,i),(r=JSON.parse(JSON.stringify(r))).appData&&t(r.appData[o.AppDomain],a),r=t(r,i),JSON.stringify(n)===JSON.stringify(r)}}]),o}();we.SFItem=ce;var ue=function(){function r(e,t,n){if(V(this,r),this.item=e,this.keys=t,this.auth_params=n,this.keys&&!this.auth_params)throw"SFItemParams.auth_params must be supplied if supplying keys.";if(this.auth_params&&!this.auth_params.version)throw"SFItemParams.auth_params is missing version"}var e,t,n,i,a;return q(r,[{key:"paramsForExportFile",value:(a=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.forExportFile=!0,t)return e.abrupt("return",this.__params());e.next=5;break;case 5:return e.next=7,this.__params();case 7:return n=e.sent,e.abrupt("return",_.omit(n,["deleted"]));case 9:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"paramsForExtension",value:(i=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.paramsForExportFile());case 1:case"end":return e.stop()}},e,this)})),function(){return i.apply(this,arguments)})},{key:"paramsForLocalStorage",value:(n=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.additionalFields=["dirty","dirtiedDate","errorDecrypting"],this.forExportFile=!0,e.abrupt("return",this.__params());case 3:case"end":return e.stop()}},e,this)})),function(){return n.apply(this,arguments)})},{key:"paramsForSync",value:(t=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.__params());case 1:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"__params",value:(e=z(regeneratorRuntime.mark(function e(){var t,n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t={uuid:this.item.uuid,content_type:this.item.content_type,deleted:this.item.deleted,created_at:this.item.created_at,updated_at:this.item.updated_at},this.item.errorDecrypting){e.next=23;break}if(n=this.item.doNotEncrypt()&&!this.forExportFile,this.keys&&!n)return e.next=6,SFJS.itemTransformer.encryptItem(this.item,this.keys,this.auth_params);e.next=11;break;case 6:r=e.sent,_.merge(t,r),"001"!==this.auth_params.version&&(t.auth_hash=null),e.next=21;break;case 11:if(!this.forExportFile){e.next=15;break}e.t0=this.item.createContentJSONFromProperties(),e.next=19;break;case 15:return e.next=17,SFJS.crypto.base64(JSON.stringify(this.item.createContentJSONFromProperties()));case 17:e.t1=e.sent,e.t0="000"+e.t1;case 19:t.content=e.t0,this.forExportFile||(t.enc_item_key=null,t.auth_hash=null);case 21:e.next=26;break;case 23:t.content=this.item.content,t.enc_item_key=this.item.enc_item_key,t.auth_hash=this.item.auth_hash;case 26:return this.additionalFields&&_.merge(t,_.pick(this.item,this.additionalFields)),e.abrupt("return",t);case 28:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})}]),r}();we.SFItemParams=ue;var le=function(){function v(e,t,n){V(this,v),this.keypath=e,this.operator=t,this.value=n,v.IsRecursiveOperator(this.operator)&&(this.value=this.value.map(v.fromArray))}return q(v,null,[{key:"fromArray",value:function(e){return new v(e[0],e[1],e[2])}},{key:"ObjectSatisfiesPredicate",value:function(e,t){if(Array.isArray(t)&&(t=this.fromArray(t)),v.IsRecursiveOperator(t.operator)){if("and"===t.operator){var n=!0,r=!1,i=void 0;try{for(var a,o=t.value[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!this.ObjectSatisfiesPredicate(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}if("or"===t.operator){var c=!0,u=!1,l=void 0;try{for(var d,f=t.value[Symbol.iterator]();!(c=(d=f.next()).done);c=!0){s=d.value;if(this.ObjectSatisfiesPredicate(e,s))return!0}}catch(e){u=!0,l=e}finally{try{c||null==f.return||f.return()}finally{if(u)throw l}}return!1}}var p=t.value;"string"==typeof p&&p.includes(".ago")&&(p=this.DateFromString(p));var h=t.keypath.split(".").reduce(function(e,t){return e&&e[t]},e),m=[!1,"",null,void 0,NaN];return null==h?"!="==t.operator?!m.includes(t.value):m.includes(t.value):"="==t.operator?Array.isArray(h)?JSON.stringify(h)==JSON.stringify(p):h==p:"!="==t.operator?Array.isArray(h)?JSON.stringify(h)!=JSON.stringify(p):h!==p:"<"==t.operator?h<p:">"==t.operator?p<h:"<="==t.operator?h<=p:">="==t.operator?p<=h:"startsWith"==t.operator?h.startsWith(p):"in"==t.operator?-1!=p.indexOf(h):"includes"==t.operator?this.resolveIncludesPredicate(h,p):"matches"==t.operator&&new RegExp(p).test(h)}},{key:"resolveIncludesPredicate",value:function(e,t){if("string"==typeof t)return e.includes(t);var n;n=Array.isArray(t)?v.fromArray(t):t;var r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var c=o.value;if(this.ObjectSatisfiesPredicate(c,n))return!0}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return!1}},{key:"ItemSatisfiesPredicate",value:function(e,t){return Array.isArray(t)&&(t=v.fromArray(t)),this.ObjectSatisfiesPredicate(e,t)}},{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)}}]),v}();we.SFPredicate=le;var de=function(){function n(e){var t;return V(this,n),(t=F(this,L(n).call(this,e))).content.desktopPrivileges||(t.content.desktopPrivileges={}),t}return N(n,ce),q(n,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),q(n,[{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)}}]),n}();we.SFPrivileges=de;var fe=function(){function r(e){var n;return V(this,r),(n=F(this,L(r).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 pe(t)}),n}return N(r,ce),q(r,[{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 pe)}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var t=this.historyForItem(e);t.entries.length>r.LargeItemEntryAmountThreshold&&t.optimize()}}]),r}();(we.SFHistorySession=fe).LargeItemEntryAmountThreshold=60;var pe=function(){function c(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};if(V(this,c),this.entries||(this.entries=[]),e.entries){var t=!0,n=!1,r=void 0;try{for(var i,a=e.entries[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.createEntryForItem(o.item);s.setPreviousEntry(this.getLastEntry()),this.entries.push(s)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}}return q(c,[{key:"createEntryForItem",value:function(e){var t=c.HistoryEntryClassMapping&&c.HistoryEntryClassMapping[e.content_type];return new(t=t||he)(e)}},{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(){function i(e){return e.deltaSize()>c.LargeEntryDeltaThreshold}function r(e,t,n){if(n?o.push(e):-1!==(t=o.indexOf(e))&&o.splice(t,1),n&&i(e)&&-1==e.operationVector()){var r=a.entries[t-1];r&&o.push(r)}}var a=this,o=[];this.entries.forEach(function(e,t){if(0==t||t==a.entries.length-1)r(e,t,!0);else{var n=i(e);r(e,t,n)}}),this.entries=this.entries.filter(function(e,t){return-1!==o.indexOf(e)})}}]),c}();(we.SFItemHistory=pe).LargeEntryDeltaThreshold=15;var he=function(){function t(e){V(this,t),this.item=ce.deepMerge({},e),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return q(t,[{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 ce(this.item),n=new ce(e.item);return t.isItemContentEqualWith(n)}}]),t}();we.SFItemHistoryEntry=he;G="undefined"!=typeof window?window:void 0!==e?e:null;var me=function(){function e(){V(this,e),this.DefaultPBKDF2Length=768}var n,r,t,i,a,o,s,c,u,l,d,f,p,h,m;return q(e,[{key:"generateUUIDSync",value:function(){var e=G.crypto||G.msCrypto;if(e){var n=new Uint32Array(4);e.getRandomValues(n);var r=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=n[++r>>3]>>r%8*4&15;return("x"==e?t:3&t|8).toString(16)})}var i=(new Date).getTime();return G.performance&&"function"==typeof G.performance.now&&(i+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=(i+16*Math.random())%16|0;return i=Math.floor(i/16),("x"==e?t:3&t|8).toString(16)})}},{key:"generateUUID",value:(m=z(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 n=String(e),r=String(t),i=n.length,a=0;i!==r.length&&(r=n,a=1);for(var o=0;o<i;o++)a|=n.charCodeAt(o)^r.charCodeAt(o);return 0===a}},{key:"decryptText",value:(h=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d,f=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=(t=0<f.length&&void 0!==f[0]?f[0]:{}).ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,(1<f.length?f[1]:void 0)&&!o)return console.error("Auth hash is required."),e.abrupt("return");e.next=5;break;case 5:if(o)return e.next=8,this.hmac256(n,s);e.next=12;break;case 8:if(c=e.sent,!1===this.timingSafeEqual(o,c))return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);e.next=12;break;case 12:return u=C.enc.Hex.parse(i),l=C.enc.Hex.parse(a||""),d=C.AES.decrypt(r,u,{iv:l,mode:C.mode.CBC,padding:C.pad.Pkcs7}),e.abrupt("return",d.toString(C.enc.Utf8));case 16:case"end":return e.stop()}},e,this)})),function(){return h.apply(this,arguments)})},{key:"encryptText",value:(p=z(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=C.enc.Hex.parse(n),a=C.enc.Hex.parse(r||""),o=C.AES.encrypt(t,i,{iv:a,mode:C.mode.CBC,padding:C.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}},e)})),function(e,t,n){return p.apply(this,arguments)})},{key:"generateRandomKey",value:(f=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",C.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}},e)})),function(e){return f.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(d=z(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 d.apply(this,arguments)})},{key:"firstHalfOfKey",value:(l=z(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 l.apply(this,arguments)})},{key:"secondHalfOfKey",value:(u=z(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 u.apply(this,arguments)})},{key:"base64",value:(c=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",G.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=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",G.atob(t));case 1:case"end":return e.stop()}},e)})),function(e){return s.apply(this,arguments)})},{key:"sha256",value:(o=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",C.SHA256(t).toString());case 1:case"end":return e.stop()}},e)})),function(e){return o.apply(this,arguments)})},{key:"hmac256",value:(a=z(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=C.enc.Hex.parse(n),i=C.enc.Utf8.parse(t),a=C.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=z(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:(t=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=(t=0<d.length&&void 0!==d[0]?d[0]:{}).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,c=a.slice(0,s),u=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[c,u,l]);case 10:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"computeEncryptionKeysForUser",value:(r=z(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 r.apply(this,arguments)})},{key:"generateInitialKeysAndAuthParamsForUser",value:(n=z(regeneratorRuntime.mark(function e(n,t){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(n,r,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:o,pw_cost:i}).then(function(e){var t={pw_nonce:a,pw_cost:i,identifier:n,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:t}}));case 9:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})}]),e}();we.SFAbstractCrypto=me;var ve=function(){function e(){return V(this,e),F(this,L(e).apply(this,arguments))}var i;return N(e,me),q(e,[{key:"pbkdf2",value:(i=z(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:C.algo.SHA512,iterations:r},e.abrupt("return",C.PBKDF2(t,n,a).toString());case 2:case"end":return e.stop()}},e)})),function(e,t,n,r){return i.apply(this,arguments)})}]),e}();we.SFCryptoJS=ve;var ge=(G="undefined"!=typeof window?window:void 0!==e?e:null).crypto?G.crypto.subtle:null,ye=function(){function e(){return V(this,e),F(this,L(e).apply(this,arguments))}var t,n,r,i,a,o,s,c,u,l,d,f,p,h;return N(e,me),q(e,[{key:"pbkdf2",value:(h=z(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 h.apply(this,arguments)})},{key:"generateRandomKey",value:(p=z(regeneratorRuntime.mark(function e(t){var r=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return!0,e.abrupt("return",ge.generateKey({name:"AES-CBC",length:t},!0,["encrypt","decrypt"]).then(function(e){return ge.exportKey("raw",e).then(function(){var t=z(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(e){return t.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 p.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(f=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return 256,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 f.apply(this,arguments)})},{key:"encryptText",value:(d=z(regeneratorRuntime.mark(function e(t,n,r){var i,a,o,s,c,u=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r)return e.next=3,this.hexStringToArrayBuffer(r);e.next=6;break;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 c=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,c).then(function(){var t=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}()));case 19:case"end":return e.stop()}},e,this)})),function(e,t,n){return d.apply(this,arguments)})},{key:"decryptText",value:(l=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d,f,p,h=this,m=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=(t=0<m.length&&void 0!==m[0]?m[0]:{}).ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,(1<m.length?m[1]:void 0)&&!o)return console.error("Auth hash is required."),e.abrupt("return");e.next=5;break;case 5:if(o)return e.next=8,this.hmac256(n,s);e.next=12;break;case 8:if(c=e.sent,!1===this.timingSafeEqual(o,c))return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(c)),e.abrupt("return",null);e.next=12;break;case 12:if(a)return e.next=15,this.hexStringToArrayBuffer(a);e.next=18;break;case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return u=e.t0,l={name:"AES-CBC",iv:u},e.next=23,this.hexStringToArrayBuffer(i);case 23:return d=e.sent,e.next=26,this.webCryptoImportKey(d,l.name,["decrypt"]);case 26:return f=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return p=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,f,p).then(function(){var t=z(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(e){return t.apply(this,arguments)}}()).catch(function(e){console.error("Error decrypting:",e)}));case 31:case"end":return e.stop()}},e,this)})),function(){return l.apply(this,arguments)})},{key:"hmac256",value:(u=z(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 t=z(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(e){return t.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 u.apply(this,arguments)})},{key:"webCryptoImportKey",value:(c=z(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)return e.next=3,this.stringToArrayBuffer(t);e.next=6;break;case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",ge.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 c.apply(this,arguments)})},{key:"webCryptoDeriveBits",value:(s=z(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",ge.deriveBits(a,t,i).then(function(){var t=z(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(e){return t.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 s.apply(this,arguments)})},{key:"stringToArrayBuffer",value:(o=z(regeneratorRuntime.mark(function e(i){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(t,e){var n=new Blob([i]),r=new FileReader;r.onload=function(e){t(e.target.result)},r.readAsArrayBuffer(n)}));case 1:case"end":return e.stop()}},e)})),function(e){return o.apply(this,arguments)})},{key:"arrayBufferToString",value:(a=z(regeneratorRuntime.mark(function e(i){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(t,e){var n=new Blob([i]),r=new FileReader;r.onload=function(e){t(e.target.result)},r.readAsText(n)}));case 1:case"end":return e.stop()}},e)})),function(e){return a.apply(this,arguments)})},{key:"arrayBufferToHexString",value:(i=z(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;a<n.byteLength;a++)(i=n[a].toString(16)).length<2&&(i="0"+i),r+=i;return e.abrupt("return",r);case 4:case"end":return e.stop()}},e)})),function(e){return i.apply(this,arguments)})},{key:"hexStringToArrayBuffer",value:(r=z(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(n=[],r=0;r<t.length;r+=2)n.push(parseInt(t.substr(r,2),16));return e.abrupt("return",new Uint8Array(n));case 2:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"base64ToArrayBuffer",value:(n=z(regeneratorRuntime.mark(function e(t){var n,r,i,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.base64Decode(t);case 2:for(n=e.sent,r=n.length,i=new Uint8Array(r),a=0;a<r;a++)i[a]=n.charCodeAt(a);return e.abrupt("return",i.buffer);case 7:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"arrayBufferToBase64",value:(t=z(regeneratorRuntime.mark(function e(i){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(n,e){var t=new Blob([i],{type:"application/octet-binary"}),r=new FileReader;r.onload=function(e){var t=e.target.result;n(t.substr(t.indexOf(",")+1))},r.readAsDataURL(t)}));case 1:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)})}]),e}();we.SFCryptoWeb=ye;var ke=function(){function t(e){V(this,t),this.crypto=e}var r,n,i,a;return q(t,[{key:"_private_encryptString",value:(a=z(regeneratorRuntime.mark(function e(t,n,r,i,a){var o,s,c,u,l,d;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("001"===a.version)return e.next=3,this.crypto.encryptText(t,n,null);e.next=7;break;case 3:s=e.sent,o=a.version+s,e.next=21;break;case 7:return e.next=9,this.crypto.generateRandomKey(128);case 9:return c=e.sent,e.next=12,this.crypto.encryptText(t,n,c);case 12:return s=e.sent,u=[a.version,i,c,s].join(":"),e.next=16,this.crypto.hmac256(u,r);case 16:return l=e.sent,e.next=19,this.crypto.base64(JSON.stringify(a));case 19:d=e.sent,o=[a.version,l,i,c,s,d].join(":");case 21:return e.abrupt("return",o);case 22:case"end":return e.stop()}},e,this)})),function(e,t,n,r,i){return a.apply(this,arguments)})},{key:"encryptItem",value:(i=z(regeneratorRuntime.mark(function e(t,n,r){var i,a,o,s,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i={},e.next=3,this.crypto.generateItemEncryptionKey();case 3:if(a=e.sent,"001"===r.version)return e.next=7,this.crypto.encryptText(a,n.mk,null);e.next=10;break;case 7:i.enc_item_key=e.sent,e.next=13;break;case 10:return e.next=12,this._private_encryptString(a,n.mk,n.ak,t.uuid,r);case 12:i.enc_item_key=e.sent;case 13:return e.next=15,this.crypto.firstHalfOfKey(a);case 15:return o=e.sent,e.next=18,this.crypto.secondHalfOfKey(a);case 18:return s=e.sent,e.next=21,this._private_encryptString(JSON.stringify(t.createContentJSONFromProperties()),o,s,t.uuid,r);case 21:if(c=e.sent,"001"===r.version)return e.next=25,this.crypto.hmac256(c,s);e.next=27;break;case 25:u=e.sent,i.auth_hash=u;case 27:return i.content=c,e.abrupt("return",i);case 29:case"end":return e.stop()}},e,this)})),function(e,t,n){return i.apply(this,arguments)})},{key:"encryptionComponentsFromString",value:function(e,t,n){var r=e.substring(0,3);if("001"===r)return{contentCiphertext:e.substring(3,e.length),encryptionVersion:r,ciphertextToAuth:e,iv:null,authHash:null,encryptionKey:t,authKey:n};var i=e.split(":");return{encryptionVersion:i[0],authHash:i[1],uuid:i[2],iv:i[3],contentCiphertext:i[4],authParams:i[5],ciphertextToAuth:[i[0],i[2],i[3],i[4]].join(":"),encryptionKey:t,authKey:n}}},{key:"decryptItem",value:(n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t.content)return e.abrupt("return");e.next=2;break;case 2:if(t.content.startsWith("000"))return e.prev=3,e.t0=JSON,e.next=7,this.crypto.base64Decode(t.content.substring(3,t.content.length));e.next=14;break;case 7:e.t1=e.sent,t.content=e.t0.parse.call(e.t0,e.t1),e.next=13;break;case 11:e.prev=11,e.t2=e.catch(3);case 13:return e.abrupt("return");case 14:if(t.enc_item_key){e.next=17;break}return console.log("Missing item encryption key, skipping decryption."),e.abrupt("return");case 17:if(r=t.enc_item_key,i=!0,r.startsWith("002")||r.startsWith("003")||(r="001"+r,i=!1),(a=this.encryptionComponentsFromString(r,n.mk,n.ak)).uuid&&a.uuid!==t.uuid)return console.error("Item key params UUID does not match item UUID"),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt("return");e.next=26;break;case 26:return e.next=28,this.crypto.decryptText(a,i);case 28:if(o=e.sent){e.next=34;break}return console.log("Error decrypting item",t),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt("return");case 34:return e.next=36,this.crypto.firstHalfOfKey(o);case 36:return s=e.sent,e.next=39,this.crypto.secondHalfOfKey(o);case 39:return c=e.sent,u=this.encryptionComponentsFromString(t.content,s,c),e.prev=41,e.t3=JSON,e.next=45,this.crypto.base64Decode(u.authParams);case 45:e.t4=e.sent,t.auth_params=e.t3.parse.call(e.t3,e.t4),e.next=51;break;case 49:e.prev=49,e.t5=e.catch(41);case 51:if(u.uuid&&u.uuid!==t.uuid)return t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt("return");e.next=55;break;case 55:return u.authHash||(u.authHash=t.auth_hash),e.next=58,this.crypto.decryptText(u,!0);case 58:(l=e.sent)?(1==t.errorDecrypting&&(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!1,t.content=l):(t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0);case 60:case"end":return e.stop()}},e,this,[[3,11],[41,49]])})),function(e,t){return n.apply(this,arguments)})},{key:"decryptMultipleItems",value:(r=z(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=function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(1==t.deleted&&null==t.content)return e.abrupt("return");e.next=4;break;case 4:if("string"==typeof t.content||t.content instanceof String)return e.prev=6,e.next=9,a.decryptItem(t,n);e.next=19;break;case 9:e.next=19;break;case 11:if(e.prev=11,e.t0=e.catch(6),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,r)throw e.t0;e.next=17;break;case 17:return console.error("Error decrypting item",t,e.t0),e.abrupt("return");case 19:case"end":return e.stop()}},e,null,[[6,11]])}));return function(e){return t.apply(this,arguments)}}(),e.abrupt("return",Promise.all(t.map(function(e){return i(e)})));case 2:case"end":return e.stop()}},e)})),function(e,t,n){return r.apply(this,arguments)})}]),t}();we.SFItemTransformer=ke;G="undefined"!=typeof window?window:void 0!==e?e:null;var be=function(){function t(e){V(this,t),G&&(!("undefined"!=typeof document&&document.documentMode||/Edge/.test(navigator.userAgent))&&G.crypto&&G.crypto.subtle?this.crypto=new ye:this.crypto=new ve);e&&(this.crypto=e),this.itemTransformer=new ke(this.crypto),this.crypto.SFJS={version:this.version(),defaultPasswordGenerationCost:this.defaultPasswordGenerationCost()}}return q(t,[{key:"version",value:function(){return"003"}},{key:"supportsPasswordDerivationCost",value:function(e){return!(5e3<e)||this.crypto instanceof ye}},{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())}}]),t}();if(we.StandardFile=be,G)try{G.StandardFile=be,G.SFJS=new be,G.SFCryptoWeb=ye,G.SFCryptoJS=ve,G.SFItemTransformer=ke,G.SFModelManager=Z,G.SFItem=ce,G.SFItemParams=ue,G.SFHttpManager=Y,G.SFStorageManager=ae,G.SFSyncManager=se,G.SFAuthManager=J,G.SFMigrationManager=X,G.SFAlertManager=W,G.SFPredicate=le,G.SFHistorySession=fe,G.SFSessionHistoryManager=re,G.SFItemHistory=pe,G.SFItemHistoryEntry=he,G.SFPrivilegesManager=Q,G.SFPrivileges=de,G.SFSingletonManager=ie}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)});var Stylekit=function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=n,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.r(t);var i=function(){function a(e){var n=this,t=e.title,r=e.text,i=e.buttons;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"keyupListener",function(e){if("Enter"===e.key){var t=n.primaryButton();t.action&&t.action(),n.dismiss()}}),this.title=t,this.text=r,this.buttons=i}return function(e,t,n){t&&r(e.prototype,t),n&&r(e,n)}(a,[{key:"buttonsString",value:function(){var e=this.buttons.map(function(e,t){return function(e,t){return"\n <div id='button-".concat(t,"' class='sk-button ").concat(e.style,"'>\n <div class='sk-label'>").concat(e.text,"</div>\n </div>\n ")}(e,t)}).join("");return"\n <div class='sk-button-group'>\n ".concat(e,"\n </div>\n ")}},{key:"templateString",value:function(){var e=this.buttonsString(),t=this.title?"<div class='sk-h3 sk-panel-section-title'>".concat(this.title,"</div>"):"",n=this.text?"<p class='sk-p'>".concat(this.text,"</p>"):"";return'\n <div class="sk-modal">\n <div class="sk-modal-background"></div>\n <div class="sk-modal-content">\n <div class="sn-component">\n <div class="sk-panel" style=\'max-width: 500px;\'>\n <div class="sk-panel-content">\n <div class="sk-panel-section">\n '.concat(t,'\n\n <div class="sk-panel-row">\n ').concat(n,"\n </div>\n\n <div class=\"sk-panel-row\" style='margin-top: 8px;'>\n ").concat(e,"\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n ")}},{key:"dismiss",value:function(){this.onElement.removeChild(this.element),document.removeEventListener("keyup",this.keyupListener)}},{key:"primaryButton",value:function(){var e=this.buttons.find(function(e){return!0===e.primary});return e=e||this.buttons[this.buttons.length-1]}},{key:"present",value:function(e){var n=this,t=(0<arguments.length&&void 0!==e?e:{}).onElement;t=t||document.body,this.onElement=t,this.element=document.createElement("div"),this.element.className="sn-component",this.element.innerHTML=this.templateString().trim(),document.addEventListener("keyup",this.keyupListener),this.buttons.forEach(function(e,t){n.element.querySelector("#button-".concat(t)).onclick=function(){e.action&&e.action(),n.dismiss()}}),t.appendChild(this.element)}}]),a}();n.d(t,"SKAlert",function(){return i})}]);!function(le){"use strict";var l={objectMaxDepth:5,urlErrorParamsEnabled:!0};function e(e){if(!xe(e))return l;E(e.objectMaxDepth)&&(l.objectMaxDepth=r(e.objectMaxDepth)?e.objectMaxDepth:NaN),E(e.urlErrorParamsEnabled)&&Ce(e.urlErrorParamsEnabled)&&(l.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function r(e){return x(e)&&0<e}function C(o,s){s=s||Error;var c="https://errors.angularjs.org/1.7.9/",e=c.replace(".","\\.")+"[\\s\\S]*",u=new RegExp(e,"g");return function(){var e,t,n=arguments[0],r=arguments[1],i="["+(o?o+":":"")+n+"] ",a=Pe(arguments,2).map(function(e){return We(e,l.objectMaxDepth)});if(i+=r.replace(/\{\d+\}/g,function(e){var t=+e.slice(1,-1);return t<a.length?a[t].replace(u,""):e}),i+="\n"+c+(o?o+"/":"")+n,l.urlErrorParamsEnabled)for(t=0,e="?";t<a.length;t++,e="&")i+=e+"p"+t+"="+encodeURIComponent(a[t]);return new s(i)}}var de,fe,t,g,a=/^\/(.+)\/([a-z]*)$/,d="validity",pe=Object.prototype.hasOwnProperty,he=function(e){return Se(e)?e.toLowerCase():e},f=function(e){return Se(e)?e.toUpperCase():e},o=[].slice,i=[].splice,n=[].push,me=Object.prototype.toString,u=Object.getPrototypeOf,p=C("ng"),k=le.angular||(le.angular={}),s=0;function T(e){if(null==e||_(e))return!1;if($e(e)||Se(e)||fe&&e instanceof fe)return!0;var t="length"in Object(e)&&e.length;return x(t)&&(0<=t&&t-1 in e||"function"==typeof e.item)}function ve(e,t,n){var r,i;if(e)if(Me(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else if($e(e)||T(e)){var a="object"!=typeof e;for(r=0,i=e.length;r<i;r++)(a||r in e)&&t.call(n,e[r],r,e)}else if(e.forEach&&e.forEach!==ve)e.forEach(t,n,e);else if(w(e))for(r in e)t.call(n,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else for(r in e)pe.call(e,r)&&t.call(n,e[r],r,e);return e}function c(e,t,n){for(var r=Object.keys(e).sort(),i=0;i<r.length;i++)t.call(n,e[r[i]],r[i]);return r}function M(n){return function(e,t){n(t,e)}}function A(){return++s}function h(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function m(e,t,n){for(var r=e.$$hashKey,i=0,a=t.length;i<a;++i){var o=t[i];if(xe(o)||Me(o))for(var s=Object.keys(o),c=0,u=s.length;c<u;c++){var l=s[c],d=o[l];n&&xe(d)?S(d)?e[l]=new Date(d.valueOf()):$(d)?e[l]=new RegExp(d):d.nodeName?e[l]=d.cloneNode(!0):F(d)?e[l]=d.clone():"__proto__"!==l&&(xe(e[l])||(e[l]=$e(d)?[]:{}),m(e[l],[d],!0)):e[l]=d}}return h(e,r),e}function ge(e){return m(e,o.call(arguments,1),!1)}function v(e){return m(e,o.call(arguments,1),!0)}function y(e){return parseInt(e,10)}de=le.document.documentMode;var R=Number.isNaN||function(e){return e!=e};function ye(e,t){return ge(Object.create(e),t)}function ke(){}function be(e){return e}function D(e){return function(){return e}}function b(e){return Me(e.toString)&&e.toString!==me}function we(e){return void 0===e}function E(e){return void 0!==e}function xe(e){return null!==e&&"object"==typeof e}function w(e){return null!==e&&"object"==typeof e&&!u(e)}function Se(e){return"string"==typeof e}function x(e){return"number"==typeof e}function S(e){return"[object Date]"===me.call(e)}function $e(e){return Array.isArray(e)||e instanceof Array}function _e(e){switch(me.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function Me(e){return"function"==typeof e}function $(e){return"[object RegExp]"===me.call(e)}function _(e){return e&&e.window===e}function Ie(e){return e&&e.$evalAsync&&e.$watch}function Ce(e){return"boolean"==typeof e}function I(e){return e&&Me(e.then)}ke.$inject=[],be.$inject=[];var O=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/;var Ae=function(e){return Se(e)?e.trim():e},P=function(e){return e.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};function F(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function Re(e){return he(e.nodeName||e[0]&&e[0].nodeName)}function L(e,t){return-1!==Array.prototype.indexOf.call(e,t)}function De(e,t){var n=e.indexOf(t);return 0<=n&&e.splice(n,1),n}function N(e,n,t){var a=[],o=[];if(t=r(t)?t:NaN,n){if(function(e){return e&&x(e.length)&&O.test(me.call(e))}(n)||function(e){return"[object ArrayBuffer]"===me.call(e)}(n))throw p("cpta","Can't copy! TypedArray destination cannot be mutated.");if(e===n)throw p("cpi","Can't copy! Source and destination are identical.");return $e(n)?n.length=0:ve(n,function(e,t){"$$hashKey"!==t&&delete n[t]}),a.push(e),o.push(n),s(e,n,t)}return c(e,t);function s(e,t,n){if(--n<0)return"...";var r,i=t.$$hashKey;if($e(e))for(var a=0,o=e.length;a<o;a++)t.push(c(e[a],n));else if(w(e))for(r in e)t[r]=c(e[r],n);else if(e&&"function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&(t[r]=c(e[r],n));else for(r in e)pe.call(e,r)&&(t[r]=c(e[r],n));return h(t,i),t}function c(e,t){if(!xe(e))return e;var n=a.indexOf(e);if(-1!==n)return o[n];if(_(e)||Ie(e))throw p("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var r=!1,i=function(e){switch(me.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(c(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":if(e.slice)return e.slice(0);var t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t;case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":var n=new RegExp(e.source,e.toString().match(/[^/]*$/)[0]);return n.lastIndex=e.lastIndex,n;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(Me(e.cloneNode))return e.cloneNode(!0)}(e);return void 0===i&&(i=$e(e)?[]:Object.create(u(e)),r=!0),a.push(e),o.push(i),r?s(e,i,t):i}}function Ee(e,t){return e===t||e!=e&&t!=t}function Oe(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;var n,r,i,a=typeof e;if(a==typeof t&&"object"==a){if(!$e(e)){if(S(e))return!!S(t)&&Ee(e.getTime(),t.getTime());if($(e))return!!$(t)&&e.toString()===t.toString();if(Ie(e)||Ie(t)||_(e)||_(t)||$e(t)||S(t)||$(t))return!1;for(r in i=Be(),e)if("$"!==r.charAt(0)&&!Me(e[r])){if(!Oe(e[r],t[r]))return!1;i[r]=!0}for(r in t)if(!(r in i)&&"$"!==r.charAt(0)&&E(t[r])&&!Me(t[r]))return!1;return!0}if(!$e(t))return!1;if((n=e.length)===t.length){for(r=0;r<n;r++)if(!Oe(e[r],t[r]))return!1;return!0}}return!1}var B=function(){if(!E(B.rules)){var e=le.document.querySelector("[ng-csp]")||le.document.querySelector("[data-ng-csp]");if(e){var t=e.getAttribute("ng-csp")||e.getAttribute("data-ng-csp");B.rules={noUnsafeEval:!t||-1!==t.indexOf("no-unsafe-eval"),noInlineStyle:!t||-1!==t.indexOf("no-inline-style")}}else B.rules={noUnsafeEval:function(){try{return new Function(""),!1}catch(e){return!0}}(),noInlineStyle:!1}}return B.rules},H=function(){if(E(H.name_))return H.name_;var e,t,n,r,i=Q.length;for(t=0;t<i;++t)if(n=Q[t],e=le.document.querySelector("["+n.replace(":","\\:")+"jq]")){r=e.getAttribute(n+"jq");break}return H.name_=r};function j(e,t,n){return e.concat(o.call(t,n))}function Pe(e,t){return o.call(e,t||0)}function Te(e,t){var n=2<arguments.length?Pe(arguments,2):[];return!Me(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,j(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function U(e,t){var n=t;return"string"==typeof e&&"$"===e.charAt(0)&&"$"===e.charAt(1)?n=void 0:_(t)?n="$WINDOW":t&&le.document===t?n="$DOCUMENT":Ie(t)&&(n="$SCOPE"),n}function z(e,t){if(!we(e))return x(t)||(t=t?2:null),JSON.stringify(e,U,t)}function V(e){return Se(e)?JSON.parse(e):e}var K=/:/g;function q(e,t){e=e.replace(K,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return R(n)?t:n}function W(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}function J(e,t,n){n=n?-1:1;var r=e.getTimezoneOffset();return W(e,n*(q(t,r)-r))}function Fe(e){e=fe(e).clone().empty();var t=fe("<div></div>").append(e).html();try{return e[0].nodeType===Ue?he(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(e,t){return"<"+he(t)})}catch(e){return he(t)}}function G(e){try{return decodeURIComponent(e)}catch(e){}}function Y(e){var i={};return ve((e||"").split("&"),function(e){var t,n,r;e&&(n=e=e.replace(/\+/g,"%20"),-1!==(t=e.indexOf("="))&&(n=e.substring(0,t),r=e.substring(t+1)),E(n=G(n))&&(r=!E(r)||G(r),pe.call(i,n)?$e(i[n])?i[n].push(r):i[n]=[i[n],r]:i[n]=r))}),i}function X(e){return Z(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Z(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}var Q=["ng-","data-ng-","ng:","x-ng-"];var ee=function(n){var e=n.currentScript;if(!e)return!0;if(!(e instanceof le.HTMLScriptElement||e instanceof le.SVGScriptElement))return!1;var t=e.attributes;return[t.getNamedItem("src"),t.getNamedItem("href"),t.getNamedItem("xlink:href")].every(function(e){if(!e)return!0;if(!e.value)return!1;var t=n.createElement("a");if(t.href=e.value,n.location.origin===t.origin)return!0;switch(t.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}})}(le.document);function te(r,e){var i,a,t={};if(ve(Q,function(e){var t=e+"app";!i&&r.hasAttribute&&r.hasAttribute(t)&&(a=(i=r).getAttribute(t))}),ve(Q,function(e){var t,n=e+"app";!i&&(t=r.querySelector("["+n.replace(":","\\:")+"]"))&&(a=(i=t).getAttribute(n))}),i){if(!ee)return void le.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match.");t.strictDi=null!==function(e,t){var n,r,i=Q.length;for(r=0;r<i;++r)if(n=Q[r]+t,Se(n=e.getAttribute(n)))return n;return null}(i,"strict-di"),e(i,a?[a]:[],t)}}function ne(n,r,i){xe(i)||(i={});i=ge({strictDi:!1},i);function t(){if((n=fe(n)).injector()){var e=n[0]===le.document?"document":Fe(n);throw p("btstrpd","App already bootstrapped with this element '{0}'",e.replace(/</,"&lt;").replace(/>/,"&gt;"))}(r=r||[]).unshift(["$provide",function(e){e.value("$rootElement",n)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),r.unshift("ng");var t=Qt(r,i.strictDi);return t.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,r){e.$apply(function(){t.data("$injector",r),n(t)(e)})}]),t}var e=/^NG_ENABLE_DEBUG_INFO!/,a=/^NG_DEFER_BOOTSTRAP!/;if(le&&e.test(le.name)&&(i.debugInfoEnabled=!0,le.name=le.name.replace(e,"")),le&&!a.test(le.name))return t();le.name=le.name.replace(a,""),k.resumeBootstrap=function(e){return ve(e,function(e){r.push(e)}),t()},Me(k.resumeDeferredBootstrap)&&k.resumeDeferredBootstrap()}function re(){le.name="NG_ENABLE_DEBUG_INFO!"+le.name,le.location.reload()}function ie(e){var t=k.element(e).injector();if(!t)throw p("test","no injector found for element argument to getTestability");return t.get("$$testability")}var ae=/[A-Z]/g;function Le(e,n){return n=n||"_",e.replace(ae,function(e,t){return(t?n:"")+e.toLowerCase()})}var oe=!1;function Ne(e,t,n){if(!e)throw p("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function se(e,t,n){return n&&$e(e)&&(e=e[e.length-1]),Ne(Me(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function ce(e,t){if("hasOwnProperty"===e)throw p("badname","hasOwnProperty is not a valid {0} name",t)}function ue(e){for(var t,n=e[0],r=e[e.length-1],i=1;n!==r&&(n=n.nextSibling);i++)!t&&e[i]===n||(t=t||fe(o.call(e,0,i))).push(n);return t||e}function Be(){return Object.create(null)}function He(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=!b(e)||$e(e)||S(e)?z(e):e.toString()}return e}var je=1,Ue=3,ze=8,Ve=9,Ke=11;function qe(e,t){if($e(e)){t=t||[];for(var n=0,r=e.length;n<r;n++)t[n]=e[n]}else if(xe(e))for(var i in t=t||{},e)"$"===i.charAt(0)&&"$"===i.charAt(1)||(t[i]=e[i]);return t||e}function We(e,t){return"function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):we(e)?"undefined":"string"!=typeof e?function(e,t){var n=[];return r(t)&&(e=k.copy(e,null,t)),JSON.stringify(e,function(e,t){if(xe(t=U(e,t))){if(0<=n.indexOf(t))return"...";n.push(t)}return t})}(e,t):e}var Je={full:"1.7.9",major:1,minor:7,dot:9,codeName:"pollution-eradication"};ft.expando="ng339";var Ge=ft.cache={},Ye=1;ft._data=function(e){return this.cache[e[this.expando]]||{}};var Xe=/-([a-z])/g,Ze=/^-ms-/,Qe={mouseleave:"mouseout",mouseenter:"mouseover"},et=C("jqLite");function tt(e,t){return t.toUpperCase()}function nt(e){return e.replace(Xe,tt)}var rt=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,it=/<|&#?\w+;/,at=/<([\w:-]+)/,ot=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,st={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ct(e){return!it.test(e)}function ut(e){var t=e.nodeType;return t===je||!t||t===Ve}function lt(e,t){var n,r,i,a,o=t.createDocumentFragment(),s=[];if(ct(e))s.push(t.createTextNode(e));else{for(n=o.appendChild(t.createElement("div")),r=(at.exec(e)||["",""])[1].toLowerCase(),i=st[r]||st._default,n.innerHTML=i[1]+e.replace(ot,"<$1></$2>")+i[2],a=i[0];a--;)n=n.lastChild;s=j(s,n.childNodes),(n=o.firstChild).textContent=""}return o.textContent="",o.innerHTML="",ve(s,function(e){o.appendChild(e)}),o}st.optgroup=st.option,st.tbody=st.tfoot=st.colgroup=st.caption=st.thead,st.th=st.td;var dt=le.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))};function ft(e){if(e instanceof ft)return e;var t;if(Se(e)&&(e=Ae(e),t=!0),!(this instanceof ft)){if(t&&"<"!==e.charAt(0))throw et("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new ft(e)}t?$t(this,function(e,t){var n;return t=t||le.document,(n=rt.exec(e))?[t.createElement(n[1])]:(n=lt(e,t))?n.childNodes:[]}(e)):Me(e)?At(e):$t(this,e)}function pt(e){return e.cloneNode(!0)}function ht(e,t){!t&&ut(e)&&fe.cleanData([e]),e.querySelectorAll&&fe.cleanData(e.querySelectorAll("*"))}function mt(e){var t;for(t in e)return!1;return!0}function vt(e){var t=e.ng339,n=t&&Ge[t],r=n&&n.events,i=n&&n.data;i&&!mt(i)||r&&!mt(r)||(delete Ge[t],e.ng339=void 0)}function gt(n,e,r,t){if(E(t))throw et("offargs","jqLite#off() does not support the `selector` argument");var i=kt(n),a=i&&i.events,o=i&&i.handle;if(o){if(e){var s=function(e){var t=a[e];E(r)&&De(t||[],r),E(r)&&t&&0<t.length||(n.removeEventListener(e,o),delete a[e])};ve(e.split(" "),function(e){s(e),Qe[e]&&s(Qe[e])})}else for(e in a)"$destroy"!==e&&n.removeEventListener(e,o),delete a[e];vt(n)}}function yt(e,t){var n=e.ng339,r=n&&Ge[n];r&&(t?delete r.data[t]:r.data={},vt(e))}function kt(e,t){var n=e.ng339,r=n&&Ge[n];return t&&!r&&(e.ng339=n=++Ye,r=Ge[n]={events:{},data:{},handle:void 0}),r}function bt(e,t,n){if(ut(e)){var r,i=E(n),a=!i&&t&&!xe(t),o=!t,s=kt(e,!a),c=s&&s.data;if(i)c[nt(t)]=n;else{if(o)return c;if(a)return c&&c[nt(t)];for(r in t)c[nt(r)]=t[r]}}}function wt(e,t){return!!e.getAttribute&&-1<(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")}function xt(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),r=n;ve(t.split(" "),function(e){e=Ae(e),r=r.replace(" "+e+" "," ")}),r!==n&&e.setAttribute("class",Ae(r))}}function St(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),r=n;ve(t.split(" "),function(e){e=Ae(e),-1===r.indexOf(" "+e+" ")&&(r+=e+" ")}),r!==n&&e.setAttribute("class",Ae(r))}}function $t(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var r=0;r<n;r++)e[e.length++]=t[r]}else e[e.length++]=t}}function _t(e,t){return Mt(e,"$"+(t||"ngController")+"Controller")}function Mt(e,t,n){e.nodeType===Ve&&(e=e.documentElement);for(var r=$e(t)?t:[t];e;){for(var i=0,a=r.length;i<a;i++)if(E(n=fe.data(e,r[i])))return n;e=e.parentNode||e.nodeType===Ke&&e.host}}function It(e){for(ht(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function Ct(e,t){t||ht(e);var n=e.parentNode;n&&n.removeChild(e)}function At(e){function t(){le.document.removeEventListener("DOMContentLoaded",t),le.removeEventListener("load",t),e()}"complete"===le.document.readyState?le.setTimeout(e):(le.document.addEventListener("DOMContentLoaded",t),le.addEventListener("load",t))}var Rt=ft.prototype={ready:At,toString:function(){var t=[];return ve(this,function(e){t.push(""+e)}),"["+t.join(", ")+"]"},eq:function(e){return fe(0<=e?this[e]:this[this.length+e])},length:0,push:n,sort:[].sort,splice:[].splice},Dt={};ve("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(e){Dt[he(e)]=e});var Et={};ve("input,select,option,textarea,button,form,details".split(","),function(e){Et[e]=!0});var Ot={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};function Pt(e,t){var n=Dt[t.toLowerCase()];return n&&Et[Re(e)]&&n}function Tt(e,t){if(we(t)){var n=e.nodeType;return n===je||n===Ue?e.textContent:""}e.textContent=t}function Ft(s,c){function e(e,t){e.isDefaultPrevented=function(){return e.defaultPrevented};var n=c[t||e.type],r=n?n.length:0;if(r){if(we(e.immediatePropagationStopped)){var i=e.stopImmediatePropagation;e.stopImmediatePropagation=function(){e.immediatePropagationStopped=!0,e.stopPropagation&&e.stopPropagation(),i&&i.call(e)}}e.isImmediatePropagationStopped=function(){return!0===e.immediatePropagationStopped};var a=n.specialHandlerWrapper||Lt;1<r&&(n=qe(n));for(var o=0;o<r;o++)e.isImmediatePropagationStopped()||a(s,e,n[o])}}return e.elem=s,e}function Lt(e,t,n){n.call(e,t)}function Nt(e,t,n){var r=t.relatedTarget;r&&(r===e||dt.call(e,r))||n.call(e,t)}function Bt(){this.$get=function(){return ge(ft,{hasClass:function(e,t){return e.attr&&(e=e[0]),wt(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),St(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),xt(e,t)}})}}function Ht(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var r=typeof e;return n="function"==r||"object"==r&&null!==e?e.$$hashKey=r+":"+(t||A)():r+":"+e}ve({data:bt,removeData:yt,hasData:function(e){for(var t in Ge[e.ng339])return!0;return!1},cleanData:function(e){for(var t=0,n=e.length;t<n;t++)yt(e[t]),gt(e[t])}},function(e,t){ft[t]=e}),ve({data:bt,inheritedData:Mt,scope:function(e){return fe.data(e,"$scope")||Mt(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return fe.data(e,"$isolateScope")||fe.data(e,"$isolateScopeNoTemplate")},controller:_t,injector:function(e){return Mt(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:wt,css:function(e,t,n){if(t=function(e){return nt(e.replace(Ze,"ms-"))}(t),!E(n))return e.style[t];e.style[t]=n},attr:function(e,t,n){var r,i=e.nodeType;if(i!==Ue&&2!==i&&i!==ze&&e.getAttribute){var a=he(t),o=Dt[a];if(!E(n))return r=e.getAttribute(t),o&&null!==r&&(r=a),null===r?void 0:r;null===n||!1===n&&o?e.removeAttribute(t):e.setAttribute(t,o?a:n)}},prop:function(e,t,n){if(!E(n))return e[t];e[t]=n},text:(Tt.$dv="",Tt),val:function(e,t){if(we(t)){if(e.multiple&&"select"===Re(e)){var n=[];return ve(e.options,function(e){e.selected&&n.push(e.value||e.text)}),n}return e.value}e.value=t},html:function(e,t){if(we(t))return e.innerHTML;ht(e,!0),e.innerHTML=t},empty:It},function(u,e){ft.prototype[e]=function(e,t){var n,r,i=this.length;if(u!==It&&we(2===u.length&&u!==wt&&u!==_t?e:t)){if(xe(e)){for(n=0;n<i;n++)if(u===bt)u(this[n],e);else for(r in e)u(this[n],r,e[r]);return this}for(var a=u.$dv,o=we(a)?Math.min(i,1):i,s=0;s<o;s++){var c=u(this[s],e,t);a=a?a+c:c}return a}for(n=0;n<i;n++)u(this[n],e,t);return this}}),ve({removeData:yt,on:function(i,e,a,t){if(E(t))throw et("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ut(i)){var n=kt(i,!0),o=n.events,s=n.handle;s=s||(n.handle=Ft(i,o));for(var r=0<=e.indexOf(" ")?e.split(" "):[e],c=r.length,u=function(e,t,n){var r=o[e];r||((r=o[e]=[]).specialHandlerWrapper=t,"$destroy"===e||n||i.addEventListener(e,s)),r.push(a)};c--;)e=r[c],Qe[e]?(u(Qe[e],Nt),u(e,void 0,!0)):u(e)}},off:gt,one:function(t,n,r){(t=fe(t)).on(n,function e(){t.off(n,r),t.off(n,e)}),t.on(n,r)},replaceWith:function(t,e){var n,r=t.parentNode;ht(t),ve(new ft(e),function(e){n?r.insertBefore(e,n.nextSibling):r.replaceChild(e,t),n=e})},children:function(e){var t=[];return ve(e.childNodes,function(e){e.nodeType===je&&t.push(e)}),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(n===je||n===Ke)for(var r=0,i=(t=new ft(t)).length;r<i;r++){var a=t[r];e.appendChild(a)}},prepend:function(t,e){if(t.nodeType===je){var n=t.firstChild;ve(new ft(e),function(e){t.insertBefore(e,n)})}},wrap:function(e,t){!function(e,t){var n=e.parentNode;n&&n.replaceChild(t,e),t.appendChild(e)}(e,fe(t).eq(0).clone()[0])},remove:Ct,detach:function(e){Ct(e,!0)},after:function(e,t){var n=e,r=e.parentNode;if(r)for(var i=0,a=(t=new ft(t)).length;i<a;i++){var o=t[i];r.insertBefore(o,n.nextSibling),n=o}},addClass:St,removeClass:xt,toggleClass:function(n,e,r){e&&ve(e.split(" "),function(e){var t=r;we(t)&&(t=!wt(n,e)),(t?St:xt)(n,e)})},parent:function(e){var t=e.parentNode;return t&&t.nodeType!==Ke?t:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:pt,triggerHandler:function(t,e,n){var r,i,a,o=e.type||e,s=kt(t),c=s&&s.events,u=c&&c[o];u&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:ke,type:o,target:t},e.type&&(r=ge(r,e)),i=qe(u),a=n?[r].concat(n):[r],ve(i,function(e){r.isImmediatePropagationStopped()||e.apply(t,a)}))}},function(o,e){ft.prototype[e]=function(e,t,n){for(var r,i=0,a=this.length;i<a;i++)we(r)?E(r=o(this[i],e,t,n))&&(r=fe(r)):$t(r,o(this[i],e,t,n));return E(r)?r:this}}),ft.prototype.bind=ft.prototype.on,ft.prototype.unbind=ft.prototype.off;var jt=Object.create(null);function Ut(){this._keys=[],this._values=[],this._lastKey=NaN,this._lastIndex=-1}Ut.prototype={_idx:function(e){return e!==this._lastKey&&(this._lastKey=e,this._lastIndex=this._keys.indexOf(e)),this._lastIndex},_transformKey:function(e){return R(e)?jt:e},get:function(e){e=this._transformKey(e);var t=this._idx(e);if(-1!==t)return this._values[t]},has:function(e){return e=this._transformKey(e),-1!==this._idx(e)},set:function(e,t){e=this._transformKey(e);var n=this._idx(e);-1===n&&(n=this._lastIndex=this._keys.length),this._keys[n]=e,this._values[n]=t},delete:function(e){e=this._transformKey(e);var t=this._idx(e);return-1!==t&&(this._keys.splice(t,1),this._values.splice(t,1),this._lastKey=NaN,this._lastIndex=-1,!0)}};var zt=Ut,Vt=[function(){this.$get=[function(){return zt}]}],Kt=/^([^(]+?)=>/,qt=/^[^(]*\(\s*([^)]*)\)/m,Wt=/,/,Jt=/^\s*(_?)(\S+?)\1\s*$/,Gt=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Yt=C("$injector");function Xt(e){return Function.prototype.toString.call(e)}function Zt(e){var t=Xt(e).replace(Gt,"");return t.match(Kt)||t.match(qt)}function Qt(e,u){u=!0===u;var i={},o="Provider",s=[],a=new zt,l={$provide:{provider:f(p),factory:f(h),service:f(function(e,t){return h(e,["$injector",function(e){return e.instantiate(t)}])}),value:f(function(e,t){return h(e,D(t),!1)}),constant:f(function(e,t){ce(e,"constant"),l[e]=t,n[e]=t}),decorator:function(e,t){var n=c.get(e+o),r=n.$get;n.$get=function(){var e=d.invoke(r,n);return d.invoke(t,null,{$delegate:e})}}}},c=l.$injector=v(l,function(e,t){throw k.isString(t)&&s.push(t),Yt("unpr","Unknown provider: {0}",s.join(" <- "))}),n={},t=v(n,function(e,t){var n=c.get(e+o,t);return d.invoke(n.$get,n,void 0,e)}),d=t;l["$injector"+o]={$get:D(t)},d.modules=c.modules=Be();var r=m(e);return(d=t.get("$injector")).strictDi=u,ve(r,function(e){e&&d.invoke(e)}),d.loadNewModules=function(e){ve(m(e),function(e){e&&d.invoke(e)})},d;function f(n){return function(e,t){if(!xe(e))return n(e,t);ve(e,M(n))}}function p(e,t){if(ce(e,"service"),(Me(t)||$e(t))&&(t=c.instantiate(t)),!t.$get)throw Yt("pget","Provider '{0}' must define $get factory method.",e);return l[e+o]=t}function h(e,t,n){return p(e,{$get:!1!==n?function(t,n){return function(){var e=d.invoke(n,this);if(we(e))throw Yt("undef","Provider '{0}' must return a value from $get factory method.",t);return e}}(e,t):t})}function m(e){Ne(we(e)||$e(e),"modulesToLoad","not an array");var n,r=[];return ve(e,function(t){if(!a.get(t)){a.set(t,!0);try{Se(t)?(n=g(t),d.modules[t]=n,r=r.concat(m(n.requires)).concat(n._runBlocks),e(n._invokeQueue),e(n._configBlocks)):Me(t)?r.push(c.invoke(t)):$e(t)?r.push(c.invoke(t)):se(t,"module")}catch(e){throw $e(t)&&(t=t[t.length-1]),e.message&&e.stack&&-1===e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Yt("modulerr","Failed to instantiate module {0} due to:\n{1}",t,e.stack||e.message||e)}}function e(e){var t,n;for(t=0,n=e.length;t<n;t++){var r=e[t],i=c.get(r[0]);i[r[1]].apply(i,r[2])}}}),r}function v(n,r){function c(t,e){if(n.hasOwnProperty(t)){if(n[t]===i)throw Yt("cdep","Circular dependency found: {0}",t+" <- "+s.join(" <- "));return n[t]}try{return s.unshift(t),n[t]=i,n[t]=r(t,e),n[t]}catch(e){throw n[t]===i&&delete n[t],e}finally{s.shift()}}function a(e,t,n){for(var r=[],i=Qt.$$annotate(e,u,n),a=0,o=i.length;a<o;a++){var s=i[a];if("string"!=typeof s)throw Yt("itkn","Incorrect injection token! Expected service name as string, got {0}",s);r.push(t&&t.hasOwnProperty(s)?t[s]:c(s,n))}return r}return{invoke:function(e,t,n,r){"string"==typeof n&&(r=n,n=null);var i=a(e,n,r);return $e(e)&&(e=e[e.length-1]),function(e){if(de||"function"!=typeof e)return!1;var t=e.$$ngIsClass;return Ce(t)||(t=e.$$ngIsClass=/^class\b/.test(Xt(e))),t}(e)?(i.unshift(null),new(Function.prototype.bind.apply(e,i))):e.apply(t,i)},instantiate:function(e,t,n){var r=$e(e)?e[e.length-1]:e,i=a(e,t,n);return i.unshift(null),new(Function.prototype.bind.apply(r,i))},get:c,annotate:Qt.$$annotate,has:function(e){return l.hasOwnProperty(e+o)||n.hasOwnProperty(e)}}}}function en(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(r,n,i){var a=r.document;function o(e){if(e){e.scrollIntoView();var t=function(){var e=s.yOffset;if(Me(e))e=e();else if(F(e)){var t=e[0];e="fixed"!==r.getComputedStyle(t).position?0:t.getBoundingClientRect().bottom}else x(e)||(e=0);return e}();if(t){var n=e.getBoundingClientRect().top;r.scrollBy(0,n-t)}}else r.scrollTo(0,0)}function s(e){var t;(e=Se(e)?e:x(e)?e.toString():n.hash())?(t=a.getElementById(e))?o(t):(t=function(e){var t=null;return Array.prototype.some.call(e,function(e){if("a"===Re(e))return t=e,!0}),t}(a.getElementsByName(e)))?o(t):"top"===e&&o(null):o(null)}return e&&i.$watch(function(){return n.hash()},function(e,t){e===t&&""===e||function(e,t){"complete"===(t=t||le).document.readyState?t.setTimeout(e):fe(t).on("load",e)}(function(){i.$evalAsync(s)})}),s}]}Qt.$$annotate=function(e,t,n){var r,i;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw Se(n)&&n||(n=e.name||function(e){var t=Zt(e);return t?"function("+(t[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}(e)),Yt("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);ve(Zt(e)[1].split(Wt),function(e){e.replace(Jt,function(e,t,n){r.push(n)})})}e.$inject=r}}else $e(e)?(se(e[i=e.length-1],"fn"),r=e.slice(0,i)):se(e,"fn",!0);return r};var tn=C("$animate"),nn=1,rn="ng-animate";function an(e,t){return e||t?e?t?($e(e)&&(e=e.join(" ")),$e(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function on(e){return xe(e)?e:{}}function sn(){this.$get=ke}function cn(){var u=new zt,l=[];this.$get=["$$AnimateRunner","$rootScope",function(a,o){return{enabled:ke,on:ke,off:ke,pin:ke,push:function(e,t,n,r){r&&r(),(n=n||{}).from&&e.css(n.from),n.to&&e.css(n.to),(n.addClass||n.removeClass)&&function(e,t,n){var r=u.get(e)||{},i=s(r,t,!0),a=s(r,n,!1);(i||a)&&(u.set(e,r),l.push(e),1===l.length&&o.$$postDigest(c))}(e,n.addClass,n.removeClass);var i=new a;return i.complete(),i}};function s(t,e,n){var r=!1;return e&&ve(e=Se(e)?e.split(" "):$e(e)?e:[],function(e){e&&(r=!0,t[e]=n)}),r}function c(){ve(l,function(e){var t=u.get(e);if(t){var n=function(e){Se(e)&&(e=e.split(" "));var t=Be();return ve(e,function(e){e.length&&(t[e]=!0)}),t}(e.attr("class")),r="",i="";ve(t,function(e,t){e!==!!n[t]&&(e?r+=(r.length?" ":"")+t:i+=(i.length?" ":"")+t)}),ve(e,function(e){r&&St(e,r),i&&xt(e,i)}),u.delete(e)}}),l.length=0}}]}function un(){this.$get=["$$rAF",function(t){var n=[];function r(e){n.push(e),1<n.length||t(function(){for(var e=0;e<n.length;e++)n[e]();n=[]})}return function(){var t=!1;return r(function(){t=!0}),function(e){t?e():r(e)}}}]}function ln(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(t,e,n,r,i){function a(e){this.setHost(e);var t=n();this._doneCallbacks=[],this._tick=function(e){r()?function(e){i(e,0,!1)}(e):t(e)},this._state=0}return a.chain=function(e,n){var r=0;!function t(){if(r===e.length)return void n(!0);e[r](function(e){!1!==e?(r++,t()):n(!1)})}()},a.all=function(t,n){var r=0,i=!0;function a(e){i=i&&e,++r===t.length&&n(i)}ve(t,function(e){e.done(a)})},a.prototype={setHost:function(e){this.host=e||{}},done:function(e){2===this._state?e():this._doneCallbacks.push(e)},progress:ke,getPromise:function(){if(!this.promise){var e=this;this.promise=t(function(t,n){e.done(function(e){!1===e?n():t()})})}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},catch:function(e){return this.getPromise().catch(e)},finally:function(e){return this.getPromise().finally(e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;0===t._state&&(t._state=1,t._tick(function(){t._resolve(e)}))},_resolve:function(t){2!==this._state&&(ve(this._doneCallbacks,function(e){e(t)}),this._doneCallbacks.length=0,this._state=2)}},a}]}function dn(){this.$get=["$$rAF","$q","$$AnimateRunner",function(o,e,s){return function(e,t){var n=t||{};n.$$prepared||(n=N(n)),n.cleanupStyles&&(n.from=n.to=null),n.from&&(e.css(n.from),n.from=null);var r,i=new s;return{start:a,end:a};function a(){return o(function(){!function(){n.addClass&&(e.addClass(n.addClass),n.addClass=null);n.removeClass&&(e.removeClass(n.removeClass),n.removeClass=null);n.to&&(e.css(n.to),n.to=null)}(),r||i.complete(),r=!0}),i}}}]}var fn=["$provide",function(r){var i=this,t=null,n=null;this.$$registeredAnimations=Object.create(null),this.register=function(e,t){if(e&&"."!==e.charAt(0))throw tn("notcsel","Expecting class selector starting with '.' got '{0}'.",e);var n=e+"-animation";i.$$registeredAnimations[e.substr(1)]=n,r.factory(n,t)},this.customFilter=function(e){return 1===arguments.length&&(n=Me(e)?e:null),n},this.classNameFilter=function(e){if(1===arguments.length&&((t=e instanceof RegExp?e:null)&&new RegExp("[(\\s|\\/)]"+rn+"[(\\s|\\/)]").test(t.toString())))throw t=null,tn("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',rn);return t},this.$get=["$$animateQueue",function(a){function i(e,t,n){if(n){var r=function(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.nodeType===nn)return n}}(n);!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(e){e.cancel&&e.cancel()},enter:function(e,t,n,r){return t=t&&fe(t),n=n&&fe(n),i(e,t=t||n.parent(),n),a.push(e,"enter",on(r))},move:function(e,t,n,r){return t=t&&fe(t),n=n&&fe(n),i(e,t=t||n.parent(),n),a.push(e,"move",on(r))},leave:function(e,t){return a.push(e,"leave",on(t),function(){e.remove()})},addClass:function(e,t,n){return(n=on(n)).addClass=an(n.addclass,t),a.push(e,"addClass",n)},removeClass:function(e,t,n){return(n=on(n)).removeClass=an(n.removeClass,t),a.push(e,"removeClass",n)},setClass:function(e,t,n,r){return(r=on(r)).addClass=an(r.addClass,t),r.removeClass=an(r.removeClass,n),a.push(e,"setClass",r)},animate:function(e,t,n,r,i){return(i=on(i)).from=i.from?ge(i.from,t):t,i.to=i.to?ge(i.to,n):n,r=r||"ng-inline-animate",i.tempClasses=an(i.tempClasses,r),a.push(e,"animate",i)}}}]}];function pn(a,e,t,o,n){var s=this,c=a.location,u=a.history,i=a.setTimeout,r=a.clearTimeout,l={},d=n(t);s.isMock=!1,s.$$completeOutstandingRequest=d.completeTask,s.$$incOutstandingRequestCount=d.incTaskCount,s.notifyWhenNoOutstandingRequests=d.notifyWhenNoPendingTasks;var f,p,h=c.href,m=e.find("base"),v=null,g=o.history?function(){try{return u.state}catch(e){}}:ke;x(),s.url=function(e,t,n){if(we(n)&&(n=null),c!==a.location&&(c=a.location),u!==a.history&&(u=a.history),e){var r=p===n;if(e=hi(e).href,h===e&&(!o.history||r))return s;var i=h&&dr(h)===dr(e);return h=e,p=n,!o.history||i&&r?(i||(v=e),t?c.replace(e):i?c.hash=function(e){var t=e.indexOf("#");return-1===t?"":e.substr(t)}(e):c.href=e,c.href!==e&&(v=e)):(u[t?"replaceState":"pushState"](n,"",e),x()),v=v&&e,s}return function(e){return e.replace(/#$/,"")}(v||c.href)},s.state=function(){return f};var y=[],k=!1;function b(){v=null,S()}var w=null;function x(){Oe(f=we(f=g())?null:f,w)&&(f=w),p=w=f}function S(){var e=p;x(),h===s.url()&&e===f||(h=s.url(),p=f,ve(y,function(e){e(s.url(),f)}))}s.onUrlChange=function(e){return k||(o.history&&fe(a).on("popstate",b),fe(a).on("hashchange",b),k=!0),y.push(e),e},s.$$applicationDestroyed=function(){fe(a).off("hashchange popstate",b)},s.$$checkUrlChange=S,s.baseHref=function(){var e=m.attr("href");return e?e.replace(/^(https?:)?\/\/[^/]*/,""):""},s.defer=function(e,t,n){var r;return t=t||0,n=n||d.DEFAULT_TASK_TYPE,d.incTaskCount(n),r=i(function(){delete l[r],d.completeTask(e,n)},t),l[r]=n,r},s.defer.cancel=function(e){if(l.hasOwnProperty(e)){var t=l[e];return delete l[e],r(e),d.completeTask(ke,t),!0}return!1}}function hn(){this.$get=["$window","$log","$sniffer","$document","$$taskTrackerFactory",function(e,t,n,r,i){return new pn(e,r,t,n,i)}]}function mn(){this.$get=function(){var d={};function e(e,t){if(e in d)throw C("$cacheFactory")("iid","CacheId '{0}' is already taken!",e);var n=0,r=ge({},t,{id:e}),i=Be(),a=t&&t.capacity||Number.MAX_VALUE,o=Be(),s=null,c=null;return d[e]={put:function(e,t){if(!we(t)){if(a<Number.MAX_VALUE)u(o[e]||(o[e]={key:e}));return e in i||n++,i[e]=t,a<n&&this.remove(c.key),t}},get:function(e){if(a<Number.MAX_VALUE){var t=o[e];if(!t)return;u(t)}return i[e]},remove:function(e){if(a<Number.MAX_VALUE){var t=o[e];if(!t)return;t===s&&(s=t.p),t===c&&(c=t.n),l(t.n,t.p),delete o[e]}e in i&&(delete i[e],n--)},removeAll:function(){i=Be(),n=0,o=Be(),s=c=null},destroy:function(){o=r=i=null,delete d[e]},info:function(){return ge({},r,{size:n})}};function u(e){e!==s&&(c?c===e&&(c=e.n):c=e,l(e.n,e.p),l(e,s),(s=e).n=null)}function l(e,t){e!==t&&(e&&(e.p=t),t&&(t.n=e))}}return e.info=function(){var n={};return ve(d,function(e,t){n[t]=e.info()}),n},e.get=function(e){return d[e]},e}}function vn(){this.$get=["$cacheFactory",function(e){return e("templates")}]}var gn=C("$compile");var yn=new function(){};function kn(n,t){var h={},m="Directive",U=/^\s*directive:\s*([\w-]+)\s+(.*)$/,z=/(([\w-]+)(?::([^;]+))?;?)/,f=function(e){var t,n={},r=e.split(",");for(t=0;t<r.length;t++)n[r[t]]=!0;return n}("ngSrc,ngSrcset,src,srcset"),v=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,y=/^(on[a-z]+|formaction)$/,s=Be();function r(e,r,i){var a=/^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/,o=Be();return ve(e,function(e,t){if((e=e.trim())in s)o[t]=s[e];else{var n=e.match(a);if(!n)throw gn("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",r,t,e,i?"controller bindings definition":"isolate scope definition");o[t]={mode:n[1][0],collection:"*"===n[2],optional:"?"===n[3],attrName:n[4]||t},n[4]&&(s[e]=o[t])}}),o}function b(e,t){var n={isolateScope:null,bindToController:null};if(xe(e.scope)&&(!0===e.bindToController?(n.bindToController=r(e.scope,t,!0),n.isolateScope={}):n.isolateScope=r(e.scope,t,!1)),xe(e.bindToController)&&(n.bindToController=r(e.bindToController,t,!0)),n.bindToController&&!e.controller)throw gn("noctrl","Cannot bind to controller without directive '{0}'s controller.",t);return n}this.directive=function e(o,t){return Ne(o,"name"),ce(o,"directive"),Se(o)?(function(e){var t=e.charAt(0);if(!t||t!==he(t))throw gn("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",e);if(e!==e.trim())throw gn("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",e)}(o),Ne(t,"directiveFactory"),h.hasOwnProperty(o)||(h[o]=[],n.factory(o+m,["$injector","$exceptionHandler",function(r,i){var a=[];return ve(h[o],function(e,t){try{var n=r.invoke(e);Me(n)?n={compile:D(n)}:!n.compile&&n.link&&(n.compile=D(n.link)),n.priority=n.priority||0,n.index=t,n.name=n.name||o,n.require=function(e){var r=e.require||e.controller&&e.name;return!$e(r)&&xe(r)&&ve(r,function(e,t){var n=e.match(v);e.substring(n[0].length)||(r[t]=n[0]+t)}),r}(n),n.restrict=function(e,t){if(e&&(!Se(e)||!/[EACM]/.test(e)))throw gn("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",e,t);return e||"EA"}(n.restrict,o),n.$$moduleName=e.$$moduleName,a.push(n)}catch(e){i(e)}}),a}])),h[o].push(t)):ve(o,M(e)),this},this.component=function e(t,i){if(!Se(t))return ve(t,M(Te(this,e))),this;var a=i.controller||function(){};function n(r){function e(n){return Me(n)||$e(n)?function(e,t){return r.invoke(n,this,{$element:e,$attrs:t})}:n}var t=i.template||i.templateUrl?i.template:"",n={controller:a,controllerAs:function(e,t){if(t&&Se(t))return t;if(Se(e)){var n=In.exec(e);if(n)return n[3]}}(i.controller)||i.controllerAs||"$ctrl",template:e(t),templateUrl:e(i.templateUrl),transclude:i.transclude,scope:{},bindToController:i.bindings||{},restrict:"E",require:i.require};return ve(i,function(e,t){"$"===t.charAt(0)&&(n[t]=e)}),n}return ve(i,function(e,t){"$"===t.charAt(0)&&(n[t]=e,Me(a)&&(a[t]=e))}),n.$inject=["$injector"],this.directive(t,n)},this.aHrefSanitizationWhitelist=function(e){return E(e)?(t.aHrefSanitizationWhitelist(e),this):t.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(e){return E(e)?(t.imgSrcSanitizationWhitelist(e),this):t.imgSrcSanitizationWhitelist()};var w=!0,x=!(this.debugInfoEnabled=function(e){return E(e)?(w=e,this):w});this.strictComponentBindingsEnabled=function(e){return E(e)?(x=e,this):x};var S=10;this.onChangesTtl=function(e){return arguments.length?(S=e,this):S};var $=!0;this.commentDirectivesEnabled=function(e){return arguments.length?($=e,this):$};var _=!0;this.cssClassDirectivesEnabled=function(e){return arguments.length?(_=e,this):_};var V=Be();function e(t,e){ve(e,function(e){V[e.toLowerCase()]=t})}this.addPropertySecurityContext=function(e,t,n){var r=e.toLowerCase()+"|"+t.toLowerCase();if(r in V&&V[r]!==n)throw gn("ctxoverride","Property context '{0}.{1}' already set to '{2}', cannot override to '{3}'.",e,t,V[r],n);return V[r]=n,this},e(Yr.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),e(Yr.CSS,["*|style"]),e(Yr.URL,["area|href","area|ping","a|href","a|ping","blockquote|cite","body|background","del|cite","input|src","ins|cite","q|cite"]),e(Yr.MEDIA_URL,["audio|src","img|src","img|srcset","source|src","source|srcset","track|src","video|src","video|poster"]),e(Yr.RESOURCE_URL,["*|formAction","applet|code","applet|codebase","base|href","embed|src","frame|src","form|action","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"]),this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(p,M,K,e,I,q,C,l,i){var a,c=/^\w/,u=le.document.createElement("div"),A=$,R=_,t=S;function o(){try{if(!--t)throw a=void 0,gn("infchng","{0} $onChanges() iterations reached. Aborting!\n",S);C.$apply(function(){for(var e=0,t=a.length;e<t;++e)try{a[e]()}catch(e){K(e)}a=void 0})}finally{t++}}function d(e,t){if(!e)return e;if(!Se(e))throw gn("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',t,e.toString());for(var n="",r=Ae(e),i=/\s/.test(r)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,a=r.split(i),o=Math.floor(a.length/2),s=0;s<o;s++){var c=2*s;n+=l.getTrustedMediaUrl(Ae(a[c])),n+=" "+Ae(a[1+c])}var u=Ae(a[2*s]).split(/\s/);return n+=l.getTrustedMediaUrl(Ae(u[0])),2===u.length&&(n+=" "+Ae(u[1])),n}function W(e,t){if(t){var n,r,i,a=Object.keys(t);for(n=0,r=a.length;n<r;n++)this[i=a[n]]=t[i]}else this.$attr={};this.$$element=e}function D(e,t){try{e.addClass(t)}catch(e){}}W.prototype={$normalize:Sn,$addClass:function(e){e&&0<e.length&&i.addClass(this.$$element,e)},$removeClass:function(e){e&&0<e.length&&i.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=$n(e,t);n&&n.length&&i.addClass(this.$$element,n);var r=$n(t,e);r&&r.length&&i.removeClass(this.$$element,r)},$set:function(e,t,n,r){var i=Pt(this.$$element[0],e),a=function(e){return Ot[e]}(e),o=e;i?(this.$$element.prop(e,t),r=i):a&&(this[a]=t,o=a),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e])||(this.$attr[e]=r=Le(e,"-")),"img"===Re(this.$$element)&&"srcset"===e&&(this[e]=t=d(t,"$set('srcset', value)")),!1!==n&&(null===t||we(t)?this.$$element.removeAttr(r):c.test(r)?i&&!1===t?this.$$element.removeAttr(r):this.$$element.attr(r,t):function(e,t,n){u.innerHTML="<span "+t+">";var r=u.firstChild.attributes,i=r[0];r.removeNamedItem(i.name),i.value=n,e.attributes.setNamedItem(i)}(this.$$element[0],r,t));var s=this.$$observers;s&&ve(s[o],function(e){try{e(t)}catch(e){K(e)}})},$observe:function(e,t){var n=this,r=n.$$observers||(n.$$observers=Be()),i=r[e]||(r[e]=[]);return i.push(t),C.$evalAsync(function(){i.$$inter||!n.hasOwnProperty(e)||we(n[e])||t(n[e])}),function(){De(i,t)}}};var n=M.startSymbol(),r=M.endSymbol(),J="{{"===n&&"}}"===r?be:function(e){return e.replace(/\{\{/g,n).replace(/}}/g,r)},E=/^ng(Attr|Prop|On)([A-Z].*)$/,O=/^(.+)Start$/;return G.$$addBindingInfo=w?function(e,t){var n=e.data("$binding")||[];$e(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:ke,G.$$addBindingClass=w?function(e){D(e,"ng-binding")}:ke,G.$$addScopeInfo=w?function(e,t,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";e.data(i,t)}:ke,G.$$addScopeClass=w?function(e,t){D(e,t?"ng-isolate-scope":"ng-scope")}:ke,G.$$createComment=function(e,t){var n="";return w&&(n=" "+(e||"")+": ",t&&(n+=t+" ")),le.document.createComment(n)},G;function G(c,e,t,n,u){c instanceof fe||(c=fe(c));var l=P(c,e,c,t,n,u);G.$$addScopeClass(c);var d=null;return function(e,t,n){if(!c)throw gn("multilink","This element has already been linked.");Ne(e,"scope"),u&&u.needsNewScope&&(e=e.$parent.$new());var r,i=(n=n||{}).parentBoundTranscludeFn,a=n.transcludeControllers,o=n.futureParentElement;if(i&&i.$$boundTransclude&&(i=i.$$boundTransclude),r="html"!==(d=d||function(e){var t=e&&e[0];return t&&"foreignobject"!==Re(t)&&me.call(t).match(/SVG/)?"svg":"html"}(o))?fe(ae(d,fe("<div></div>").append(c).html())):t?Rt.clone.call(c):c,a)for(var s in a)r.data("$"+s+"Controller",a[s].instance);return G.$$addScopeInfo(r,e),t&&t(r,e),l&&l(e,r,r,i),t||(c=l=null),r}}function P(e,h,t,n,r,i){for(var a,o,s,c,u,l,m,v=[],d=$e(e)||e instanceof fe,f=0;f<e.length;f++)a=new W,11===de&&g(e,f,d),(s=(o=Y(e[f],[],a,0===f?n:void 0,r)).length?F(o,e[f],a,h,t,null,[],[],i):null)&&s.scope&&G.$$addScopeClass(a.$$element),u=s&&s.terminal||!(c=e[f].childNodes)||!c.length?null:P(c,s?(s.transcludeOnThisElement||!s.templateOnThisElement)&&s.transclude:h),(s||u)&&(v.push(f,s,u),l=!0,m=m||s),i=null;return l?function(e,t,n,r){var i,a,o,s,c,u,l,d,f;if(m){var p=t.length;for(f=new Array(p),c=0;c<v.length;c+=3)l=v[c],f[l]=t[l]}else f=t;for(c=0,u=v.length;c<u;)o=f[v[c++]],i=v[c++],a=v[c++],i?(i.scope?(s=e.$new(),G.$$addScopeInfo(fe(o),s)):s=e,d=i.transcludeOnThisElement?T(e,i.transclude,r):!i.templateOnThisElement&&r?r:!r&&h?T(e,h):null,i(a,s,o,n,d)):a&&a(e,o.childNodes,void 0,r)}:null}function g(e,t,n){var r,i=e[t],a=i.parentNode;if(i.nodeType===Ue)for(;(r=a?i.nextSibling:e[t+1])&&r.nodeType===Ue;)i.nodeValue=i.nodeValue+r.nodeValue,r.parentNode&&r.parentNode.removeChild(r),n&&r===e[t+1]&&e.splice(t+1,1)}function T(a,o,s){function e(e,t,n,r,i){return e||((e=a.$new(!1,i)).$$transcluded=!0),o(e,t,{parentBoundTranscludeFn:s,transcludeControllers:n,futureParentElement:r})}var t=e.$$slots=Be();for(var n in o.$$slots)o.$$slots[n]?t[n]=T(a,o.$$slots[n],s):t[n]=null;return e}function Y(e,t,n,r,i){var a,o,s,c,u,l=e.nodeType,d=n.$attr;switch(l){case je:L(t,Sn(o=Re(e)),"E",r,i);for(var f,p,h,m,v,g=e.attributes,y=0,k=g&&g.length;y<k;y++){var b,w=!1,x=!1,S=!1,$=!1,_=!1;p=(f=g[y]).name,m=f.value,(v=(h=Sn(p.toLowerCase())).match(E))?(S="Attr"===v[1],$="Prop"===v[1],_="On"===v[1],p=p.replace(wn,"").toLowerCase().substr(4+v[1].length).replace(/_(.)/g,function(e,t){return t.toUpperCase()})):(b=h.match(O))&&N(b[1])&&(x=(w=p).substr(0,p.length-5)+"end",p=p.substr(0,p.length-6)),$||_?(n[h]=m,d[h]=f.name,$?H(e,t,h,p):(c=h,u=p,t.push(za(I,C,K,c,u,!1)))):(d[h=Sn(p.toLowerCase())]=p,!S&&n.hasOwnProperty(h)||(n[h]=m,Pt(e,h)&&(n[h]=!0)),j(e,t,m,h,S),L(t,h,"A",r,i,w,x))}if("input"===o&&"hidden"===e.getAttribute("type")&&e.setAttribute("autocomplete","off"),!R)break;if(xe(s=e.className)&&(s=s.animVal),Se(s)&&""!==s)for(;a=z.exec(s);)L(t,h=Sn(a[2]),"C",r,i)&&(n[h]=Ae(a[3])),s=s.substr(a.index+a[0].length);break;case Ue:!function(e,t){var i=M(t,!0);i&&e.push({priority:0,compile:function(e){var t=e.parent(),r=!!t.length;return r&&G.$$addBindingClass(t),function(e,t){var n=t.parent();r||G.$$addBindingClass(n),G.$$addBindingInfo(n,i.expressions),e.$watch(i,function(e){t[0].nodeValue=e})}}})}(t,e.nodeValue);break;case ze:if(!A)break;!function(e,t,n,r,i){try{var a=U.exec(e.nodeValue);if(a){var o=Sn(a[1]);L(t,o,"M",r,i)&&(n[o]=Ae(a[2]))}}catch(e){}}(e,t,n,r,i)}return t.sort(B),t}function X(e,t,n){var r=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t))do{if(!e)throw gn("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);e.nodeType===je&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),r.push(e),e=e.nextSibling}while(0<i);else r.push(e);return fe(r)}function Z(a,o,s){return function(e,t,n,r,i){return t=X(t[0],o,s),a(e,t,n,r,i)}}function Q(e,t,n,r,i,a){var o;return e?G(t,n,r,i,a):function(){return o||(o=G(t,n,r,i,a),t=n=a=null),o.apply(this,arguments)}}function F(e,b,w,t,n,r,x,S,i){i=i||{};for(var a,o,s,c,u,l=-Number.MAX_VALUE,$=i.newScopeDirective,_=i.controllerDirectives,M=i.newIsolateScopeDirective,I=i.templateDirective,d=i.nonTlbTranscludeDirective,f=!1,p=!1,C=i.hasElementTranscludeDirective,h=w.$$element=fe(b),m=r,v=t,g=!1,y=!1,k=0,A=e.length;k<A;k++){var R=(a=e[k]).$$start,D=a.$$end;if(R&&(h=X(b,R,D)),s=void 0,l>a.priority)break;if((u=a.scope)&&(a.templateUrl||(xe(u)?(ie("new/isolated scope",M||$,a,h),M=a):ie("new/isolated scope",M,a,h)),$=$||a),o=a.name,!g&&(a.replace&&(a.templateUrl||a.template)||a.transclude&&!a.$$tlb)){for(var E,O=k+1;E=e[O++];)if(E.transclude&&!E.$$tlb||E.replace&&(E.templateUrl||E.template)){y=!0;break}g=!0}if(!a.templateUrl&&a.controller&&(_=_||Be(),ie("'"+o+"' controller",_[o],a,h),_[o]=a),u=a.transclude)if(f=!0,a.$$tlb||(ie("transclusion",d,a,h),d=a),"element"===u)C=!0,l=a.priority,s=h,h=w.$$element=fe(G.$$createComment(o,w[o])),b=h[0],oe(n,Pe(s),b),v=Q(y,s,t,l,m&&m.name,{nonTlbTranscludeDirective:d});else{var P=Be();if(xe(u)){s=le.document.createDocumentFragment();var T=Be(),F=Be();for(var L in ve(u,function(e,t){var n="?"===e.charAt(0);e=n?e.substring(1):e,T[e]=t,P[t]=null,F[t]=n}),ve(h.contents(),function(e){var t=T[Sn(Re(e))];t?(F[t]=!0,P[t]=P[t]||le.document.createDocumentFragment(),P[t].appendChild(e)):s.appendChild(e)}),ve(F,function(e,t){if(!e)throw gn("reqslot","Required transclusion slot `{0}` was not filled.",t)}),P)if(P[L]){var N=fe(P[L].childNodes);P[L]=Q(y,N,t)}s=fe(s.childNodes)}else s=fe(pt(b)).contents();h.empty(),(v=Q(y,s,t,void 0,void 0,{needsNewScope:a.$$isolateScope||a.$$newScope})).$$slots=P}if(a.template)if(p=!0,ie("template",I,a,h),u=Me((I=a).template)?a.template(h,w):a.template,u=J(u),a.replace){if(m=a,s=ct(u)?[]:_n(ae(a.templateNamespace,Ae(u))),b=s[0],1!==s.length||b.nodeType!==je)throw gn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",o,"");oe(n,h,b);var B={$attr:{}},H=Y(b,[],B),j=e.splice(k+1,e.length-(k+1));(M||$)&&te(H,M,$),e=e.concat(H).concat(j),ne(w,B),A=e.length}else h.html(u);if(a.templateUrl)p=!0,ie("template",I,a,h),(I=a).replace&&(m=a),V=re(e.splice(k,e.length-k),h,w,n,f&&v,x,S,{controllerDirectives:_,newScopeDirective:$!==a&&$,newIsolateScopeDirective:M,templateDirective:I,nonTlbTranscludeDirective:d}),A=e.length;else if(a.compile)try{c=a.compile(h,w,v);var U=a.$$originalDirective||a;Me(c)?z(null,Te(U,c),R,D):c&&z(Te(U,c.pre),Te(U,c.post),R,D)}catch(e){K(e,Fe(h))}a.terminal&&(V.terminal=!0,l=Math.max(l,a.priority))}return V.scope=$&&!0===$.scope,V.transcludeOnThisElement=f,V.templateOnThisElement=p,V.transclude=v,i.hasElementTranscludeDirective=C,V;function z(e,t,n,r){e&&(n&&(e=Z(e,n,r)),e.require=a.require,e.directiveName=o,M!==a&&!a.$$isolateScope||(e=se(e,{isolateScope:!0})),x.push(e)),t&&(n&&(t=Z(t,n,r)),t.require=a.require,t.directiveName=o,M!==a&&!a.$$isolateScope||(t=se(t,{isolateScope:!0})),S.push(t))}function V(e,t,n,r,o){var i,a,s,c,u,l,d,f,p,h;for(var m in b===n?f=(p=w).$$element:p=new W(f=fe(n),w),u=t,M?c=t.$new(!0):$&&(u=t.$parent),o&&((d=function(e,t,n,r){var i;Ie(e)||(r=n,n=t,t=e,e=void 0);C&&(i=l);n=n||(C?f.parent():f);{if(!r)return o(e,t,i,n,k);var a=o.$$slots[r];if(a)return a(e,t,i,n,k);if(we(a))throw gn("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',r,Fe(f))}}).$$boundTransclude=o,d.isSlotFilled=function(e){return!!o.$$slots[e]}),_&&(l=function(e,t,n,r,i,a,o){var s=Be();for(var c in r){var u=r[c],l={$scope:u===o||u.$$isolateScope?i:a,$element:e,$attrs:t,$transclude:n},d=u.controller;"@"===d&&(d=t[u.name]);var f=q(d,l,!0,u.controllerAs);s[u.name]=f,e.data("$"+u.name+"Controller",f.instance)}return s}(f,p,d,_,c,t,M)),M&&(G.$$addScopeInfo(f,c,!0,!(I&&(I===M||I===M.$$originalDirective))),G.$$addScopeClass(f,!0),c.$$isolateBindings=M.$$isolateBindings,(h=ue(t,p,c,c.$$isolateBindings,M)).removeWatches&&c.$on("$destroy",h.removeWatches)),l){var v=_[m],g=l[m],y=v.$$bindings.bindToController;g.instance=g(),f.data("$"+v.name+"Controller",g.instance),g.bindingInfo=ue(u,p,g.instance,y,v)}for(ve(_,function(e,t){var n=e.require;e.bindToController&&!$e(n)&&xe(n)&&ge(l[t].instance,ee(t,n,f,l))}),ve(l,function(e){var t=e.instance;if(Me(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(e){K(e)}if(Me(t.$onInit))try{t.$onInit()}catch(e){K(e)}Me(t.$doCheck)&&(u.$watch(function(){t.$doCheck()}),t.$doCheck()),Me(t.$onDestroy)&&u.$on("$destroy",function(){t.$onDestroy()})}),i=0,a=x.length;i<a;i++)ce(s=x[i],s.isolateScope?c:t,f,p,s.require&&ee(s.directiveName,s.require,f,l),d);var k=t;for(M&&(M.template||null===M.templateUrl)&&(k=c),e&&e(k,n.childNodes,void 0,o),i=S.length-1;0<=i;i--)ce(s=S[i],s.isolateScope?c:t,f,p,s.require&&ee(s.directiveName,s.require,f,l),d);ve(l,function(e){var t=e.instance;Me(t.$postLink)&&t.$postLink()})}}function ee(n,e,r,i){var a;if(Se(e)){var t=e.match(v),o=e.substring(t[0].length),s=t[1]||t[3],c="?"===t[2];if("^^"===s?r=r.parent():a=(a=i&&i[o])&&a.instance,!a){var u="$"+o+"Controller";a="^^"===s&&r[0]&&r[0].nodeType===Ve?null:s?r.inheritedData(u):r.data(u)}if(!a&&!c)throw gn("ctreq","Controller '{0}', required by directive '{1}', can't be found!",o,n)}else if($e(e)){a=[];for(var l=0,d=e.length;l<d;l++)a[l]=ee(n,e[l],r,i)}else xe(e)&&(a={},ve(e,function(e,t){a[t]=ee(n,e,r,i)}));return a||null}function te(e,t,n){for(var r=0,i=e.length;r<i;r++)e[r]=ye(e[r],{$$isolateScope:t,$$newScope:n})}function L(e,t,n,r,i,a,o){if(t===i)return null;var s=null;if(h.hasOwnProperty(t))for(var c,u=p.get(t+m),l=0,d=u.length;l<d;l++)if(c=u[l],(we(r)||r>c.priority)&&-1!==c.restrict.indexOf(n)){if(a&&(c=ye(c,{$$start:a,$$end:o})),!c.$$bindings){var f=c.$$bindings=b(c,c.name);xe(f.isolateScope)&&(c.$$isolateBindings=f.isolateScope)}e.push(c),s=c}return s}function N(e){if(h.hasOwnProperty(e))for(var t=p.get(e+m),n=0,r=t.length;n<r;n++)if(t[n].multiElement)return!0;return!1}function ne(n,r){var i=r.$attr,a=n.$attr;ve(n,function(e,t){"$"!==t.charAt(0)&&(r[t]&&r[t]!==e&&(e.length?e+=("style"===t?";":" ")+r[t]:e=r[t]),n.$set(t,e,!0,i[t]))}),ve(r,function(e,t){n.hasOwnProperty(t)||"$"===t.charAt(0)||(n[t]=e,"class"!==t&&"style"!==t&&(a[t]=i[t]))})}function re(f,p,h,m,v,g,y,k){var b,w,x=[],S=p[0],$=f.shift(),_=ye($,{templateUrl:null,transclude:null,replace:null,$$originalDirective:$}),M=Me($.templateUrl)?$.templateUrl(p,h):$.templateUrl,I=$.templateNamespace;return p.empty(),e(M).then(function(e){var n,t,r,i;if(e=J(e),$.replace){if(r=ct(e)?[]:_n(ae(I,Ae(e))),n=r[0],1!==r.length||n.nodeType!==je)throw gn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",$.name,M);t={$attr:{}},oe(m,p,n);var a=Y(n,[],t);xe($.scope)&&te(a,!0),f=a.concat(f),ne(h,t)}else n=S,p.html(e);for(f.unshift(_),b=F(f,n,h,v,p,$,g,y,k),ve(m,function(e,t){e===n&&(m[t]=p[0])}),w=P(p[0].childNodes,v);x.length;){var o=x.shift(),s=x.shift(),c=x.shift(),u=x.shift(),l=p[0];if(!o.$$destroyed){if(s!==S){var d=s.className;k.hasElementTranscludeDirective&&$.replace||(l=pt(n)),oe(c,fe(s),l),D(fe(l),d)}i=b.transcludeOnThisElement?T(o,b.transclude,u):u,b(w,o,l,m,i)}}x=null}).catch(function(e){_e(e)&&K(e)}),function(e,t,n,r,i){var a=i;t.$$destroyed||(x?x.push(t,n,r,a):(b.transcludeOnThisElement&&(a=T(t,b.transclude,i)),b(w,t,n,r,a)))}}function B(e,t){var n=t.priority-e.priority;return 0!=n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function ie(e,t,n,r){function i(e){return e?" (module: "+e+")":""}if(t)throw gn("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,i(t.$$moduleName),n.name,i(n.$$moduleName),e,Fe(r))}function ae(e,t){switch(e=he(e||"html")){case"svg":case"math":var n=le.document.createElement("div");return n.innerHTML="<"+e+">"+t+"</"+e+">",n.childNodes[0].childNodes;default:return t}}function s(e){return d(l.valueOf(e),"ng-prop-srcset")}function H(e,t,n,a){if(y.test(a))throw gn("nodomevents","Property bindings for HTML DOM event properties are disallowed");var r=Re(e),i=function(e,t){var n=t.toLowerCase();return V[e+"|"+n]||V["*|"+n]}(r,a),o=be;"srcset"!==a||"img"!==r&&"source"!==r?i&&(o=l.getTrusted.bind(l,i)):o=s,t.push({priority:100,compile:function(e,t){var r=I(t[n]),i=I(t[n],function(e){return l.valueOf(e)});return{pre:function(t,n){function e(){var e=r(t);n[0][a]=o(e)}e(),t.$watch(i,e)}}}})}function j(e,t,a,o,n){var r=Re(e),s=function(e,t){return"srcdoc"===t?l.HTML:"src"===t||"ngSrc"===t?-1===["img","video","audio","source","track"].indexOf(e)?l.RESOURCE_URL:l.MEDIA_URL:"xlinkHref"===t?"image"===e?l.MEDIA_URL:"a"===e?l.URL:l.RESOURCE_URL:"form"===e&&"action"===t||"base"===e&&"href"===t||"link"===e&&"href"===t?l.RESOURCE_URL:"a"!==e||"href"!==t&&"ngHref"!==t?void 0:l.URL}(r,o),i=!n,c=f[o]||n,u=M(a,i,s,c);if(u){if("multiple"===o&&"select"===r)throw gn("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",Fe(e));if(y.test(o))throw gn("nodomevents","Interpolations for HTML DOM event attributes are disallowed");t.push({priority:100,compile:function(){return{pre:function(e,t,n){var r=n.$$observers||(n.$$observers=Be()),i=n[o];i!==a&&(u=i&&M(i,!0,s,c),a=i),u&&(n[o]=u(e),(r[o]||(r[o]=[])).$$inter=!0,(n.$$observers&&n.$$observers[o].$$scope||e).$watch(u,function(e,t){"class"===o&&e!==t?n.$updateClass(e,t):n.$set(o,e)}))}}}})}}function oe(e,t,n){var r,i,a=t[0],o=t.length,s=a.parentNode;if(e)for(r=0,i=e.length;r<i;r++)if(e[r]===a){e[r++]=n;for(var c=r,u=c+o-1,l=e.length;c<l;c++,u++)u<l?e[c]=e[u]:delete e[c];e.length-=o-1,e.context===a&&(e.context=n);break}s&&s.replaceChild(n,a);var d=le.document.createDocumentFragment();for(r=0;r<o;r++)d.appendChild(t[r]);for(fe.hasData(a)&&(fe.data(n,fe.data(a)),fe(a).off("$destroy")),fe.cleanData(d.querySelectorAll("*")),r=1;r<o;r++)delete t[r];t[0]=n,t.length=1}function se(e,t){return ge(function(){return e.apply(null,arguments)},e,t)}function ce(e,t,n,r,i,a){try{e(t,n,r,i,a)}catch(e){K(e,Fe(n))}}function k(e,t){if(x)throw gn("missingattr","Attribute '{0}' of '{1}' is non-optional and must be set!",e,t)}function ue(f,p,h,e,m){var r,v=[],g={};function y(e,t,n){Me(h.$onChanges)&&!Ee(t,n)&&(a||(f.$$postDigest(o),a=[]),r||(r={},a.push(i)),r[e]&&(n=r[e].previousValue),r[e]=new bn(n,t))}function i(){h.$onChanges(r),r=void 0}return ve(e,function(e,n){var t,r,i,a,o,s=e.attrName,c=e.optional;switch(e.mode){case"@":c||pe.call(p,s)||(k(s,m.name),h[n]=p[s]=void 0),o=p.$observe(s,function(e){if(Se(e)||Ce(e)){var t=h[n];y(n,e,t),h[n]=e}}),p.$$observers[s].$$scope=f,Se(t=p[s])?h[n]=M(t)(f):Ce(t)&&(h[n]=t),g[n]=new bn(yn,h[n]),v.push(o);break;case"=":if(!pe.call(p,s)){if(c)break;k(s,m.name),p[s]=void 0}if(c&&!p[s])break;r=I(p[s]),a=r.literal?Oe:Ee,i=r.assign||function(){throw t=h[n]=r(f),gn("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",p[s],s,m.name)},t=h[n]=r(f);var u=function(e){return a(e,h[n])||(a(e,t)?i(f,e=h[n]):h[n]=e),t=e};u.$stateful=!0,o=e.collection?f.$watchCollection(p[s],u):f.$watch(I(p[s],u),null,r.literal),v.push(o);break;case"<":if(!pe.call(p,s)){if(c)break;k(s,m.name),p[s]=void 0}if(c&&!p[s])break;var l=(r=I(p[s])).literal,d=h[n]=r(f);g[n]=new bn(yn,h[n]),o=f[e.collection?"$watchCollection":"$watch"](r,function(e,t){if(t===e){if(t===d||l&&Oe(t,d))return;t=d}y(n,e,t),h[n]=e}),v.push(o);break;case"&":if(c||pe.call(p,s)||k(s,m.name),(r=p.hasOwnProperty(s)?I(p[s]):ke)===ke&&c)break;h[n]=function(e){return r(f,e)}}}),{initialChanges:g,removeWatches:v.length&&function(){for(var e=0,t=v.length;e<t;++e)v[e]()}}}}]}function bn(e,t){this.previousValue=e,this.currentValue=t}kn.$inject=["$provide","$$sanitizeUriProvider"],bn.prototype.isFirstChange=function(){return this.previousValue===yn};var wn=/^((?:x|data)[:\-_])/i,xn=/[:\-_]+(.)/g;function Sn(e){return e.replace(wn,"").replace(xn,function(e,t,n){return n?t.toUpperCase():t})}function $n(e,t){var n="",r=e.split(/\s+/),i=t.split(/\s+/);e:for(var a=0;a<r.length;a++){for(var o=r[a],s=0;s<i.length;s++)if(o===i[s])continue e;n+=(0<n.length?" ":"")+o}return n}function _n(e){var t=(e=fe(e)).length;if(t<=1)return e;for(;t--;){var n=e[t];(n.nodeType===ze||n.nodeType===Ue&&""===n.nodeValue.trim())&&i.call(e,t,1)}return e}var Mn=C("$controller"),In=/^(\S+)(\s+as\s+([\w$]+))?$/;function Cn(){var d={};this.has=function(e){return d.hasOwnProperty(e)},this.register=function(e,t){ce(e,"controller"),xe(e)?ge(d,e):d[e]=t},this.$get=["$injector",function(u){return function(t,n,e,r){var i,a,o,s;if(e=!0===e,r&&Se(r)&&(s=r),Se(t)){if(!(a=t.match(In)))throw Mn("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",t);if(o=a[1],s=s||a[3],!(t=d.hasOwnProperty(o)?d[o]:function(e,t,n){if(!t)return e;for(var r,i=t.split("."),a=e,o=i.length,s=0;s<o;s++)r=i[s],e=e&&(a=e)[r];return!n&&Me(e)?Te(a,e):e}(n.$scope,o,!0)))throw Mn("ctrlreg","The controller with the name '{0}' is not registered.",o);se(t,o,!0)}if(e){var c=($e(t)?t[t.length-1]:t).prototype;return i=Object.create(c||null),s&&l(n,s,i,o||t.name),ge(function(){var e=u.invoke(t,i,n,o);return e!==i&&(xe(e)||Me(e))&&(i=e,s&&l(n,s,i,o||t.name)),i},{instance:i,identifier:s})}return i=u.instantiate(t,n,o),s&&l(n,s,i,o||t.name),i};function l(e,t,n,r){if(!e||!xe(e.$scope))throw C("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",r,t);e.$scope[t]=n}}]}function An(){this.$get=["$window",function(e){return fe(e.document)}]}function Rn(){this.$get=["$document","$rootScope",function(e,t){var n=e[0],r=n&&n.hidden;function i(){r=n.hidden}return e.on("visibilitychange",i),t.$on("$destroy",function(){e.off("visibilitychange",i)}),function(){return r}}]}function Dn(){this.$get=["$log",function(n){return function(e,t){n.error.apply(n,arguments)}}]}function En(){this.$get=["$document",function(t){return function(e){return e?!e.nodeType&&e instanceof fe&&(e=e[0]):e=t[0].body,e.offsetWidth+1}}]}var On="application/json",Pn={"Content-Type":On+";charset=utf-8"},Tn=/^\[|^\{(?!\{)/,Fn={"[":/]$/,"{":/}$/},Ln=/^\)]\}',?\n/,Nn=C("$http");function Bn(e){return xe(e)?S(e)?e.toISOString():z(e):e}function Hn(){this.$get=function(){return function(e){if(!e)return"";var n=[];return c(e,function(e,t){null===e||we(e)||Me(e)||($e(e)?ve(e,function(e){n.push(Z(t)+"="+Z(Bn(e)))}):n.push(Z(t)+"="+Z(Bn(e))))}),n.join("&")}}}function jn(){this.$get=function(){return function(e){if(!e)return"";var t=[];return function n(e,r,i){$e(e)?ve(e,function(e,t){n(e,r+"["+(xe(e)?t:"")+"]")}):xe(e)&&!S(e)?c(e,function(e,t){n(e,r+(i?"":"[")+t+(i?"":"]"))}):(Me(e)&&(e=e()),t.push(Z(r)+"="+(null==e?"":Z(Bn(e)))))}(e,"",!0),t.join("&")}}}function Un(t,e){if(Se(t)){var n=t.replace(Ln,"").trim();if(n){var r=e("Content-Type"),i=r&&0===r.indexOf(On);if(i||function(e){var t=e.match(Tn);return t&&Fn[t[0]].test(e)}(n))try{t=V(n)}catch(e){if(!i)return t;throw Nn("baddata",'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"',t,e)}}}return t}function zn(e){var t,n=Be();function r(e,t){e&&(n[e]=n[e]?n[e]+", "+t:t)}return Se(e)?ve(e.split("\n"),function(e){t=e.indexOf(":"),r(he(Ae(e.substr(0,t))),Ae(e.substr(t+1)))}):xe(e)&&ve(e,function(e,t){r(he(t),Ae(e))}),n}function Vn(n){var r;return function(e){if(r=r||zn(n),e){var t=r[he(e)];return void 0===t&&(t=null),t}return r}}function Kn(t,n,r,e){return Me(e)?e(t,n,r):(ve(e,function(e){t=e(t,n,r)}),t)}function qn(e){return 200<=e&&e<300}function Wn(){var x=this.defaults={transformResponse:[Un],transformRequest:[function(e){return!xe(e)||function(e){return"[object File]"===me.call(e)}(e)||function(e){return"[object Blob]"===me.call(e)}(e)||function(e){return"[object FormData]"===me.call(e)}(e)?e:z(e)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:qe(Pn),put:qe(Pn),patch:qe(Pn)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},S=!1;this.useApplyAsync=function(e){return E(e)?(S=!!e,this):S};var t=this.interceptors=[],n=this.xsrfWhitelistedOrigins=[];this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(s,h,m,e,v,g,c,y){var k=e("$http");x.paramSerializer=Se(x.paramSerializer)?c.get(x.paramSerializer):x.paramSerializer;var u=[];ve(t,function(e){u.unshift(Se(e)?c.get(e):c.invoke(e))});var b=function(e){var n=[fi].concat(e.map(hi));return function(e){var t=hi(e);return n.some(mi.bind(null,t))}}(n);function w(e){if(!xe(e))throw C("$http")("badreq","Http request configuration must be an object. Received: {0}",e);if(!Se(y.valueOf(e.url)))throw C("$http")("badreq","Http request configuration url must be a string or a $sce trusted object. Received: {0}",e.url);var n=ge({method:"get",transformRequest:x.transformRequest,transformResponse:x.transformResponse,paramSerializer:x.paramSerializer,jsonpCallbackParam:x.jsonpCallbackParam},e);n.headers=function(e){var t,n,r,i=x.headers,a=ge({},e.headers);i=ge({},i.common,i[he(e.method)]);e:for(t in i){for(r in n=he(t),a)if(he(r)===n)continue e;a[t]=i[t]}return function(e,n){var r,i={};return ve(e,function(e,t){Me(e)?null!=(r=e(n))&&(i[t]=r):i[t]=e}),i}(a,qe(e))}(e),n.method=f(n.method),n.paramSerializer=Se(n.paramSerializer)?c.get(n.paramSerializer):n.paramSerializer,s.$$incOutstandingRequestCount("$http");var t=[],r=[],i=g.resolve(n);return ve(u,function(e){(e.request||e.requestError)&&t.unshift(e.request,e.requestError),(e.response||e.responseError)&&r.push(e.response,e.responseError)}),i=(i=a(i=(i=a(i,t)).then(function(e){var n=e.headers,t=Kn(e.data,Vn(n),void 0,e.transformRequest);we(t)&&ve(n,function(e,t){"content-type"===he(t)&&delete n[t]});we(e.withCredentials)&&!we(x.withCredentials)&&(e.withCredentials=x.withCredentials);return function(a,e){var o,t,s=g.defer(),n=s.promise,r=a.headers,i="jsonp"===he(a.method),c=a.url;i?c=y.getTrustedResourceUrl(c):Se(c)||(c=y.valueOf(c));c=function(e,t){0<t.length&&(e+=(-1===e.indexOf("?")?"?":"&")+t);return e}(c,a.paramSerializer(a.params)),i&&(c=function(n,r){var e=n.split("?");if(2<e.length)throw Nn("badjsonp",'Illegal use more than one "?", in url, "{1}"',n);return ve(Y(e[1]),function(e,t){if("JSON_CALLBACK"===e)throw Nn("badjsonp",'Illegal use of JSON_CALLBACK in url, "{0}"',n);if(t===r)throw Nn("badjsonp",'Illegal use of callback param, "{0}", in url, "{1}"',r,n)}),n+=(-1===n.indexOf("?")?"?":"&")+r+"=JSON_CALLBACK"}(c,a.jsonpCallbackParam));w.pendingRequests.push(a),n.then(p,p),!a.cache&&!x.cache||!1===a.cache||"GET"!==a.method&&"JSONP"!==a.method||(o=xe(a.cache)?a.cache:xe(x.cache)?x.cache:k);o&&(E(t=o.get(c))?I(t)?t.then(f,f):$e(t)?d(t[1],t[0],qe(t[2]),t[3],t[4]):d(t,200,{},"OK","complete"):o.put(c,n));if(we(t)){var u=b(a.url)?m()[a.xsrfCookieName||x.xsrfCookieName]:void 0;u&&(r[a.xsrfHeaderName||x.xsrfHeaderName]=u),h(a.method,c,e,function(e,t,n,r,i){o&&(qn(e)?o.put(c,[e,t,zn(n),r,i]):o.remove(c));function a(){d(t,e,n,r,i)}S?v.$applyAsync(a):(a(),v.$$phase||v.$apply())},r,a.timeout,a.withCredentials,a.responseType,l(a.eventHandlers),l(a.uploadEventHandlers))}return n;function l(e){if(e){var t={};return ve(e,function(n,e){t[e]=function(e){function t(){n(e)}S?v.$applyAsync(t):v.$$phase?t():v.$apply(t)}}),t}}function d(e,t,n,r,i){(qn(t=-1<=t?t:0)?s.resolve:s.reject)({data:e,status:t,headers:Vn(n),config:a,statusText:r,xhrStatus:i})}function f(e){d(e.data,e.status,qe(e.headers()),e.statusText,e.xhrStatus)}function p(){var e=w.pendingRequests.indexOf(a);-1!==e&&w.pendingRequests.splice(e,1)}}(e,t).then(o,o)}),r)).finally(function(){s.$$completeOutstandingRequest(ke,"$http")});function a(e,t){for(var n=0,r=t.length;n<r;){var i=t[n++],a=t[n++];e=e.then(i,a)}return t.length=0,e}function o(e){var t=ge({},e);return t.data=Kn(e.data,e.headers,e.status,n.transformResponse),qn(e.status)?t:g.reject(t)}}return w.pendingRequests=[],function(e){ve(arguments,function(n){w[n]=function(e,t){return w(ge({},t||{},{method:n,url:e}))}})}("get","delete","head","jsonp"),function(e){ve(arguments,function(r){w[r]=function(e,t,n){return w(ge({},n||{},{method:r,url:e,data:t}))}})}("post","put","patch"),w.defaults=x,w}]}function Jn(){this.$get=function(){return function(){return new le.XMLHttpRequest}}}function Gn(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(e,t,n,r){return function(g,y,k,b,w){return function(e,r,t,i,n,a,o,s,c,u){if(r=r||g.url(),"jsonp"===he(e))var l=b.createCallback(r),d=function(e,r,i){e=e.replace("JSON_CALLBACK",r);var a=w.createElement("script"),o=null;return a.type="text/javascript",a.src=e,a.async=!0,o=function(e){a.removeEventListener("load",o),a.removeEventListener("error",o),w.body.removeChild(a),a=null;var t=-1,n="unknown";e&&("load"!==e.type||b.wasCalled(r)||(e={type:"error"}),n=e.type,t="error"===e.type?404:200),i&&i(t,n)},a.addEventListener("load",o),a.addEventListener("error",o),w.body.appendChild(a),o}(r,l,function(e,t){var n=200===e&&b.getResponse(l);v(i,e,n,"",t,"complete"),b.removeCallback(l)});else{var f=y(e,r),p=!1;f.open(e,r,!0),ve(n,function(e,t){E(e)&&f.setRequestHeader(t,e)}),f.onload=function(){var e=f.statusText||"",t="response"in f?f.response:f.responseText,n=1223===f.status?204:f.status;0===n&&(n=t?200:"file"===hi(r).protocol?404:0),v(i,n,t,f.getAllResponseHeaders(),e,"complete")};if(f.onerror=function(){v(i,-1,null,null,"","error")},f.ontimeout=function(){v(i,-1,null,null,"","timeout")},f.onabort=function(){v(i,-1,null,null,"",p?"timeout":"abort")},ve(c,function(e,t){f.addEventListener(t,e)}),ve(u,function(e,t){f.upload.addEventListener(t,e)}),o&&(f.withCredentials=!0),s)try{f.responseType=s}catch(e){if("json"!==s)throw e}f.send(we(t)?null:t)}if(0<a)var h=k(function(){m("timeout")},a);else I(a)&&a.then(function(){m(E(a.$$timeoutId)?"timeout":"abort")});function m(e){p="timeout"===e,d&&d(),f&&f.abort()}function v(e,t,n,r,i,a){E(h)&&k.cancel(h),d=f=null,e(t,n,r,i,a)}}}(e,r,e.defer,t,n[0])}]}var Yn=k.$interpolateMinErr=C("$interpolate");function Xn(){var M="{{",I="}}";this.startSymbol=function(e){return e?(M=e,this):M},this.endSymbol=function(e){return e?(I=e,this):I},this.$get=["$parse","$exceptionHandler","$sce",function(k,b,w){var x=M.length,S=I.length,t=new RegExp(M.replace(/./g,e),"g"),n=new RegExp(I.replace(/./g,e),"g");function e(e){return"\\\\\\"+e}function $(e){return e.replace(t,M).replace(n,I)}function _(e,t,n,r){var i=e.$watch(function(e){return i(),r(e)},t,n);return i}function r(i,e,r,a){var o=r===w.URL||r===w.MEDIA_URL;if(!i.length||-1===i.indexOf(M)){if(e)return;var t=$(i);o&&(t=w.getTrusted(r,t));var n=D(t);return n.exp=i,n.expressions=[],n.$$watchDelegate=_,n}a=!!a;for(var s,c,u,l,d,f=0,p=[],h=i.length,m=[],v=[];f<h;){if(-1===(s=i.indexOf(M,f))||-1===(c=i.indexOf(I,s+x))){f!==h&&m.push($(i.substring(f)));break}f!==s&&m.push($(i.substring(f,s))),l=i.substring(s+x,c),p.push(l),f=c+S,v.push(m.length),m.push("")}d=1===m.length&&1===v.length;var g=o&&d?void 0:function(e){try{return e=r&&!o?w.getTrusted(r,e):w.valueOf(e),a&&!E(e)?e:He(e)}catch(e){b(Yn.interr(i,e))}};if(u=p.map(function(e){return k(e,g)}),!e||p.length){var y=function(e){for(var t=0,n=p.length;t<n;t++){if(a&&we(e[t]))return;m[v[t]]=e[t]}return o?w.getTrusted(r,d?m[0]:m.join("")):(r&&1<m.length&&Yn.throwNoconcat(i),m.join(""))};return ge(function(e){var t=0,n=p.length,r=new Array(n);try{for(;t<n;t++)r[t]=u[t](e);return y(r)}catch(e){b(Yn.interr(i,e))}},{exp:i,expressions:p,$$watchDelegate:function(r,i){var a;return r.$watchGroup(u,function(e,t){var n=y(e);i.call(this,n,e!==t?a:n,r),a=n})}})}}return r.startSymbol=function(){return M},r.endSymbol=function(){return I},r}]}Yn.throwNoconcat=function(e){throw Yn("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)},Yn.interr=function(e,t){return Yn("interr","Can't interpolate: {0}\n{1}",e,t.toString())};var Zn=C("$interval");function Qn(){this.$get=["$$intervalFactory","$window",function(e,i){function r(e){i.clearInterval(e),delete a[e]}var a={},t=e(function(e,t,n){var r=i.setInterval(e,t);return a[r]=n,r},r);return t.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$intervalId"))throw Zn("badprom","`$interval.cancel()` called with a promise that was not generated by `$interval()`.");if(!a.hasOwnProperty(e.$$intervalId))return!1;var t=e.$$intervalId,n=a[t];return Kr(n.promise),n.reject("canceled"),r(t),!0},t}]}function er(){this.$get=["$browser","$q","$$q","$rootScope",function(p,h,m,v){return function(d,f){return function(e,t,n,r){var i=4<arguments.length,a=i?Pe(arguments,4):[],o=0,s=E(r)&&!r,c=(s?m:h).defer(),u=c.promise;function l(){i?e.apply(null,a):e(o)}return n=E(n)?n:0,u.$$intervalId=d(function(){s?p.defer(l):v.$evalAsync(l),c.notify(o++),0<n&&n<=o&&(c.resolve(o),f(u.$$intervalId)),s||v.$apply()},t,c,s),u}}}]}function tr(){this.$get=function(){var i=k.callbacks,a={};return{createCallback:function(e){var t="_"+(i.$$counter++).toString(36),n="angular.callbacks."+t,r=function(e){var t=function(e){t.data=e,t.called=!0};return t.id=e,t}(t);return a[n]=i[t]=r,n},wasCalled:function(e){return a[e].called},getResponse:function(e){return a[e].data},removeCallback:function(e){var t=a[e];delete i[t.id],delete a[e]}}}}var nr=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,rr={http:80,https:443,ftp:21},ir=C("$location");function ar(e,t,n){var r=function(e){var n=[];return ve(e,function(e,t){$e(e)?ve(e,function(e){n.push(Z(t,!0)+(!0===e?"":"="+Z(e,!0)))}):n.push(Z(t,!0)+(!0===e?"":"="+Z(e,!0)))}),n.length?n.join("&"):""}(t),i=n?"#"+X(n):"";return function(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=X(t[n].replace(/%2F/g,"/"));return t.join("/")}(e)+(r?"?"+r:"")+i}function or(e,t){var n=hi(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=y(n.port)||rr[n.protocol]||null}var sr=/^\s*[\\/]{2,}/;function cr(e,t,n){if(sr.test(e))throw ir("badpath",'Invalid url "{0}".',e);var r="/"!==e.charAt(0);r&&(e="/"+e);var i=hi(e),a=r&&"/"===i.pathname.charAt(0)?i.pathname.substring(1):i.pathname;t.$$path=function(e,t){for(var n=e.split("/"),r=n.length;r--;)n[r]=decodeURIComponent(n[r]),t&&(n[r]=n[r].replace(/\//g,"%2F"));return n.join("/")}(a,n),t.$$search=Y(i.search),t.$$hash=decodeURIComponent(i.hash),t.$$path&&"/"!==t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function ur(e,t){return e.slice(0,t.length)===t}function lr(e,t){if(ur(t,e))return t.substr(e.length)}function dr(e){var t=e.indexOf("#");return-1===t?e:e.substr(0,t)}function fr(a,o,s){this.$$html5=!0,s=s||"",or(a,this),this.$$parse=function(e){var t=lr(o,e);if(!Se(t))throw ir("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,o);cr(t,this,!0),this.$$path||(this.$$path="/"),this.$$compose()},this.$$normalizeUrl=function(e){return o+e.substr(1)},this.$$parseLinkUrl=function(e,t){return t&&"#"===t[0]?(this.hash(t.slice(1)),!0):(E(n=lr(a,e))?(r=n,i=s&&E(n=lr(s,n))?o+(lr("/",n)||n):a+r):E(n=lr(o,e))?i=o+n:o===e+"/"&&(i=o),i&&this.$$parse(i),!!i);var n,r,i}}function pr(r,i,a){or(r,this),this.$$parse=function(e){var t,n=lr(r,e)||lr(i,e);we(n)||"#"!==n.charAt(0)?this.$$html5?t=n:(t="",we(n)&&(r=e,this.replace())):we(t=lr(a,n))&&(t=n),cr(t,this,!1),this.$$path=function(e,t,n){var r,i=/^\/[A-Z]:(\/.*)/;ur(t,n)&&(t=t.replace(n,""));if(i.exec(t))return e;return(r=i.exec(e))?r[1]:e}(this.$$path,t,r),this.$$compose()},this.$$normalizeUrl=function(e){return r+(e?a+e:"")},this.$$parseLinkUrl=function(e,t){return dr(r)===dr(e)&&(this.$$parse(e),!0)}}function hr(i,a,o){this.$$html5=!0,pr.apply(this,arguments),this.$$parseLinkUrl=function(e,t){return t&&"#"===t[0]?(this.hash(t.slice(1)),!0):(i===dr(e)?n=e:(r=lr(a,e))?n=i+o+r:a===e+"/"&&(n=a),n&&this.$$parse(n),!!n);var n,r},this.$$normalizeUrl=function(e){return i+o+e}}var mr={$$absUrl:"",$$html5:!1,$$replace:!1,$$compose:function(){this.$$url=ar(this.$$path,this.$$search,this.$$hash),this.$$absUrl=this.$$normalizeUrl(this.$$url),this.$$urlUpdatedByLocation=!0},absUrl:vr("$$absUrl"),url:function(e){if(we(e))return this.$$url;var t=nr.exec(e);return!t[1]&&""!==e||this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:vr("$$protocol"),host:vr("$$host"),port:vr("$$port"),path:gr("$$path",function(e){return"/"===(e=null!==e?e.toString():"").charAt(0)?e:"/"+e}),search:function(n,e){switch(arguments.length){case 0:return this.$$search;case 1:if(Se(n)||x(n))n=n.toString(),this.$$search=Y(n);else{if(!xe(n))throw ir("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");ve(n=N(n,{}),function(e,t){null==e&&delete n[t]}),this.$$search=n}break;default:we(e)||null===e?delete this.$$search[n]:this.$$search[n]=e}return this.$$compose(),this},hash:gr("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};function vr(e){return function(){return this[e]}}function gr(t,n){return function(e){return we(e)?this[t]:(this[t]=n(e),this.$$compose(),this)}}function yr(){var m="!",v={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(e){return E(e)?(m=e,this):m},this.html5Mode=function(e){return Ce(e)?(v.enabled=e,this):xe(e)?(Ce(e.enabled)&&(v.enabled=e.enabled),Ce(e.requireBase)&&(v.requireBase=e.requireBase),(Ce(e.rewriteLinks)||Se(e.rewriteLinks))&&(v.rewriteLinks=e.rewriteLinks),this):v},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(o,s,t,a,e){var c,n,r,i=s.baseHref(),u=s.url();if(v.enabled){if(!i&&v.requireBase)throw ir("nobase","$location in HTML5 mode requires a <base> tag to be present!");r=function(e){return e.substring(0,e.indexOf("/",e.indexOf("//")+2))}(u)+(i||"/"),n=t.history?fr:hr}else r=dr(u),n=pr;var l=function(e){return e.substr(0,dr(e).lastIndexOf("/")+1)}(r);(c=new n(r,l,"#"+m)).$$parseLinkUrl(u,u),c.$$state=s.state();var d=/^\s*(javascript|mailto):/i;function f(e,t,n){var r=c.url(),i=c.$$state;try{s.url(e,t,n),c.$$state=s.state()}catch(e){throw c.url(r),c.$$state=i,e}}a.on("click",function(e){var t=v.rewriteLinks;if(t&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!==e.which&&2!==e.button){for(var n=fe(e.target);"a"!==Re(n[0]);)if(n[0]===a[0]||!(n=n.parent())[0])return;if(!Se(t)||!we(n.attr(t))){var r=n.prop("href"),i=n.attr("href")||n.attr("xlink:href");xe(r)&&"[object SVGAnimatedString]"===r.toString()&&(r=hi(r.animVal).href),d.test(r)||!r||n.attr("target")||e.isDefaultPrevented()||c.$$parseLinkUrl(r,i)&&(e.preventDefault(),c.absUrl()!==s.url()&&o.$apply())}}}),c.absUrl()!==u&&s.url(c.absUrl(),!0);var p=!0;return s.onUrlChange(function(r,i){ur(r,l)?(o.$evalAsync(function(){var e,t=c.absUrl(),n=c.$$state;c.$$parse(r),c.$$state=i,e=o.$broadcast("$locationChangeStart",r,t,i,n).defaultPrevented,c.absUrl()===r&&(e?(c.$$parse(t),f(t,!1,c.$$state=n)):(p=!1,h(t,n)))}),o.$$phase||o.$digest()):e.location.href=r}),o.$watch(function(){if(p||c.$$urlUpdatedByLocation){c.$$urlUpdatedByLocation=!1;var n=s.url(),e=c.absUrl(),r=s.state(),i=c.$$replace,a=!function(e,t){return e===t||hi(e).href===hi(t).href}(n,e)||c.$$html5&&t.history&&r!==c.$$state;(p||a)&&(p=!1,o.$evalAsync(function(){var e=c.absUrl(),t=o.$broadcast("$locationChangeStart",e,n,c.$$state,r).defaultPrevented;c.absUrl()===e&&(t?(c.$$parse(n),c.$$state=r):(a&&f(e,i,r===c.$$state?null:c.$$state),h(n,r)))}))}c.$$replace=!1}),c;function h(e,t){o.$broadcast("$locationChangeSuccess",c.absUrl(),e,c.$$state,t)}}]}function kr(){var r=!0,a=this;this.debugEnabled=function(e){return E(e)?(r=e,this):r},this.$get=["$window",function(t){var e,i=de||/\bEdge\//.test(t.navigator&&t.navigator.userAgent);return{log:n("log"),info:n("info"),warn:n("warn"),error:n("error"),debug:(e=n("debug"),function(){r&&e.apply(a,arguments)})};function n(e){var n=t.console||{},r=n[e]||n.log||ke;return function(){var t=[];return ve(arguments,function(e){t.push(function(e){return _e(e)&&(e.stack&&i?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}(e))}),Function.prototype.apply.call(r,n,t)}}}]}ve([hr,pr,fr],function(t){t.prototype=Object.create(mr),t.prototype.state=function(e){if(!arguments.length)return this.$$state;if(t!==fr||!this.$$html5)throw ir("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=we(e)?null:e,this.$$urlUpdatedByLocation=!0,this}});var br=C("$parse"),wr={}.constructor.prototype.valueOf;function xr(e){return e+""}var Sr=Be();ve("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){Sr[e]=!0});var $r={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},_r=function(e){this.options=e};_r.prototype={constructor:_r,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){var t=this.text.charAt(this.index);if('"'===t||"'"===t)this.readString(t);else if(this.isNumber(t)||"."===t&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(t,"(){}[].,;:?"))this.tokens.push({index:this.index,text:t}),this.index++;else if(this.isWhitespace(t))this.index++;else{var n=t+this.peek(),r=n+this.peek(2),i=Sr[t],a=Sr[n],o=Sr[r];if(i||a||o){var s=o?r:a?n:t;this.tokens.push({index:this.index,text:s,operator:!0}),this.index+=s.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(e,t){return-1!==t.indexOf(e)},peek:function(e){var t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)},isNumber:function(e){return"0"<=e&&e<="9"&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\v"===e||" "===e},isIdentifierStart:function(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):this.isValidIdentifierStart(e)},isValidIdentifierStart:function(e){return"a"<=e&&e<="z"||"A"<=e&&e<="Z"||"_"===e||"$"===e},isIdentifierContinue:function(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):this.isValidIdentifierContinue(e)},isValidIdentifierContinue:function(e,t){return this.isValidIdentifierStart(e,t)||this.isNumber(e)},codePointAt:function(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888},peekMultichar:function(){var e=this.text.charAt(this.index),t=this.peek();if(!t)return e;var n=e.charCodeAt(0),r=t.charCodeAt(0);return 55296<=n&&n<=56319&&56320<=r&&r<=57343?e+t:e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var r=E(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw br("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,r,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=he(this.text.charAt(this.index));if("."===n||this.isNumber(n))e+=n;else{var r=this.peek();if("e"===n&&this.isExpOperator(r))e+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"===e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!==e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){var e=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var t=this.peekMultichar();if(!this.isIdentifierContinue(t))break;this.index+=t.length}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})},readString:function(e){var t=this.index;this.index++;for(var n="",r=e,i=!1;this.index<this.text.length;){var a=this.text.charAt(this.index);if(r+=a,i){if("u"===a){var o=this.text.substring(this.index+1,this.index+5);o.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+o+"]"),this.index+=4,n+=String.fromCharCode(parseInt(o,16))}else{n+=$r[a]||a}i=!1}else if("\\"===a)i=!0;else{if(a===e)return this.index++,void this.tokens.push({index:t,text:r,constant:!0,value:n});n+=a}this.index++}this.throwError("Unterminated quote",t)}};var Mr=function(e,t){this.lexer=e,this.options=t};function Ir(e,t){return void 0!==e?e:t}function Cr(e,t){return void 0===e?t:void 0===t?e:e+t}Mr.Program="Program",Mr.ExpressionStatement="ExpressionStatement",Mr.AssignmentExpression="AssignmentExpression",Mr.ConditionalExpression="ConditionalExpression",Mr.LogicalExpression="LogicalExpression",Mr.BinaryExpression="BinaryExpression",Mr.UnaryExpression="UnaryExpression",Mr.CallExpression="CallExpression",Mr.MemberExpression="MemberExpression",Mr.Identifier="Identifier",Mr.Literal="Literal",Mr.ArrayExpression="ArrayExpression",Mr.Property="Property",Mr.ObjectExpression="ObjectExpression",Mr.ThisExpression="ThisExpression",Mr.LocalsExpression="LocalsExpression",Mr.NGValueParameter="NGValueParameter",Mr.prototype={ast:function(e){this.text=e,this.tokens=this.lexer.lex(e);var t=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),t},program:function(){for(var e=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:Mr.Program,body:e}},expressionStatement:function(){return{type:Mr.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e=this.expression();this.expect("|");)e=this.filter(e);return e},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();if(this.expect("=")){if(!Or(e))throw br("lval","Trying to assign a value to a non l-value");e={type:Mr.AssignmentExpression,left:e,right:this.assignment(),operator:"="}}return e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:Mr.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:Mr.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:Mr.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:Mr.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:Mr.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:Mr.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:Mr.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:Mr.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e,t;for(this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?e=N(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?e={type:Mr.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());t=this.expect("(","[",".");)"("===t.text?(e={type:Mr.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:Mr.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:Mr.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){for(var t=[e],n={type:Mr.CallExpression,callee:this.identifier(),arguments:t,filter:!0};this.expect(":");)t.push(this.expression());return n},parseArguments:function(){var e=[];if(")"!==this.peekToken().text)for(;e.push(this.filterChain()),this.expect(","););return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:Mr.Identifier,name:e.text}},constant:function(){return{type:Mr.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:Mr.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:Mr.Property,kind:"init"},this.peek().constant?(e.key=this.constant(),e.computed=!1,this.consume(":"),e.value=this.expression()):this.peek().identifier?(e.key=this.identifier(),e.computed=!1,this.peek(":")?(this.consume(":"),e.value=this.expression()):e.value=e.key):this.peek("[")?(this.consume("["),e.key=this.expression(),this.consume("]"),e.computed=!0,this.consume(":"),e.value=this.expression()):this.throwError("invalid key",this.peek()),t.push(e)}while(this.expect(","));return this.consume("}"),{type:Mr.ObjectExpression,properties:t}},throwError:function(e,t){throw br("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw br("ueoe","Unexpected end of expression: {0}",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw br("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e,t,n,r){return this.peekAhead(0,e,t,n,r)},peekAhead:function(e,t,n,r,i){if(this.tokens.length>e){var a=this.tokens[e],o=a.text;if(o===t||o===n||o===r||o===i||!t&&!n&&!r&&!i)return a}return!1},expect:function(e,t,n,r){var i=this.peek(e,t,n,r);return!!i&&(this.tokens.shift(),i)},selfReferential:{this:{type:Mr.ThisExpression},$locals:{type:Mr.LocalsExpression}}};var Ar=1,Rr=2;function Dr(e,t,n){var r,i,a,o=e.isPure=function(e,t){switch(e.type){case Mr.MemberExpression:if(e.computed)return!1;break;case Mr.UnaryExpression:return Ar;case Mr.BinaryExpression:return"+"!==e.operator&&Ar;case Mr.CallExpression:return!1}return void 0===t?Rr:t}(e,n);switch(e.type){case Mr.Program:r=!0,ve(e.body,function(e){Dr(e.expression,t,o),r=r&&e.expression.constant}),e.constant=r;break;case Mr.Literal:e.constant=!0,e.toWatch=[];break;case Mr.UnaryExpression:Dr(e.argument,t,o),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case Mr.BinaryExpression:Dr(e.left,t,o),Dr(e.right,t,o),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case Mr.LogicalExpression:Dr(e.left,t,o),Dr(e.right,t,o),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case Mr.ConditionalExpression:Dr(e.test,t,o),Dr(e.alternate,t,o),Dr(e.consequent,t,o),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case Mr.Identifier:e.constant=!1,e.toWatch=[e];break;case Mr.MemberExpression:Dr(e.object,t,o),e.computed&&Dr(e.property,t,o),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=e.constant?[]:[e];break;case Mr.CallExpression:a=!!e.filter&&function(e,t){return!e(t).$stateful}(t,e.callee.name),r=a,i=[],ve(e.arguments,function(e){Dr(e,t,o),r=r&&e.constant,i.push.apply(i,e.toWatch)}),e.constant=r,e.toWatch=a?i:[e];break;case Mr.AssignmentExpression:Dr(e.left,t,o),Dr(e.right,t,o),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case Mr.ArrayExpression:r=!0,i=[],ve(e.elements,function(e){Dr(e,t,o),r=r&&e.constant,i.push.apply(i,e.toWatch)}),e.constant=r,e.toWatch=i;break;case Mr.ObjectExpression:r=!0,i=[],ve(e.properties,function(e){Dr(e.value,t,o),r=r&&e.value.constant,i.push.apply(i,e.value.toWatch),e.computed&&(Dr(e.key,t,!1),r=r&&e.key.constant,i.push.apply(i,e.key.toWatch))}),e.constant=r,e.toWatch=i;break;case Mr.ThisExpression:case Mr.LocalsExpression:e.constant=!1,e.toWatch=[]}}function Er(e){if(1===e.length){var t=e[0].expression,n=t.toWatch;return 1!==n.length?n:n[0]!==t?n:void 0}}function Or(e){return e.type===Mr.Identifier||e.type===Mr.MemberExpression}function Pr(e){if(1===e.body.length&&Or(e.body[0].expression))return{type:Mr.AssignmentExpression,left:e.body[0].expression,right:{type:Mr.NGValueParameter},operator:"="}}function Tr(e){this.$filter=e}function Fr(e){this.$filter=e}function Lr(e,t,n){this.ast=new Mr(e,n),this.astCompiler=n.csp?new Fr(t):new Tr(t)}function Nr(e){return Me(e.valueOf)?e.valueOf():wr.call(e)}function Br(){var s,c,u=Be(),l={true:!0,false:!1,null:null,undefined:void 0};this.addLiteral=function(e,t){l[e]=t},this.setIdentifierFns=function(e,t){return s=e,c=t,this},this.$get=["$filter",function(i){var a={csp:B().noUnsafeEval,literals:N(l),isIdentifierStart:Me(s)&&s,isIdentifierContinue:Me(c)&&c};return e.$$getAst=function(e){return new Lr(new _r(a),i,a).getAst(e).ast},e;function e(e,t){var n,r;switch(typeof e){case"string":if(e=e.trim(),!(n=u[r=e]))n=new Lr(new _r(a),i,a).parse(e),u[r]=h(n);return o(n,t);case"function":return o(e,t);default:return o(ke,t)}}function f(e,t,n){return null==e||null==t?e===t:!("object"==typeof e&&"object"==typeof(e=Nr(e))&&!n)&&(e===t||e!=e&&t!=t)}function t(e,t,n,a,r){var o,s=a.inputs;if(1===s.length){var i=f;return s=s[0],e.$watch(function(e){var t=s(e);return f(t,i,s.isPure)||(o=a(e,void 0,void 0,[t]),i=t&&Nr(t)),o},t,n,r)}for(var c=[],u=[],l=0,d=s.length;l<d;l++)c[l]=f,u[l]=null;return e.$watch(function(e){for(var t=!1,n=0,r=s.length;n<r;n++){var i=s[n](e);(t=t||!f(i,c[n],s[n].isPure))&&(u[n]=i,c[n]=i&&Nr(i))}return t&&(o=a(e,void 0,void 0,u)),o},t,n,r)}function n(e,t,n,r,i){var a,o,s=r.literal?p:E,c=r.$$intercepted||r,u=r.$$interceptor||be,l=r.inputs&&!c.inputs;return f.literal=r.literal,f.constant=r.constant,f.inputs=r.inputs,h(f),a=e.$watch(f,t,n,i);function d(){s(o)&&a()}function f(e,t,n,r){return o=l&&r?r[0]:c(e,t,n,r),s(o)&&e.$$postDigest(d),u(o)}}function p(e){var t=!0;return ve(e,function(e){E(e)||(t=!1)}),t}function r(e,t,n,r){var i=e.$watch(function(e){return i(),r(e)},t,n);return i}function h(e){return e.constant?e.$$watchDelegate=r:e.oneTime?e.$$watchDelegate=n:e.inputs&&(e.$$watchDelegate=t),e}function o(a,o){if(!o)return a;a.$$interceptor&&(o=function(t,n){function e(e){return n(t(e))}return e.$stateful=t.$stateful||n.$stateful,e.$$pure=t.$$pure&&n.$$pure,e}(a.$$interceptor,o),a=a.$$intercepted);function e(e,t,n,r){var i=s&&r?r[0]:a(e,t,n,r);return o(i)}var s=!1;return e.$$intercepted=a,e.$$interceptor=o,e.literal=a.literal,e.oneTime=a.oneTime,e.constant=a.constant,o.$stateful||(s=!a.inputs,e.inputs=a.inputs?a.inputs:[a],o.$$pure||(e.inputs=e.inputs.map(function(t){return t.isPure===Rr?function(e){return t(e)}:t}))),h(e)}}]}function Hr(){var n=!0;this.$get=["$rootScope","$exceptionHandler",function(t,e){return Ur(function(e){t.$evalAsync(e)},e,n)}],this.errorOnUnhandledRejections=function(e){return E(e)?(n=e,this):n}}function jr(){var n=!0;this.$get=["$browser","$exceptionHandler",function(t,e){return Ur(function(e){t.defer(e)},e,n)}],this.errorOnUnhandledRejections=function(e){return E(e)?(n=e,this):n}}function Ur(o,s,c){var n=C("$q",TypeError),u=0,r=[];function i(){return new e}function e(){var t=this.promise=new a;this.resolve=function(e){f(t,e)},this.reject=function(e){p(t,e)},this.notify=function(e){m(t,e)}}function a(){this.$$state={status:0}}function l(){for(;!u&&r.length;){var e=r.shift();if(!zr(e)){Vr(e);var t="Possibly unhandled rejection: "+We(e.value);_e(e.value)?s(e.value,t):s(t)}}}function d(e){!c||e.pending||2!==e.status||zr(e)||(0===u&&0===r.length&&o(l),r.push(e)),!e.processScheduled&&e.pending&&(e.processScheduled=!0,++u,o(function(){!function(e){var t,n,r;r=e.pending,e.processScheduled=!1,e.pending=void 0;try{for(var i=0,a=r.length;i<a;++i){Vr(e),n=r[i][0],t=r[i][e.status];try{Me(t)?f(n,t(e.value)):1===e.status?f(n,e.value):p(n,e.value)}catch(e){p(n,e),e&&!0===e.$$passToExceptionHandler&&s(e)}}}finally{--u,c&&0===u&&o(l)}}(e)}))}function f(e,t){e.$$state.status||(t===e?h(e,n("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):function t(n,e){var r;var i=!1;try{(xe(e)||Me(e))&&(r=e.then),Me(r)?(n.$$state.status=-1,r.call(e,a,o,s)):(n.$$state.value=e,n.$$state.status=1,d(n.$$state))}catch(e){o(e)}function a(e){i||(i=!0,t(n,e))}function o(e){i||(i=!0,h(n,e))}function s(e){m(n,e)}}(e,t))}function p(e,t){e.$$state.status||h(e,t)}function h(e,t){e.$$state.value=t,e.$$state.status=2,d(e.$$state)}function m(e,i){var a=e.$$state.pending;e.$$state.status<=0&&a&&a.length&&o(function(){for(var e,t,n=0,r=a.length;n<r;n++){t=a[n][0],e=a[n][3];try{m(t,Me(e)?e(i):i)}catch(e){s(e)}}})}function v(e){var t=new a;return p(t,e),t}function g(e,t,n){var r=null;try{Me(n)&&(r=n())}catch(e){return v(e)}return I(r)?r.then(function(){return t(e)},v):t(e)}function y(e,t,n,r){var i=new a;return f(i,e),i.then(t,n,r)}ge(a.prototype,{then:function(e,t,n){if(we(e)&&we(t)&&we(n))return this;var r=new a;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,e,t,n]),0<this.$$state.status&&d(this.$$state),r},catch:function(e){return this.then(null,e)},finally:function(t,e){return this.then(function(e){return g(e,k,t)},function(e){return g(e,v,t)},e)}});var k=y;function t(e){if(!Me(e))throw n("norslvr","Expected resolverFn, got '{0}'",e);var t=new a;return e(function(e){f(t,e)},function(e){p(t,e)}),t}return t.prototype=a.prototype,t.defer=i,t.reject=v,t.when=y,t.resolve=k,t.all=function(e){var n=new a,r=0,i=$e(e)?[]:{};return ve(e,function(e,t){r++,y(e).then(function(e){i[t]=e,--r||f(n,i)},function(e){p(n,e)})}),0===r&&f(n,i),n},t.race=function(e){var t=i();return ve(e,function(e){y(e).then(t.resolve,t.reject)}),t.promise},t}function zr(e){return!!e.pur}function Vr(e){e.pur=!0}function Kr(e){e.$$state&&Vr(e.$$state)}function qr(){this.$get=["$window","$timeout",function(e,n){var r=e.requestAnimationFrame||e.webkitRequestAnimationFrame,i=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,t=!!r,a=t?function(e){var t=r(e);return function(){i(t)}}:function(e){var t=n(e,16.66,!1);return function(){n.cancel(t)}};return a.supported=t,a}]}function Wr(){var $=10,_=C("$rootScope"),M=null,I=null;this.digestTtl=function(e){return arguments.length&&($=e),$},this.$get=["$exceptionHandler","$parse","$browser",function(p,h,m){function r(e){e.currentScope.$$destroyed=!0}function i(){this.$id=A(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,(this.$root=this).$$destroyed=!1,this.$$suspended=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}i.prototype={constructor:i,$new:function(e,t){var n;return t=t||this,e?(n=new i).$root=this.$root:(this.$$ChildScope||(this.$$ChildScope=function(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=A(),this.$$ChildScope=null,this.$$suspended=!1}return t.prototype=e,t}(this)),n=new this.$$ChildScope),n.$parent=t,n.$$prevSibling=t.$$childTail,t.$$childHead?(t.$$childTail.$$nextSibling=n,t.$$childTail=n):t.$$childHead=t.$$childTail=n,!e&&t===this||n.$on("$destroy",r),n},$watch:function(e,t,n,r){var i=h(e),a=Me(t)?t:ke;if(i.$$watchDelegate)return i.$$watchDelegate(this,a,n,i,e);var o=this,s=o.$$watchers,c={fn:a,last:x,get:i,exp:r||e,eq:!!n};return M=null,s||((s=o.$$watchers=[]).$$digestWatchIndex=-1),s.unshift(c),s.$$digestWatchIndex++,u(this,1),function(){var e=De(s,c);0<=e&&(u(o,-1),e<s.$$digestWatchIndex&&s.$$digestWatchIndex--),M=null}},$watchGroup:function(t,r){var i=new Array(t.length),a=new Array(t.length),o=[],s=this,c=!1,n=!0;if(!t.length){var e=!0;return s.$evalAsync(function(){e&&r(a,a,s)}),function(){e=!1}}if(1===t.length)return this.$watch(t[0],function(e,t,n){a[0]=e,i[0]=t,r(a,e===t?a:i,n)});function u(){c=!1;try{n?(n=!1,r(a,a,s)):r(a,i,s)}finally{for(var e=0;e<t.length;e++)i[e]=a[e]}}return ve(t,function(e,t){var n=s.$watch(e,function(e){a[t]=e,c||(c=!0,s.$evalAsync(u))});o.push(n)}),function(){for(;o.length;)o.shift()()}},$watchCollection:function(e,n){p.$$pure=h(e).literal,p.$stateful=!p.$$pure;var o,s,r,i=this,a=1<n.length,c=0,t=h(e,p),u=[],l={},d=!0,f=0;function p(e){var t,n,r,i;if(!we(o=e)){if(xe(o))if(T(o)){s!==u&&(f=(s=u).length=0,c++),t=o.length,f!==t&&(c++,s.length=f=t);for(var a=0;a<t;a++)i=s[a],r=o[a],i!=i&&r!=r||i===r||(c++,s[a]=r)}else{for(n in s!==l&&(s=l={},f=0,c++),t=0,o)pe.call(o,n)&&(t++,r=o[n],i=s[n],n in s?i!=i&&r!=r||i===r||(c++,s[n]=r):(f++,s[n]=r,c++));if(t<f)for(n in c++,s)pe.call(o,n)||(f--,delete s[n])}else s!==o&&(s=o,c++);return c}}return this.$watch(t,function(){if(d?(d=!1,n(o,o,i)):n(o,r,i),a)if(xe(o))if(T(o)){r=new Array(o.length);for(var e=0;e<o.length;e++)r[e]=o[e]}else for(var t in r={},o)pe.call(o,t)&&(r[t]=o[t]);else r=o})},$digest:function(){var e,t,n,r,i,a,o,s,c,u=$,l=g.length?v:this,d=[];b("$digest"),m.$$checkUrlChange(),this===v&&null!==I&&(m.defer.cancel(I),S()),M=null;do{i=!1,o=l;for(var f=0;f<g.length;f++){try{(0,(c=g[f]).fn)(c.scope,c.locals)}catch(e){p(e)}M=null}g.length=0;e:do{if(r=!o.$$suspended&&o.$$watchers)for(r.$$digestWatchIndex=r.length;r.$$digestWatchIndex--;)try{if(e=r[r.$$digestWatchIndex])if((t=(0,e.get)(o))===(n=e.last)||(e.eq?Oe(t,n):R(t)&&R(n))){if(e===M){i=!1;break e}}else i=!0,(M=e).last=e.eq?N(t,null):t,(0,e.fn)(t,n===x?t:n,o),u<5&&(d[s=4-u]||(d[s]=[]),d[s].push({msg:Me(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:t,oldVal:n}))}catch(e){p(e)}if(!(a=!o.$$suspended&&o.$$watchersCount&&o.$$childHead||o!==l&&o.$$nextSibling))for(;o!==l&&!(a=o.$$nextSibling);)o=o.$parent}while(o=a);if((i||g.length)&&!u--)throw w(),_("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",$,d)}while(i||g.length);for(w();k<y.length;)try{y[k++]()}catch(e){p(e)}y.length=k=0,m.$$checkUrlChange()},$suspend:function(){this.$$suspended=!0},$isSuspended:function(){return this.$$suspended},$resume:function(){this.$$suspended=!1},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;for(var t in this.$broadcast("$destroy"),this.$$destroyed=!0,this===v&&m.$$applicationDestroyed(),u(this,-this.$$watchersCount),this.$$listenerCount)a(this,this.$$listenerCount[t],t);e&&e.$$childHead===this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail===this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=ke,this.$on=this.$watch=this.$watchGroup=function(){return ke},this.$$listeners={},this.$$nextSibling=null,function e(t){9===de&&(t.$$childHead&&e(t.$$childHead),t.$$nextSibling&&e(t.$$nextSibling)),t.$parent=t.$$nextSibling=t.$$prevSibling=t.$$childHead=t.$$childTail=t.$root=t.$$watchers=null}(this)}},$eval:function(e,t){return h(e)(this,t)},$evalAsync:function(e,t){v.$$phase||g.length||m.defer(function(){g.length&&v.$digest()},null,"$evalAsync"),g.push({scope:this,fn:h(e),locals:t})},$$postDigest:function(e){y.push(e)},$apply:function(e){try{b("$apply");try{return this.$eval(e)}finally{w()}}catch(e){p(e)}finally{try{v.$digest()}catch(e){throw p(e),e}}},$applyAsync:function(e){var t=this;e&&n.push(function(){t.$eval(e)}),e=h(e),null===I&&(I=m.defer(function(){v.$apply(S)},null,"$applyAsync"))},$on:function(t,n){var r=this.$$listeners[t];r||(this.$$listeners[t]=r=[]),r.push(n);for(var e=this;e.$$listenerCount[t]||(e.$$listenerCount[t]=0),e.$$listenerCount[t]++,e=e.$parent;);var i=this;return function(){var e=r.indexOf(n);-1!==e&&(delete r[e],a(i,1,t))}},$emit:function(e,t){var n,r,i,a=[],o=this,s=!1,c={name:e,targetScope:o,stopPropagation:function(){s=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},u=j([c],arguments,1);do{for(n=o.$$listeners[e]||a,c.currentScope=o,r=0,i=n.length;r<i;r++)if(n[r])try{n[r].apply(null,u)}catch(e){p(e)}else n.splice(r,1),r--,i--;if(s)break;o=o.$parent}while(o);return c.currentScope=null,c},$broadcast:function(e,t){var n=this,r=this,i={name:e,targetScope:this,preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[e])return i;for(var a,o,s,c=j([i],arguments,1);n=r;){for(o=0,s=(a=(i.currentScope=n).$$listeners[e]||[]).length;o<s;o++)if(a[o])try{a[o].apply(null,c)}catch(e){p(e)}else a.splice(o,1),o--,s--;if(!(r=n.$$listenerCount[e]&&n.$$childHead||n!==this&&n.$$nextSibling))for(;n!==this&&!(r=n.$$nextSibling);)n=n.$parent}return i.currentScope=null,i}};var v=new i,g=v.$$asyncQueue=[],y=v.$$postDigestQueue=[],n=v.$$applyAsyncQueue=[],k=0;return v;function b(e){if(v.$$phase)throw _("inprog","{0} already in progress",v.$$phase);v.$$phase=e}function w(){v.$$phase=null}function u(e,t){for(;e.$$watchersCount+=t,e=e.$parent;);}function a(e,t,n){for(;e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n],e=e.$parent;);}function x(){}function S(){for(;n.length;)try{n.shift()()}catch(e){p(e)}I=null}}]}function Jr(){var i=/^\s*(https?|s?ftp|mailto|tel|file):/,a=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(e){return E(e)?(i=e,this):i},this.imgSrcSanitizationWhitelist=function(e){return E(e)?(a=e,this):a},this.$get=function(){return function(e,t){var n=t?a:i,r=hi(e&&e.trim()).href;return""===r||r.match(n)?e:"unsafe:"+r}}}Tr.prototype={compile:function(e){var i=this;this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},Dr(e,i.$filter);var t,n="";if(this.stage="assign",t=Pr(e)){this.state.computing="assign";var r=this.nextId();this.recurse(t,r),this.return_(r),n="fn.assign="+this.generateFunction("assign","s,v,l")}var a=Er(e.body);i.stage="inputs",ve(a,function(e,t){var n="fn"+t;i.state[n]={vars:[],body:[],own:{}},i.state.computing=n;var r=i.nextId();i.recurse(e,r),i.return_(r),i.state.inputs.push({name:n,isPure:e.isPure}),e.watchId=t}),this.state.computing="fn",this.stage="main",this.recurse(e);var o='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+n+this.watchFns()+"return fn;",s=new Function("$filter","getStringValue","ifDefined","plus",o)(this.$filter,xr,Ir,Cr);return this.state=this.stage=void 0,s},USE:"use",STRICT:"strict",watchFns:function(){var t=[],e=this.state.inputs,n=this;return ve(e,function(e){t.push("var "+e.name+"="+n.generateFunction(e.name,"s")),e.isPure&&t.push(e.name,".isPure="+JSON.stringify(e.isPure)+";")}),e.length&&t.push("fn.inputs=["+e.map(function(e){return e.name}).join(",")+"];"),t.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var n=[],r=this;return ve(this.state.filters,function(e,t){n.push(e+"=$filter("+r.escape(t)+")")}),n.length?"var "+n.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(n,t,e,r,i,a){var o,s,c,u,l,d=this;if(r=r||ke,!a&&E(n.watchId))return t=t||this.nextId(),void this.if_("i",this.lazyAssign(t,this.computedMember("i",n.watchId)),this.lazyRecurse(n,t,e,r,i,!0));switch(n.type){case Mr.Program:ve(n.body,function(e,t){d.recurse(e.expression,void 0,void 0,function(e){s=e}),t!==n.body.length-1?d.current().body.push(s,";"):d.return_(s)});break;case Mr.Literal:u=this.escape(n.value),this.assign(t,u),r(t||u);break;case Mr.UnaryExpression:this.recurse(n.argument,void 0,void 0,function(e){s=e}),u=n.operator+"("+this.ifDefined(s,0)+")",this.assign(t,u),r(u);break;case Mr.BinaryExpression:this.recurse(n.left,void 0,void 0,function(e){o=e}),this.recurse(n.right,void 0,void 0,function(e){s=e}),u="+"===n.operator?this.plus(o,s):"-"===n.operator?this.ifDefined(o,0)+n.operator+this.ifDefined(s,0):"("+o+")"+n.operator+"("+s+")",this.assign(t,u),r(u);break;case Mr.LogicalExpression:t=t||this.nextId(),d.recurse(n.left,t),d.if_("&&"===n.operator?t:d.not(t),d.lazyRecurse(n.right,t)),r(t);break;case Mr.ConditionalExpression:t=t||this.nextId(),d.recurse(n.test,t),d.if_(t,d.lazyRecurse(n.alternate,t),d.lazyRecurse(n.consequent,t)),r(t);break;case Mr.Identifier:t=t||this.nextId(),e&&(e.context="inputs"===d.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",n.name)+"?l:s"),e.computed=!1,e.name=n.name),d.if_("inputs"===d.stage||d.not(d.getHasOwnProperty("l",n.name)),function(){d.if_("inputs"===d.stage||"s",function(){i&&1!==i&&d.if_(d.isNull(d.nonComputedMember("s",n.name)),d.lazyAssign(d.nonComputedMember("s",n.name),"{}")),d.assign(t,d.nonComputedMember("s",n.name))})},t&&d.lazyAssign(t,d.nonComputedMember("l",n.name))),r(t);break;case Mr.MemberExpression:o=e&&(e.context=this.nextId())||this.nextId(),t=t||this.nextId(),d.recurse(n.object,o,void 0,function(){d.if_(d.notNull(o),function(){n.computed?(s=d.nextId(),d.recurse(n.property,s),d.getStringValue(s),i&&1!==i&&d.if_(d.not(d.computedMember(o,s)),d.lazyAssign(d.computedMember(o,s),"{}")),u=d.computedMember(o,s),d.assign(t,u),e&&(e.computed=!0,e.name=s)):(i&&1!==i&&d.if_(d.isNull(d.nonComputedMember(o,n.property.name)),d.lazyAssign(d.nonComputedMember(o,n.property.name),"{}")),u=d.nonComputedMember(o,n.property.name),d.assign(t,u),e&&(e.computed=!1,e.name=n.property.name))},function(){d.assign(t,"undefined")}),r(t)},!!i);break;case Mr.CallExpression:t=t||this.nextId(),n.filter?(s=d.filter(n.callee.name),c=[],ve(n.arguments,function(e){var t=d.nextId();d.recurse(e,t),c.push(t)}),u=s+"("+c.join(",")+")",d.assign(t,u),r(t)):(s=d.nextId(),o={},c=[],d.recurse(n.callee,s,o,function(){d.if_(d.notNull(s),function(){ve(n.arguments,function(e){d.recurse(e,n.constant?void 0:d.nextId(),void 0,function(e){c.push(e)})}),u=o.name?d.member(o.context,o.name,o.computed)+"("+c.join(",")+")":s+"("+c.join(",")+")",d.assign(t,u)},function(){d.assign(t,"undefined")}),r(t)}));break;case Mr.AssignmentExpression:s=this.nextId(),o={},this.recurse(n.left,void 0,o,function(){d.if_(d.notNull(o.context),function(){d.recurse(n.right,s),u=d.member(o.context,o.name,o.computed)+n.operator+s,d.assign(t,u),r(t||u)})},1);break;case Mr.ArrayExpression:c=[],ve(n.elements,function(e){d.recurse(e,n.constant?void 0:d.nextId(),void 0,function(e){c.push(e)})}),u="["+c.join(",")+"]",this.assign(t,u),r(t||u);break;case Mr.ObjectExpression:l=!(c=[]),ve(n.properties,function(e){e.computed&&(l=!0)}),l?(t=t||this.nextId(),this.assign(t,"{}"),ve(n.properties,function(e){e.computed?(o=d.nextId(),d.recurse(e.key,o)):o=e.key.type===Mr.Identifier?e.key.name:""+e.key.value,s=d.nextId(),d.recurse(e.value,s),d.assign(d.member(t,o,e.computed),s)})):(ve(n.properties,function(t){d.recurse(t.value,n.constant?void 0:d.nextId(),void 0,function(e){c.push(d.escape(t.key.type===Mr.Identifier?t.key.name:""+t.key.value)+":"+e)})}),u="{"+c.join(",")+"}",this.assign(t,u)),r(t||u);break;case Mr.ThisExpression:this.assign(t,"s"),r(t||"s");break;case Mr.LocalsExpression:this.assign(t,"l"),r(t||"l");break;case Mr.NGValueParameter:this.assign(t,"v"),r(t||"v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),r[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(!0===e)t();else{var r=this.current().body;r.push("if(",e,"){"),t(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(e){return"!("+e+")"},isNull:function(e){return e+"==null"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(t)?e+"."+t:e+'["'+t.replace(/[^$_a-zA-Z0-9]/g,this.stringEscapeFn)+'"]'},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},getStringValue:function(e){this.assign(e,"getStringValue("+e+")")},lazyRecurse:function(e,t,n,r,i,a){var o=this;return function(){o.recurse(e,t,n,r,i,a)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(Se(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(x(e))return e.toString();if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(void 0===e)return"undefined";throw br("esc","IMPOSSIBLE")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},Fr.prototype={compile:function(e){var t,r,i=this;Dr(e,i.$filter),(t=Pr(e))&&(r=this.recurse(t));var a,n=Er(e.body);n&&(a=[],ve(n,function(e,t){var n=i.recurse(e);n.isPure=e.isPure,e.input=n,a.push(n),e.watchId=t}));var o=[];ve(e.body,function(e){o.push(i.recurse(e.expression))});var s=0===e.body.length?ke:1===e.body.length?o[0]:function(t,n){var r;return ve(o,function(e){r=e(t,n)}),r};return r&&(s.assign=function(e,t,n){return r(e,n,t)}),a&&(s.inputs=a),s},recurse:function(e,c,t){var o,u,l,n=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case Mr.Literal:return this.value(e.value,c);case Mr.UnaryExpression:return u=this.recurse(e.argument),this["unary"+e.operator](u,c);case Mr.BinaryExpression:case Mr.LogicalExpression:return o=this.recurse(e.left),u=this.recurse(e.right),this["binary"+e.operator](o,u,c);case Mr.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),c);case Mr.Identifier:return n.identifier(e.name,c,t);case Mr.MemberExpression:return o=this.recurse(e.object,!1,!!t),e.computed||(u=e.property.name),e.computed&&(u=this.recurse(e.property)),e.computed?this.computedMember(o,u,c,t):this.nonComputedMember(o,u,c,t);case Mr.CallExpression:return l=[],ve(e.arguments,function(e){l.push(n.recurse(e))}),e.filter&&(u=this.$filter(e.callee.name)),e.filter||(u=this.recurse(e.callee,!0)),e.filter?function(e,t,n,r){for(var i=[],a=0;a<l.length;++a)i.push(l[a](e,t,n,r));var o=u.apply(void 0,i,r);return c?{context:void 0,name:void 0,value:o}:o}:function(e,t,n,r){var i,a=u(e,t,n,r);if(null!=a.value){for(var o=[],s=0;s<l.length;++s)o.push(l[s](e,t,n,r));i=a.value.apply(a.context,o)}return c?{value:i}:i};case Mr.AssignmentExpression:return o=this.recurse(e.left,!0,1),u=this.recurse(e.right),function(e,t,n,r){var i=o(e,t,n,r),a=u(e,t,n,r);return i.context[i.name]=a,c?{value:a}:a};case Mr.ArrayExpression:return l=[],ve(e.elements,function(e){l.push(n.recurse(e))}),function(e,t,n,r){for(var i=[],a=0;a<l.length;++a)i.push(l[a](e,t,n,r));return c?{value:i}:i};case Mr.ObjectExpression:return l=[],ve(e.properties,function(e){e.computed?l.push({key:n.recurse(e.key),computed:!0,value:n.recurse(e.value)}):l.push({key:e.key.type===Mr.Identifier?e.key.name:""+e.key.value,computed:!1,value:n.recurse(e.value)})}),function(e,t,n,r){for(var i={},a=0;a<l.length;++a)l[a].computed?i[l[a].key(e,t,n,r)]=l[a].value(e,t,n,r):i[l[a].key]=l[a].value(e,t,n,r);return c?{value:i}:i};case Mr.ThisExpression:return function(e){return c?{value:e}:e};case Mr.LocalsExpression:return function(e,t){return c?{value:t}:t};case Mr.NGValueParameter:return function(e,t,n){return c?{value:n}:n}}},"unary+":function(a,o){return function(e,t,n,r){var i=a(e,t,n,r);return i=E(i)?+i:0,o?{value:i}:i}},"unary-":function(a,o){return function(e,t,n,r){var i=a(e,t,n,r);return i=E(i)?-i:-0,o?{value:i}:i}},"unary!":function(a,o){return function(e,t,n,r){var i=!a(e,t,n,r);return o?{value:i}:i}},"binary+":function(a,o,s){return function(e,t,n,r){var i=Cr(a(e,t,n,r),o(e,t,n,r));return s?{value:i}:i}},"binary-":function(s,c,u){return function(e,t,n,r){var i=s(e,t,n,r),a=c(e,t,n,r),o=(E(i)?i:0)-(E(a)?a:0);return u?{value:o}:o}},"binary*":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)*o(e,t,n,r);return s?{value:i}:i}},"binary/":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)/o(e,t,n,r);return s?{value:i}:i}},"binary%":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)%o(e,t,n,r);return s?{value:i}:i}},"binary===":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)===o(e,t,n,r);return s?{value:i}:i}},"binary!==":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)!==o(e,t,n,r);return s?{value:i}:i}},"binary==":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)==o(e,t,n,r);return s?{value:i}:i}},"binary!=":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)!=o(e,t,n,r);return s?{value:i}:i}},"binary<":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)<o(e,t,n,r);return s?{value:i}:i}},"binary>":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)>o(e,t,n,r);return s?{value:i}:i}},"binary<=":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)<=o(e,t,n,r);return s?{value:i}:i}},"binary>=":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)>=o(e,t,n,r);return s?{value:i}:i}},"binary&&":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)&&o(e,t,n,r);return s?{value:i}:i}},"binary||":function(a,o,s){return function(e,t,n,r){var i=a(e,t,n,r)||o(e,t,n,r);return s?{value:i}:i}},"ternary?:":function(a,o,s,c){return function(e,t,n,r){var i=a(e,t,n,r)?o(e,t,n,r):s(e,t,n,r);return c?{value:i}:i}},value:function(e,t){return function(){return t?{context:void 0,name:void 0,value:e}:e}},identifier:function(o,s,c){return function(e,t,n,r){var i=t&&o in t?t:e;c&&1!==c&&i&&null==i[o]&&(i[o]={});var a=i?i[o]:void 0;return s?{context:i,name:o,value:a}:a}},computedMember:function(s,c,u,l){return function(e,t,n,r){var i,a,o=s(e,t,n,r);return null!=o&&(i=xr(i=c(e,t,n,r)),l&&1!==l&&o&&!o[i]&&(o[i]={}),a=o[i]),u?{context:o,name:i,value:a}:a}},nonComputedMember:function(o,s,c,u){return function(e,t,n,r){var i=o(e,t,n,r);u&&1!==u&&i&&null==i[s]&&(i[s]={});var a=null!=i?i[s]:void 0;return c?{context:i,name:s,value:a}:a}},inputs:function(i,a){return function(e,t,n,r){return r?r[a]:i(e,t,n)}}},Lr.prototype={constructor:Lr,parse:function(e){var t=this.getAst(e),n=this.astCompiler.compile(t.ast);return n.literal=function(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===Mr.Literal||e.body[0].expression.type===Mr.ArrayExpression||e.body[0].expression.type===Mr.ObjectExpression)}(t.ast),n.constant=function(e){return e.constant}(t.ast),n.oneTime=t.oneTime,n},getAst:function(e){var t=!1;return":"===(e=e.trim()).charAt(0)&&":"===e.charAt(1)&&(t=!0,e=e.substring(2)),{ast:this.ast.ast(e),oneTime:t}}};var Gr=C("$sce"),Yr={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Xr=/_([a-z])/g;function Zr(e){return e.replace(Xr,tt)}function Qr(e){var t=[];return E(e)&&ve(e,function(e){t.push(function(e){if("self"===e)return e;if(Se(e)){if(-1<e.indexOf("***"))throw Gr("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=P(e).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp("^"+e+"$")}if($(e))return new RegExp("^"+e.source+"$");throw Gr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}(e))}),t}function ei(){this.SCE_CONTEXTS=Yr;var s=["self"],c=[];this.resourceUrlWhitelist=function(e){return arguments.length&&(s=Qr(e)),s},this.resourceUrlBlacklist=function(e){return arguments.length&&(c=Qr(e)),c},this.$get=["$injector","$$sanitizeUri",function(e,r){var i=function(){throw Gr("unsafe","Attempting to use an unsafe value in a safe context.")};function a(e,t){return"self"===e?function(e){return mi(e,fi)}(t)||function(e){return mi(e,function(){if(le.document.baseURI)return le.document.baseURI;li||((li=le.document.createElement("a")).href=".",li=li.cloneNode(!1));return li.href}())}(t):!!e.exec(t.href)}function t(e){function t(e){this.$$unwrapTrustedValue=function(){return e}}return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}e.has("$sanitize")&&(i=e.get("$sanitize"));var n=t(),o={};return o[Yr.HTML]=t(n),o[Yr.CSS]=t(n),o[Yr.MEDIA_URL]=t(n),o[Yr.URL]=t(o[Yr.MEDIA_URL]),o[Yr.JS]=t(n),o[Yr.RESOURCE_URL]=t(o[Yr.URL]),{trustAs:function(e,t){var n=o.hasOwnProperty(e)?o[e]:null;if(!n)throw Gr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t);if(null===t||we(t)||""===t)return t;if("string"!=typeof t)throw Gr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e);return new n(t)},getTrusted:function(e,t){if(null===t||we(t)||""===t)return t;var n=o.hasOwnProperty(e)?o[e]:null;if(n&&t instanceof n)return t.$$unwrapTrustedValue();if(Me(t.$$unwrapTrustedValue)&&(t=t.$$unwrapTrustedValue()),e===Yr.MEDIA_URL||e===Yr.URL)return r(t.toString(),e===Yr.MEDIA_URL);if(e===Yr.RESOURCE_URL){if(function(e){var t,n,r=hi(e.toString()),i=!1;for(t=0,n=s.length;t<n;t++)if(a(s[t],r)){i=!0;break}if(i)for(t=0,n=c.length;t<n;t++)if(a(c[t],r)){i=!1;break}return i}(t))return t;throw Gr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",t.toString())}if(e===Yr.HTML)return i(t);throw Gr("unsafe","Attempting to use an unsafe value in a safe context.")},valueOf:function(e){return e instanceof n?e.$$unwrapTrustedValue():e}}}]}function ti(){var t=!0;this.enabled=function(e){return arguments.length&&(t=!!e),t},this.$get=["$parse","$sceDelegate",function(r,e){if(t&&de<8)throw Gr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var i=qe(Yr);i.isEnabled=function(){return t},i.trustAs=e.trustAs,i.getTrusted=e.getTrusted,i.valueOf=e.valueOf,t||(i.trustAs=i.getTrusted=function(e,t){return t},i.valueOf=be),i.parseAs=function(t,e){var n=r(e);return n.literal&&n.constant?n:r(e,function(e){return i.getTrusted(t,e)})};var a=i.parseAs,o=i.getTrusted,s=i.trustAs;return ve(Yr,function(t,e){var n=he(e);i[Zr("parse_as_"+n)]=function(e){return a(t,e)},i[Zr("get_trusted_"+n)]=function(e){return o(t,e)},i[Zr("trust_as_"+n)]=function(e){return s(t,e)}}),i}]}function ni(){this.$get=["$window","$document",function(e,t){var n={},r=!(!(e.nw&&e.nw.process)&&e.chrome&&(e.chrome.app&&e.chrome.app.runtime||!e.chrome.app&&e.chrome.runtime&&e.chrome.runtime.id))&&e.history&&e.history.pushState,i=y((/android (\d+)/.exec(he((e.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((e.navigator||{}).userAgent),o=t[0]||{},s=o.body&&o.body.style,c=!1,u=!1;return s&&(c=!!("transition"in s||"webkitTransition"in s),u=!!("animation"in s||"webkitAnimation"in s)),{history:!(!r||i<4||a),hasEvent:function(e){if("input"===e&&de)return!1;if(we(n[e])){var t=o.createElement("div");n[e]="on"+e in t}return n[e]},csp:B(),transitions:c,animations:u,android:i}}]}function ri(){this.$get=D(function(e){return new ii(e)})}function ii(o){var s={},r=[],c=this.ALL_TASKS_TYPE="$$all$$",u=this.DEFAULT_TASK_TYPE="$$default$$";function l(){var e=r.pop();return e&&e.cb}function d(e){for(var t=r.length-1;0<=t;--t){var n=r[t];if(n.type===e)return r.splice(t,1),n.cb}}this.completeTask=function(e,t){t=t||u;try{e()}finally{!function(e){s[e=e||u]&&(s[e]--,s[c]--)}(t);var n=s[t],r=s[c];if(!r||!n)for(var i,a=r?d:l;i=a(t);)try{i()}catch(e){o.error(e)}}},this.incTaskCount=function(e){s[e=e||u]=(s[e]||0)+1,s[c]=(s[c]||0)+1},this.notifyWhenNoPendingTasks=function(e,t){s[t=t||c]?r.push({type:t,cb:e}):e()}}var ai=C("$templateRequest");function oi(){var u;this.httpOptions=function(e){return e?(u=e,this):u},this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function(r,i,a,o,s){function c(t,n){c.totalPendingRequests++,Se(t)&&!we(i.get(t))||(t=s.getTrustedResourceUrl(t));var e=a.defaults&&a.defaults.transformResponse;return $e(e)?e=e.filter(function(e){return e!==Un}):e===Un&&(e=null),a.get(t,ge({cache:i,transformResponse:e},u)).finally(function(){c.totalPendingRequests--}).then(function(e){return i.put(t,e.data)},function(e){n||(e=ai("tpload","Failed to load template: {0} (HTTP status: {1} {2})",t,e.status,e.statusText),r(e));return o.reject(e)})}return c.totalPendingRequests=0,c}]}function si(){this.$get=["$rootScope","$browser","$location",function(t,n,r){var e={findBindings:function(e,n,r){var t=e.getElementsByClassName("ng-binding"),i=[];return ve(t,function(t){var e=k.element(t).data("$binding");e&&ve(e,function(e){r?new RegExp("(^|\\s)"+P(n)+"(\\s|\\||$)").test(e)&&i.push(t):-1!==e.indexOf(n)&&i.push(t)})}),i},findModels:function(e,t,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var a="["+r[i]+"model"+(n?"=":"*=")+'"'+t+'"]',o=e.querySelectorAll(a);if(o.length)return o}},getLocation:function(){return r.url()},setLocation:function(e){e!==r.url()&&(r.url(e),t.$digest())},whenStable:function(e){n.notifyWhenNoOutstandingRequests(e)}};return e}]}var ci=C("$timeout");function ui(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(c,u,l,d,f){var p={};function e(e,t,n){Me(e)||(n=t,t=e,e=ke);var r,i=Pe(arguments,3),a=E(n)&&!n,o=(a?d:l).defer(),s=o.promise;return r=u.defer(function(){try{o.resolve(e.apply(null,i))}catch(e){o.reject(e),f(e)}finally{delete p[s.$$timeoutId]}a||c.$apply()},t,"$timeout"),s.$$timeoutId=r,p[r]=o,s}return e.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$timeoutId"))throw ci("badprom","`$timeout.cancel()` called with a promise that was not generated by `$timeout()`.");if(!p.hasOwnProperty(e.$$timeoutId))return!1;var t=e.$$timeoutId,n=p[t];return Kr(n.promise),n.reject("canceled"),delete p[t],u.defer.cancel(t)},e}]}var li,di=le.document.createElement("a"),fi=hi(le.location.href);di.href="http://[::1]";var pi="[::1]"===di.hostname;function hi(e){if(!Se(e))return e;var t=e;de&&(di.setAttribute("href",t),t=di.href),di.setAttribute("href",t);var n=di.hostname;return!pi&&-1<n.indexOf(":")&&(n="["+n+"]"),{href:di.href,protocol:di.protocol?di.protocol.replace(/:$/,""):"",host:di.host,search:di.search?di.search.replace(/^\?/,""):"",hash:di.hash?di.hash.replace(/^#/,""):"",hostname:n,port:di.port,pathname:"/"===di.pathname.charAt(0)?di.pathname:"/"+di.pathname}}function mi(e,t){return e=hi(e),t=hi(t),e.protocol===t.protocol&&e.host===t.host}function vi(){this.$get=D(le)}function gi(e){var o=e[0]||{},s={},c="";function u(t){try{return decodeURIComponent(t)}catch(e){return t}}return function(){var e,t,n,r,i,a=function(e){try{return e.cookie||""}catch(e){return""}}(o);if(a!==c)for(e=(c=a).split("; "),s={},n=0;n<e.length;n++)0<(r=(t=e[n]).indexOf("="))&&(i=u(t.substring(0,r)),we(s[i])&&(s[i]=u(t.substring(r+1))));return s}}function yi(){this.$get=gi}function ki(r){var i="Filter";function a(e,t){if(xe(e)){var n={};return ve(e,function(e,t){n[t]=a(t,e)}),n}return r.factory(e+i,t)}this.register=a,this.$get=["$injector",function(t){return function(e){return t.get(e+i)}}],a("currency",Mi),a("date",Ni),a("filter",bi),a("json",Bi),a("limitTo",Ui),a("lowercase",Hi),a("number",Ii),a("orderBy",Vi),a("uppercase",ji)}function bi(){return function(e,t,n,r){if(!T(e)){if(null==e)return e;throw C("filter")("notarray","Expected array but received: {0}",e)}var i,a;switch(r=r||"$",xi(t)){case"function":i=t;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":i=function(t,n,r,i){var a=xe(t)&&r in t;!0===n?n=Oe:Me(n)||(n=function(e,t){return!we(e)&&(null===e||null===t?e===t:!(xe(t)||xe(e)&&!b(e))&&(e=he(""+e),t=he(""+t),-1!==e.indexOf(t)))});return function(e){return a&&!xe(e)?wi(e,t[r],n,r,!1):wi(e,t,n,r,i)}}(t,n,r,a);break;default:return e}return Array.prototype.filter.call(e,i)}}function wi(e,t,n,r,i,a){var o=xi(e),s=xi(t);if("string"===s&&"!"===t.charAt(0))return!wi(e,t.substring(1),n,r,i);if($e(e))return e.some(function(e){return wi(e,t,n,r,i)});switch(o){case"object":var c;if(i){for(c in e)if(c.charAt&&"$"!==c.charAt(0)&&wi(e[c],t,n,r,!0))return!0;return!a&&wi(e,t,n,r,!1)}if("object"!==s)return n(e,t);for(c in t){var u=t[c];if(!Me(u)&&!we(u)){var l=c===r;if(!wi(l?e:e[c],u,n,r,l,l))return!1}}return!0;case"function":return!1;default:return n(e,t)}}function xi(e){return null===e?"null":typeof e}gi.$inject=["$document"],ki.$inject=["$provide"];var Si=22,$i=".",_i="0";function Mi(e){var i=e.NUMBER_FORMATS;return function(e,t,n){we(t)&&(t=i.CURRENCY_SYM),we(n)&&(n=i.PATTERNS[1].maxFrac);var r=t?/\u00A4/g:/\s*\u00A4\s*/g;return null==e?e:Ci(e,i.PATTERNS[1],i.GROUP_SEP,i.DECIMAL_SEP,n).replace(r,t)}}function Ii(e){var n=e.NUMBER_FORMATS;return function(e,t){return null==e?e:Ci(e,n.PATTERNS[0],n.GROUP_SEP,n.DECIMAL_SEP,t)}}function Ci(e,t,n,r,i){if(!Se(e)&&!x(e)||isNaN(e))return"";var a,o=!isFinite(e),s=!1,c=Math.abs(e)+"",u="";if(o)u="∞";else{(function(e,t,n,r){var i=e.d,a=i.length-e.i,o=(t=we(t)?Math.min(Math.max(n,a),r):+t)+e.i,s=i[o];if(0<o){i.splice(Math.max(e.i,o));for(var c=o;c<i.length;c++)i[c]=0}else{a=Math.max(0,a),e.i=1,i.length=Math.max(1,o=t+1),i[0]=0;for(var u=1;u<o;u++)i[u]=0}if(5<=s)if(o-1<0){for(var l=0;o<l;l--)i.unshift(0),e.i++;i.unshift(1),e.i++}else i[o-1]++;for(;a<Math.max(0,t);a++)i.push(0);var d=i.reduceRight(function(e,t,n,r){return t+=e,r[n]=t%10,Math.floor(t/10)},0);d&&(i.unshift(d),e.i++)})(a=function(e){var t,n,r,i,a,o=0;for(-1<(n=e.indexOf($i))&&(e=e.replace($i,"")),0<(r=e.search(/e/i))?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charAt(r)===_i;r++);if(r===(a=e.length))t=[0],n=1;else{for(a--;e.charAt(a)===_i;)a--;for(n-=r,t=[],i=0;r<=a;r++,i++)t[i]=+e.charAt(r)}return Si<n&&(t=t.splice(0,Si-1),o=n-1,n=1),{d:t,e:o,i:n}}(c),i,t.minFrac,t.maxFrac);var l=a.d,d=a.i,f=a.e,p=[];for(s=l.reduce(function(e,t){return e&&!t},!0);d<0;)l.unshift(0),d++;0<d?p=l.splice(d,l.length):(p=l,l=[0]);var h=[];for(l.length>=t.lgSize&&h.unshift(l.splice(-t.lgSize,l.length).join(""));l.length>t.gSize;)h.unshift(l.splice(-t.gSize,l.length).join(""));l.length&&h.unshift(l.join("")),u=h.join(n),p.length&&(u+=r+p.join("")),f&&(u+="e+"+f)}return e<0&&!s?t.negPre+u+t.negSuf:t.posPre+u+t.posSuf}function Ai(e,t,n,r){var i="";for((e<0||r&&e<=0)&&(r?e=1-e:(e=-e,i="-")),e=""+e;e.length<t;)e=_i+e;return n&&(e=e.substr(e.length-t)),i+e}function Ri(n,r,i,a,o){return i=i||0,function(e){var t=e["get"+n]();return(0<i||-i<t)&&(t+=i),0===t&&-12===i&&(t=12),Ai(t,r,a,o)}}function Di(r,i,a){return function(e,t){var n=e["get"+r]();return t[f((a?"STANDALONE":"")+(i?"SHORT":"")+r)][n]}}function Ei(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(t<=4?5:12)-t)}function Oi(r){return function(e){var t=Ei(e.getFullYear()),n=+function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+(4-e.getDay()))}(e)-+t;return Ai(1+Math.round(n/6048e5),r)}}function Pi(e,t){return e.getFullYear()<=0?t.ERAS[0]:t.ERAS[1]}Mi.$inject=["$locale"];var Ti={yyyy:Ri("FullYear",4,0,!(Ii.$inject=["$locale"]),!0),yy:Ri("FullYear",2,0,!0,!0),y:Ri("FullYear",1,0,!1,!0),MMMM:Di("Month"),MMM:Di("Month",!0),MM:Ri("Month",2,1),M:Ri("Month",1,1),LLLL:Di("Month",!1,!0),dd:Ri("Date",2),d:Ri("Date",1),HH:Ri("Hours",2),H:Ri("Hours",1),hh:Ri("Hours",2,-12),h:Ri("Hours",1,-12),mm:Ri("Minutes",2),m:Ri("Minutes",1),ss:Ri("Seconds",2),s:Ri("Seconds",1),sss:Ri("Milliseconds",3),EEEE:Di("Day"),EEE:Di("Day",!0),a:function(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]},Z:function(e,t,n){var r=-1*n,i=0<=r?"+":"";return i+=Ai(Math[0<r?"floor":"ceil"](r/60),2)+Ai(Math.abs(r%60),2)},ww:Oi(2),w:Oi(1),G:Pi,GG:Pi,GGG:Pi,GGGG:function(e,t){return e.getFullYear()<=0?t.ERANAMES[0]:t.ERANAMES[1]}},Fi=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,Li=/^-?\d+$/;function Ni(c){var d=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(t,e,n){var r,i,a="",o=[];if(e=e||"mediumDate",e=c.DATETIME_FORMATS[e]||e,Se(t)&&(t=Li.test(t)?y(t):function(e){var t;if(t=e.match(d)){var n=new Date(0),r=0,i=0,a=t[8]?n.setUTCFullYear:n.setFullYear,o=t[8]?n.setUTCHours:n.setHours;t[9]&&(r=y(t[9]+t[10]),i=y(t[9]+t[11])),a.call(n,y(t[1]),y(t[2])-1,y(t[3]));var s=y(t[4]||0)-r,c=y(t[5]||0)-i,u=y(t[6]||0),l=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(n,s,c,u,l),n}return e}(t)),x(t)&&(t=new Date(t)),!S(t)||!isFinite(t.getTime()))return t;for(;e;)e=(i=Fi.exec(e))?(o=j(o,i,1)).pop():(o.push(e),null);var s=t.getTimezoneOffset();return n&&(s=q(n,s),t=J(t,n,!0)),ve(o,function(e){r=Ti[e],a+=r?r(t,c.DATETIME_FORMATS,s):"''"===e?"'":e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),a}}function Bi(){return function(e,t){return we(t)&&(t=2),z(e,t)}}Ni.$inject=["$locale"];var Hi=D(he),ji=D(f);function Ui(){return function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):y(t),R(t)?e:(x(e)&&(e=e.toString()),T(e)?(n=(n=!n||isNaN(n)?0:y(n))<0?Math.max(0,e.length+n):n,0<=t?zi(e,n,n+t):0===n?zi(e,t,e.length):zi(e,Math.max(0,n+t),n)):e)}}function zi(e,t,n){return Se(e)?e.slice(t,n):o.call(e,t,n)}function Vi(c){return function(e,t,n,r){if(null==e)return e;if(!T(e))throw C("orderBy")("notarray","Expected array but received: {0}",e);$e(t)||(t=[t]),0===t.length&&(t=["+"]);var a=function(e){return e.map(function(e){var t=1,n=be;if(Me(e))n=e;else if(Se(e)&&("+"!==e.charAt(0)&&"-"!==e.charAt(0)||(t="-"===e.charAt(0)?-1:1,e=e.substring(1)),""!==e&&(n=c(e)).constant)){var r=n();n=function(e){return e[r]}}return{get:n,descending:t}})}(t),o=n?-1:1,s=Me(r)?r:l,i=Array.prototype.map.call(e,function(t,n){return{value:t,tieBreaker:{value:n,type:"number",index:n},predicateValues:a.map(function(e){return function(e,t){var n=typeof e;null===e?n="null":"object"===n&&(e=function(e){if(Me(e.valueOf)&&u(e=e.valueOf()))return e;if(b(e)&&u(e=e.toString()))return e;return e}(e));return{value:e,type:n,index:t}}(e.get(t),n)})}});return i.sort(function(e,t){for(var n=0,r=a.length;n<r;n++){var i=s(e.predicateValues[n],t.predicateValues[n]);if(i)return i*a[n].descending*o}return(s(e.tieBreaker,t.tieBreaker)||l(e.tieBreaker,t.tieBreaker))*o}),e=i.map(function(e){return e.value})};function u(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function l(e,t){var n=0,r=e.type,i=t.type;if(r===i){var a=e.value,o=t.value;"string"===r?(a=a.toLowerCase(),o=o.toLowerCase()):"object"===r&&(xe(a)&&(a=e.index),xe(o)&&(o=t.index)),a!==o&&(n=a<o?-1:1)}else n="undefined"===r?1:"undefined"===i?-1:"null"===r?1:"null"===i?-1:r<i?-1:1;return n}}function Ki(e){return Me(e)&&(e={link:e}),e.restrict=e.restrict||"AC",D(e)}Vi.$inject=["$parse"];var qi=D({restrict:"E",compile:function(e,t){if(!t.href&&!t.xlinkHref)return function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===me.call(t.prop("href"))?"xlink:href":"href";t.on("click",function(e){t.attr(n)||e.preventDefault()})}}}}),Wi={};ve(Dt,function(e,r){if("multiple"!==e){var i=Sn("ng-"+r),t=a;"checked"===e&&(t=function(e,t,n){n.ngModel!==n[i]&&a(e,0,n)}),Wi[i]=function(){return{restrict:"A",priority:100,link:t}}}function a(e,t,n){e.$watch(n[i],function(e){n.$set(r,!!e)})}}),ve(Ot,function(e,i){Wi[i]=function(){return{priority:100,link:function(e,t,n){if("ngPattern"===i&&"/"===n.ngPattern.charAt(0)){var r=n.ngPattern.match(a);if(r)return void n.$set("ngPattern",new RegExp(r[1],r[2]))}e.$watch(n[i],function(e){n.$set(i,e)})}}}}),ve(["src","srcset","href"],function(o){var s=Sn("ng-"+o);Wi[s]=["$sce",function(a){return{priority:99,link:function(e,t,n){var r=o,i=o;"href"===o&&"[object SVGAnimatedString]"===me.call(t.prop("href"))&&(i="xlinkHref",n.$attr[i]="xlink:href",r=null),n.$set(s,a.getTrustedMediaUrl(n[s])),n.$observe(s,function(e){e?(n.$set(i,e),de&&r&&t.prop(r,n[i])):"href"===o&&n.$set(i,null)})}}}]});var Ji={$addControl:ke,$getControls:D([]),$$renameControl:function(e,t){e.$name=t},$removeControl:ke,$setValidity:ke,$setDirty:ke,$setPristine:ke,$setSubmitted:ke,$$setSubmitted:ke},Gi="ng-pending",Yi="ng-submitted";function Xi(e,t,n,r,i){this.$$controls=[],this.$error={},this.$$success={},this.$pending=void 0,this.$name=i(t.name||t.ngForm||"")(n),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=Ji,this.$$element=e,this.$$animate=r,ta(this)}Xi.$inject=["$element","$attrs","$scope","$animate","$interpolate"],Xi.prototype={$rollbackViewValue:function(){ve(this.$$controls,function(e){e.$rollbackViewValue()})},$commitViewValue:function(){ve(this.$$controls,function(e){e.$commitViewValue()})},$addControl:function(e){ce(e.$name,"input"),this.$$controls.push(e),e.$name&&(this[e.$name]=e),e.$$parentForm=this},$getControls:function(){return qe(this.$$controls)},$$renameControl:function(e,t){var n=e.$name;this[n]===e&&delete this[n],(this[t]=e).$name=t},$removeControl:function(n){n.$name&&this[n.$name]===n&&delete this[n.$name],ve(this.$pending,function(e,t){this.$setValidity(t,null,n)},this),ve(this.$error,function(e,t){this.$setValidity(t,null,n)},this),ve(this.$$success,function(e,t){this.$setValidity(t,null,n)},this),De(this.$$controls,n),n.$$parentForm=Ji},$setDirty:function(){this.$$animate.removeClass(this.$$element,Xa),this.$$animate.addClass(this.$$element,Za),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Xa,Za+" "+Yi),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,ve(this.$$controls,function(e){e.$setPristine()})},$setUntouched:function(){ve(this.$$controls,function(e){e.$setUntouched()})},$setSubmitted:function(){for(var e=this;e.$$parentForm&&e.$$parentForm!==Ji;)e=e.$$parentForm;e.$$setSubmitted()},$$setSubmitted:function(){this.$$animate.addClass(this.$$element,Yi),this.$submitted=!0,ve(this.$$controls,function(e){e.$$setSubmitted&&e.$$setSubmitted()})}},na({clazz:Xi,set:function(e,t,n){var r=e[t];r?-1===r.indexOf(n)&&r.push(n):e[t]=[n]},unset:function(e,t,n){var r=e[t];r&&(De(r,n),0===r.length&&delete e[t])}});function Zi(n){return["$timeout","$parse",function(c,t){return{name:"form",restrict:n?"EAC":"E",require:["form","^^?form"],controller:Xi,compile:function(e,t){e.addClass(Xa).addClass(Ga);var s=t.name?"name":!(!n||!t.ngForm)&&"ngForm";return{pre:function(t,e,n,r){var i=r[0];if(!("action"in n)){var a=function(e){t.$apply(function(){i.$commitViewValue(),i.$setSubmitted()}),e.preventDefault()};e[0].addEventListener("submit",a),e.on("$destroy",function(){c(function(){e[0].removeEventListener("submit",a)},0,!1)})}(r[1]||i.$$parentForm).$addControl(i);var o=s?u(i.$name):ke;s&&(o(t,i),n.$observe(s,function(e){i.$name!==e&&(o(t,void 0),i.$$parentForm.$$renameControl(i,e),(o=u(i.$name))(t,i))})),e.on("$destroy",function(){i.$$parentForm.$removeControl(i),o(t,void 0),ge(i,Ji)})}}}};function u(e){return""===e?t('this[""]').assign:t(e).assign||ke}}]}var Qi=Zi(),ea=Zi(!0);function ta(e){e.$$classCache={},e.$$classCache[Ya]=!(e.$$classCache[Ga]=e.$$element.hasClass(Ga))}function na(e){var t=e.clazz,i=e.set,a=e.unset;function o(e,t,n){n&&!e.$$classCache[t]?(e.$$animate.addClass(e.$$element,t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(e.$$animate.removeClass(e.$$element,t),e.$$classCache[t]=!1)}function s(e,t,n){t=t?"-"+Le(t,"-"):"",o(e,Ga+t,!0===n),o(e,Ya+t,!1===n)}t.prototype.$setValidity=function(e,t,n){var r;we(t)?function(e,t,n,r){e[t]||(e[t]={});i(e[t],n,r)}(this,"$pending",e,n):function(e,t,n,r){e[t]&&a(e[t],n,r);ra(e[t])&&(e[t]=void 0)}(this,"$pending",e,n),Ce(t)?t?(a(this.$error,e,n),i(this.$$success,e,n)):(i(this.$error,e,n),a(this.$$success,e,n)):(a(this.$error,e,n),a(this.$$success,e,n)),this.$pending?(o(this,Gi,!0),this.$valid=this.$invalid=void 0,s(this,"",null)):(o(this,Gi,!1),this.$valid=ra(this.$error),this.$invalid=!this.$valid,s(this,"",this.$valid)),s(this,e,r=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null)),this.$$parentForm.$setValidity(e,r,this)}}function ra(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var ia=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,aa=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,oa=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,sa=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,ca=/^(\d{4,})-(\d{2})-(\d{2})$/,ua=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,la=/^(\d{4,})-W(\d\d)$/,da=/^(\d{4,})-(\d\d)$/,fa=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,pa="keydown wheel mousedown",ha=Be();ve("date,datetime-local,month,time,week".split(","),function(e){ha[e]=!0});var ma={text:function(e,t,n,r,i,a){ga(e,t,n,r,i,a),va(r)},date:ka("date",ca,ya(ca,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":ka("datetimelocal",ua,ya(ua,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:ka("time",fa,ya(fa,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:ka("week",la,function(e,t){if(S(e))return e;if(Se(e)){la.lastIndex=0;var n=la.exec(e);if(n){var r=+n[1],i=+n[2],a=0,o=0,s=0,c=0,u=Ei(r),l=7*(i-1);return t&&(a=t.getHours(),o=t.getMinutes(),s=t.getSeconds(),c=t.getMilliseconds()),new Date(r,0,u.getDate()+l,a,o,s,c)}}return NaN},"yyyy-Www"),month:ka("month",da,ya(da,["yyyy","MM"]),"yyyy-MM"),number:function(e,t,n,r,i,a,o,s){var c;if(ba(e,t,n,r,"number"),wa(r),ga(e,t,n,r,i,a),E(n.min)||n.ngMin){var u=n.min||s(n.ngMin)(e);c=xa(u),r.$validators.min=function(e,t){return r.$isEmpty(t)||we(c)||c<=t},n.$observe("min",function(e){e!==u&&(c=xa(e),u=e,r.$validate())})}if(E(n.max)||n.ngMax){var l=n.max||s(n.ngMax)(e),d=xa(l);r.$validators.max=function(e,t){return r.$isEmpty(t)||we(d)||t<=d},n.$observe("max",function(e){e!==l&&(d=xa(e),l=e,r.$validate())})}if(E(n.step)||n.ngStep){var f=n.step||s(n.ngStep)(e),p=xa(f);r.$validators.step=function(e,t){return r.$isEmpty(t)||we(p)||_a(t,c||0,p)},n.$observe("step",function(e){e!==f&&(p=xa(e),f=e,r.$validate())})}},url:function(e,t,n,r,i,a){ga(e,t,n,r,i,a),va(r),r.$validators.url=function(e,t){var n=e||t;return r.$isEmpty(n)||aa.test(n)}},email:function(e,t,n,r,i,a){ga(e,t,n,r,i,a),va(r),r.$validators.email=function(e,t){var n=e||t;return r.$isEmpty(n)||oa.test(n)}},radio:function(e,n,r,i){var a=!r.ngTrim||"false"!==Ae(r.ngTrim);we(r.name)&&n.attr("name",A());n.on("change",function(e){var t;n[0].checked&&(t=r.value,a&&(t=Ae(t)),i.$setViewValue(t,e&&e.type))}),i.$render=function(){var e=r.value;a&&(e=Ae(e)),n[0].checked=e===i.$viewValue},r.$observe("value",i.$render)},range:function(e,r,i,n,t,a){ba(e,r,i,n,"range"),wa(n),ga(e,r,i,n,t,a);var o=n.$$hasNativeValidators&&"range"===r[0].type,s=o?0:void 0,c=o?100:void 0,u=o?1:void 0,l=r[0].validity,d=E(i.min),f=E(i.max),p=E(i.step),h=n.$render;n.$render=o&&E(l.rangeUnderflow)&&E(l.rangeOverflow)?function(){h(),n.$setViewValue(r.val())}:h,d&&(s=xa(i.min),n.$validators.min=o?function(){return!0}:function(e,t){return n.$isEmpty(t)||we(s)||s<=t},m("min",function(e){if(s=xa(e),R(n.$modelValue))return;if(o){var t=r.val();t<s&&(t=s,r.val(t)),n.$setViewValue(t)}else n.$validate()}));f&&(c=xa(i.max),n.$validators.max=o?function(){return!0}:function(e,t){return n.$isEmpty(t)||we(c)||t<=c},m("max",function(e){if(c=xa(e),R(n.$modelValue))return;if(o){var t=r.val();c<t&&(r.val(c),t=c<s?s:c),n.$setViewValue(t)}else n.$validate()}));p&&(u=xa(i.step),n.$validators.step=o?function(){return!l.stepMismatch}:function(e,t){return n.$isEmpty(t)||we(u)||_a(t,s||0,u)},m("step",function(e){if(u=xa(e),R(n.$modelValue))return;o?n.$viewValue!==r.val()&&n.$setViewValue(r.val()):n.$validate()}));function m(e,t){r.attr(e,i[e]);var n=i[e];i.$observe(e,function(e){e!==n&&t(n=e)})}},checkbox:function(e,t,n,r,i,a,o,s){var c=Ma(s,e,"ngTrueValue",n.ngTrueValue,!0),u=Ma(s,e,"ngFalseValue",n.ngFalseValue,!1);t.on("change",function(e){r.$setViewValue(t[0].checked,e&&e.type)}),r.$render=function(){t[0].checked=r.$viewValue},r.$isEmpty=function(e){return!1===e},r.$formatters.push(function(e){return Oe(e,c)}),r.$parsers.push(function(e){return e?c:u})},hidden:ke,button:ke,submit:ke,reset:ke,file:ke};function va(t){t.$formatters.push(function(e){return t.$isEmpty(e)?e:e.toString()})}function ga(e,r,i,a,t,o){var s,c=he(r[0].type);if(!t.android){var u=!1;r.on("compositionstart",function(){u=!0}),r.on("compositionupdate",function(e){!we(e.data)&&""!==e.data||(u=!1)}),r.on("compositionend",function(){u=!1,l()})}var l=function(e){if(s&&(o.defer.cancel(s),s=null),!u){var t=r.val(),n=e&&e.type;"password"===c||i.ngTrim&&"false"===i.ngTrim||(t=Ae(t)),(a.$viewValue!==t||""===t&&a.$$hasNativeValidators)&&a.$setViewValue(t,n)}};if(t.hasEvent("input"))r.on("input",l);else{var n=function(e,t,n){s=s||o.defer(function(){s=null,t&&t.value===n||l(e)})};r.on("keydown",function(e){var t=e.keyCode;91===t||15<t&&t<19||37<=t&&t<=40||n(e,this,this.value)}),t.hasEvent("paste")&&r.on("paste cut drop",n)}r.on("change",l),ha[c]&&a.$$hasNativeValidators&&c===i.type&&r.on(pa,function(e){if(!s){var t=this[d],n=t.badInput,r=t.typeMismatch;s=o.defer(function(){s=null,t.badInput===n&&t.typeMismatch===r||l(e)})}}),a.$render=function(){var e=a.$isEmpty(a.$viewValue)?"":a.$viewValue;r.val()!==e&&r.val(e)}}function ya(a,o){return function(e,t){var n,r;if(S(e))return e;if(Se(e)){if('"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substring(1,e.length-1)),ia.test(e))return new Date(e);if(a.lastIndex=0,n=a.exec(e)){n.shift(),r=t?{yyyy:t.getFullYear(),MM:t.getMonth()+1,dd:t.getDate(),HH:t.getHours(),mm:t.getMinutes(),ss:t.getSeconds(),sss:t.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},ve(n,function(e,t){t<o.length&&(r[o[t]]=+e)});var i=new Date(r.yyyy,r.MM-1,r.dd,r.HH,r.mm,r.ss||0,1e3*r.sss||0);return r.yyyy<100&&i.setFullYear(r.yyyy),i}}return NaN}}function ka(y,k,b,w){return function(e,t,n,i,r,a,o,s){ba(e,t,n,i,y),ga(0,t,n,i,r,a);var c,u,l="time"===y||"datetimelocal"===y;if(i.$parsers.push(function(e){return i.$isEmpty(e)?null:k.test(e)?g(e,c):void(i.$$parserName=y)}),i.$formatters.push(function(e){if(e&&!S(e))throw no("datefmt","Expected `{0}` to be a date",e);if(m(e)){c=e;var t=i.$options.getOption("timezone");return t&&(c=J(c,u=t,!0)),function(e,t){var n=w;l&&Se(i.$options.getOption("timeSecondsFormat"))&&(n=w.replace("ss.sss",i.$options.getOption("timeSecondsFormat")).replace(/:$/,""));var r=o("date")(e,n,t);l&&i.$options.getOption("timeStripZeroSeconds")&&(r=r.replace(/(?::00)?(?:\.000)?$/,""));return r}(e,t)}return u=c=null,""}),E(n.min)||n.ngMin){var d=n.min||s(n.ngMin)(e),f=v(d);i.$validators.min=function(e){return!m(e)||we(f)||b(e)>=f},n.$observe("min",function(e){e!==d&&(f=v(e),d=e,i.$validate())})}if(E(n.max)||n.ngMax){var p=n.max||s(n.ngMax)(e),h=v(p);i.$validators.max=function(e){return!m(e)||we(h)||b(e)<=h},n.$observe("max",function(e){e!==p&&(h=v(e),p=e,i.$validate())})}function m(e){return e&&!(e.getTime&&e.getTime()!=e.getTime())}function v(e){return E(e)&&!S(e)?g(e)||void 0:e}function g(e,t){var n=i.$options.getOption("timezone");u&&u!==n&&(t=W(t,q(u)));var r=b(e,t);return!isNaN(r)&&n&&(r=J(r,n)),r}}}function ba(e,n,t,r,i){var a=n[0];(r.$$hasNativeValidators=xe(a.validity))&&r.$parsers.push(function(e){var t=n.prop(d)||{};if(!t.badInput&&!t.typeMismatch)return e;r.$$parserName=i})}function wa(t){t.$parsers.push(function(e){return t.$isEmpty(e)?null:sa.test(e)?parseFloat(e):void(t.$$parserName="number")}),t.$formatters.push(function(e){if(!t.$isEmpty(e)){if(!x(e))throw no("numfmt","Expected `{0}` to be a number",e);e=e.toString()}return e})}function xa(e){return E(e)&&!x(e)&&(e=parseFloat(e)),R(e)?void 0:e}function Sa(e){return(0|e)===e}function $a(e){var t=e.toString(),n=t.indexOf(".");if(-1!==n)return t.length-n-1;if(-1<e&&e<1){var r=/e-(\d+)$/.exec(t);if(r)return Number(r[1])}return 0}function _a(e,t,n){var r=Number(e),i=!Sa(r),a=!Sa(t),o=!Sa(n);if(i||a||o){var s=i?$a(r):0,c=a?$a(t):0,u=o?$a(n):0,l=Math.max(s,c,u),d=Math.pow(10,l);r*=d,t*=d,n*=d,i&&(r=Math.round(r)),a&&(t=Math.round(t)),o&&(n=Math.round(n))}return(r-t)%n==0}function Ma(e,t,n,r,i){var a;if(E(r)){if(!(a=e(r)).constant)throw no("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return a(t)}return i}function Ia(){var a={configurable:!0,enumerable:!1,get:function(){return this.getAttribute("value")||""},set:function(e){this.setAttribute("value",e)}};return{restrict:"E",priority:200,compile:function(e,t){if("hidden"===he(t.type))return{pre:function(e,t,n,r){var i=t[0];i.parentNode&&i.parentNode.insertBefore(i,i.nextSibling),Object.defineProperty&&Object.defineProperty(i,"value",a)}}}}}function Ca(){function r(e,t,n){var r=E(n)?n:9===de?"":null;e.prop("value",r),t.$set("value",n)}return{restrict:"A",priority:100,compile:function(e,t){return Ra.test(t.ngValue)?function(e,t,n){r(t,n,e.$eval(n.ngValue))}:function(e,t,n){e.$watch(n.ngValue,function(e){r(t,n,e)})}}}}var Aa=["$browser","$sniffer","$filter","$parse",function(i,a,o,s){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,t,n,r){r[0]&&(ma[he(n.type)]||ma.text)(e,t,n,r[0],a,i,o,s)}}}}],Ra=/^(true|false|\d+)$/,Da=["$compile",function(r){return{restrict:"AC",compile:function(e){return r.$$addBindingClass(e),function(e,t,n){r.$$addBindingInfo(t,n.ngBind),t=t[0],e.$watch(n.ngBind,function(e){t.textContent=He(e)})}}}}],Ea=["$interpolate","$compile",function(i,a){return{compile:function(e){return a.$$addBindingClass(e),function(e,t,n){var r=i(t.attr(n.$attr.ngBindTemplate));a.$$addBindingInfo(t,r.expressions),t=t[0],n.$observe("ngBindTemplate",function(e){t.textContent=we(e)?"":e})}}}}],Oa=["$sce","$parse","$compile",function(a,n,o){return{restrict:"A",compile:function(e,t){var r=n(t.ngBindHtml),i=n(t.ngBindHtml,function(e){return a.valueOf(e)});return o.$$addBindingClass(e),function(t,n,e){o.$$addBindingInfo(n,e.ngBindHtml),t.$watch(i,function(){var e=r(t);n.html(a.getTrustedHtml(e)||"")})}}}}],Pa=D({restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}});function Ta(o,s){var l;return o="ngClass"+o,["$parse",function(a){return{restrict:"AC",link:function(e,t,c){var n,r=t.data("$classCounts"),i=!0;function u(e,t){var n=[];return ve(e,function(e){(0<t||r[e])&&(r[e]=(r[e]||0)+t,r[e]===+(0<t)&&n.push(e))}),n.join(" ")}r||(r=Be(),t.data("$classCounts",r)),"ngClass"!==o&&(l=l||a("$index",function(e){return 1&e}),e.$watch(l,function(e){e===s?function(e){e=u(f(e),1),c.$addClass(e)}(n):function(e){e=u(f(e),-1),c.$removeClass(e)}(n);i=e})),e.$watch(a(c[o],p),function(e){i===s&&function(e,t){var n=f(e),r=f(t),i=d(n,r),a=d(r,n),o=u(i,-1),s=u(a,1);c.$addClass(s),c.$removeClass(o)}(n,e);n=e})}}}];function d(e,t){if(!e||!e.length)return[];if(!t||!t.length)return e;var n=[];e:for(var r=0;r<e.length;r++){for(var i=e[r],a=0;a<t.length;a++)if(i===t[a])continue e;n.push(i)}return n}function f(e){return e&&e.split(" ")}function p(t){if(!t)return t;var e=t;return $e(t)?e=t.map(p).join(" "):xe(t)?e=Object.keys(t).filter(function(e){return t[e]}).join(" "):Se(t)||(e=t+""),e}}var Fa=Ta("",!0),La=Ta("Odd",0),Na=Ta("Even",1),Ba=Ki({compile:function(e,t){t.$set("ngCloak",void 0),e.removeClass("ng-cloak")}}),Ha=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ja={},Ua={blur:!0,focus:!0};function za(n,i,a,o,s,c){return{restrict:"A",compile:function(e,t){var r=n(t[o]);return function(n,e){e.on(s,function(e){function t(){r(n,{$event:e})}if(i.$$phase)if(c)n.$evalAsync(t);else try{t()}catch(e){a(e)}else n.$apply(t)})}}}}ve("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(r){var i=Sn("ng-"+r);ja[i]=["$parse","$rootScope","$exceptionHandler",function(e,t,n){return za(e,t,n,i,r,Ua[r])}]});function Va(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,r){var i=n.ngList||", ",a="false"!==n.ngTrim,o=a?Ae(i):i;r.$parsers.push(function(e){if(!we(e)){var t=[];return e&&ve(e.split(o),function(e){e&&t.push(a?Ae(e):e)}),t}}),r.$formatters.push(function(e){if($e(e))return e.join(i)}),r.$isEmpty=function(e){return!e||!e.length}}}}var Ka=["$animate","$compile",function(c,u){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(e,n,r,t,i){var a,o,s;e.$watch(r.ngIf,function(e){e?o||i(function(e,t){o=t,e[e.length++]=u.$$createComment("end ngIf",r.ngIf),a={clone:e},c.enter(e,n.parent(),n)}):(s&&(s.remove(),s=null),o&&(o.$destroy(),o=null),a&&(s=ue(a.clone),c.leave(s).done(function(e){!1!==e&&(s=null)}),a=null))})}}}],qa=["$templateRequest","$anchorScroll","$animate",function(v,g,y){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:k.noop,compile:function(e,t){var n=t.ngInclude||t.src,h=t.onload||"",m=t.autoscroll;return function(o,s,e,c,u){function l(){t&&(t.remove(),t=null),d&&(d.$destroy(),d=null),f&&(y.leave(f).done(function(e){!1!==e&&(t=null)}),t=f,f=null)}var d,t,f,p=0;o.$watch(n,function(r){function i(e){!1===e||!E(m)||m&&!o.$eval(m)||g()}var a=++p;r?(v(r,!0).then(function(e){if(!o.$$destroyed&&a===p){var t=o.$new();c.template=e;var n=u(t,function(e){l(),y.enter(e,null,s).done(i)});f=n,(d=t).$emit("$includeContentLoaded",r),o.$eval(h)}},function(){o.$$destroyed||a===p&&(l(),o.$emit("$includeContentError",r))}),o.$emit("$includeContentRequested",r)):(l(),c.template=null)})}}}}],Wa=["$compile",function(i){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(e,t,n,r){if(me.call(t[0]).match(/SVG/))return t.empty(),void i(lt(r.template,le.document).childNodes)(e,function(e){t.append(e)},{futureParentElement:t});t.html(r.template),i(t.contents())(e)}}}],Ja=Ki({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),Ga="ng-valid",Ya="ng-invalid",Xa="ng-pristine",Za="ng-dirty",Qa="ng-untouched",eo="ng-touched",to="ng-not-empty",no=C("ngModel");function ro(e,t,n,r,i,a,o,s,c){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=c(n.name||"",!1)(e),this.$$parentForm=Ji,this.$options=io,this.$$updateEvents="",this.$$updateEventHandler=this.$$updateEventHandler.bind(this),this.$$parsedNgModel=i(n.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$parserName="parse",this.$$currentValidationRunId=0,this.$$scope=e,this.$$rootScope=e.$root,this.$$attr=n,this.$$element=r,this.$$animate=a,this.$$timeout=o,this.$$parse=i,this.$$q=s,this.$$exceptionHandler=t,ta(this),function(n){n.$$scope.$watch(function(e){var t=n.$$ngModelGet(e);return t===n.$modelValue||n.$modelValue!=n.$modelValue&&t!=t||n.$$setModelValue(t),t})}(this)}ro.$inject=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$q","$interpolate"],ro.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var n=this.$$parse(this.$$attr.ngModel+"()"),r=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(e){var t=this.$$parsedNgModel(e);return Me(t)&&(t=n(e)),t},this.$$ngModelSet=function(e,t){Me(this.$$parsedNgModel(e))?r(e,{$$$p:t}):this.$$parsedNgModelAssign(e,t)}}else if(!this.$$parsedNgModel.assign)throw no("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,Fe(this.$$element))},$render:ke,$isEmpty:function(e){return we(e)||""===e||null===e||e!=e},$$updateEmptyClasses:function(e){this.$isEmpty(e)?(this.$$animate.removeClass(this.$$element,to),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,to))},$setPristine:function(){this.$dirty=!1,this.$pristine=!0,this.$$animate.removeClass(this.$$element,Za),this.$$animate.addClass(this.$$element,Xa)},$setDirty:function(){this.$dirty=!0,this.$pristine=!1,this.$$animate.removeClass(this.$$element,Xa),this.$$animate.addClass(this.$$element,Za),this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1,this.$untouched=!0,this.$$animate.setClass(this.$$element,Qa,eo)},$setTouched:function(){this.$touched=!0,this.$untouched=!1,this.$$animate.setClass(this.$$element,eo,Qa)},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()},$validate:function(){if(!R(this.$modelValue)){var e=this.$$lastCommittedViewValue,t=this.$$rawModelValue,n=this.$valid,r=this.$modelValue,i=this.$options.getOption("allowInvalid"),a=this;this.$$runValidators(t,e,function(e){i||n===e||(a.$modelValue=e?t:void 0,a.$modelValue!==r&&a.$$writeModelToScope())})}},$$runValidators:function(r,i,t){this.$$currentValidationRunId++;var a,o,s,n=this.$$currentValidationRunId,c=this;(function(){var e=c.$$parserName;{if(!we(c.$$parserValid))return c.$$parserValid||(ve(c.$validators,function(e,t){u(t,null)}),ve(c.$asyncValidators,function(e,t){u(t,null)})),u(e,c.$$parserValid),c.$$parserValid;u(e,null)}return!0})()?(a=!0,ve(c.$validators,function(e,t){var n=Boolean(e(r,i));a=a&&n,u(t,n)}),a||(ve(c.$asyncValidators,function(e,t){u(t,null)}),0)?(o=[],s=!0,ve(c.$asyncValidators,function(e,t){var n=e(r,i);if(!I(n))throw no("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",n);u(t,void 0),o.push(n.then(function(){u(t,!0)},function(){u(t,s=!1)}))}),o.length?c.$$q.all(o).then(function(){e(s)},ke):e(!0)):e(!1)):e(!1);function u(e,t){n===c.$$currentValidationRunId&&c.$setValidity(e,t)}function e(e){n===c.$$currentValidationRunId&&t(e)}},$commitViewValue:function(){var e=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==e||""===e&&this.$$hasNativeValidators)&&(this.$$updateEmptyClasses(e),this.$$lastCommittedViewValue=e,this.$pristine&&this.$setDirty(),this.$$parseAndValidate())},$$parseAndValidate:function(){var t=this.$$lastCommittedViewValue,n=this;if(this.$$parserValid=!we(t)||void 0,this.$setValidity(this.$$parserName,null),this.$$parserName="parse",this.$$parserValid)for(var e=0;e<this.$parsers.length;e++)if(we(t=this.$parsers[e](t))){this.$$parserValid=!1;break}R(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var r=this.$modelValue,i=this.$options.getOption("allowInvalid");function a(){n.$modelValue!==r&&n.$$writeModelToScope()}this.$$rawModelValue=t,i&&(this.$modelValue=t,a()),this.$$runValidators(t,this.$$lastCommittedViewValue,function(e){i||(n.$modelValue=e?t:void 0,a())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue),ve(this.$viewChangeListeners,function(e){try{e()}catch(e){this.$$exceptionHandler(e)}},this)},$setViewValue:function(e,t){this.$viewValue=e,this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(t)},$$debounceViewValueCommit:function(e){var t=this.$options.getOption("debounce");x(t[e])?t=t[e]:x(t.default)&&-1===this.$options.getOption("updateOn").indexOf(e)?t=t.default:x(t["*"])&&(t=t["*"]),this.$$timeout.cancel(this.$$pendingDebounce);var n=this;0<t?this.$$pendingDebounce=this.$$timeout(function(){n.$commitViewValue()},t):this.$$rootScope.$$phase?this.$commitViewValue():this.$$scope.$apply(function(){n.$commitViewValue()})},$overrideModelOptions:function(e){this.$options=this.$options.createChild(e),this.$$setUpdateOnEvents()},$processModelValue:function(){var e=this.$$format();this.$viewValue!==e&&(this.$$updateEmptyClasses(e),this.$viewValue=this.$$lastCommittedViewValue=e,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,ke))},$$format:function(){for(var e=this.$formatters,t=e.length,n=this.$modelValue;t--;)n=e[t](n);return n},$$setModelValue:function(e){this.$modelValue=this.$$rawModelValue=e,this.$$parserValid=void 0,this.$processModelValue()},$$setUpdateOnEvents:function(){this.$$updateEvents&&this.$$element.off(this.$$updateEvents,this.$$updateEventHandler),this.$$updateEvents=this.$options.getOption("updateOn"),this.$$updateEvents&&this.$$element.on(this.$$updateEvents,this.$$updateEventHandler)},$$updateEventHandler:function(e){this.$$debounceViewValueCommit(e&&e.type)}},na({clazz:ro,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]}});var io,ao=["$rootScope",function(o){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:ro,priority:1,compile:function(e){return e.addClass(Xa).addClass(Qa).addClass(Ga),{pre:function(e,t,n,r){var i=r[0],a=r[1]||i.$$parentForm,o=r[2];o&&(i.$options=o.$options),i.$$initGetterSetters(),a.$addControl(i),n.$observe("name",function(e){i.$name!==e&&i.$$parentForm.$$renameControl(i,e)}),e.$on("$destroy",function(){i.$$parentForm.$removeControl(i)})},post:function(e,t,n,r){var i=r[0];function a(){i.$setTouched()}i.$$setUpdateOnEvents(),t.on("blur",function(){i.$touched||(o.$$phase?e.$evalAsync(a):e.$apply(a))})}}}}}],oo=/(\s+|^)default(\s+|$)/;function so(e){this.$$options=e}so.prototype={getOption:function(e){return this.$$options[e]},createChild:function(n){var r=!1;return ve(n=ge({},n),function(e,t){"$inherit"===e?"*"===t?r=!0:(n[t]=this.$$options[t],"updateOn"===t&&(n.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===t&&(n.updateOnDefault=!1,n[t]=Ae(e.replace(oo,function(){return n.updateOnDefault=!0," "})))},this),r&&(delete n["*"],uo(n,this.$$options)),uo(n,io.$$options),new so(n)}},io=new so({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});function co(){function e(e,t){this.$$attrs=e,this.$$scope=t}return e.$inject=["$attrs","$scope"],e.prototype={$onInit:function(){var e=this.parentCtrl?this.parentCtrl.$options:io,t=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=e.createChild(t)}},{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:e}}function uo(n,e){ve(e,function(e,t){E(n[t])||(n[t]=e)})}var lo=Ki({terminal:!0,priority:1e3}),fo=C("ngOptions"),po=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,ho=["$compile","$document","$parse",function(v,g,c){function y(e,t,d){var f=e.match(po);if(!f)throw fo("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",e,Fe(t));function p(e,t){return v(e,w(e,t))}var n=f[5]||f[7],r=f[6],i=/ as /.test(f[0])&&f[1],h=f[9],a=c(f[2]?f[1]:n),m=i&&c(i)||a,o=h&&c(h),v=h?function(e,t){return o(d,t)}:function(e){return Ht(e)},g=c(f[2]||f[1]),y=c(f[3]||""),k=c(f[4]||""),b=c(f[8]),s={},w=r?function(e,t){return s[r]=t,s[n]=e,s}:function(e){return s[n]=e,s};function x(e,t,n,r,i){this.selectValue=e,this.viewValue=t,this.label=n,this.group=r,this.disabled=i}function S(e){var t;if(!r&&T(e))t=e;else for(var n in t=[],e)e.hasOwnProperty(n)&&"$"!==n.charAt(0)&&t.push(n);return t}return{trackBy:h,getTrackByValue:p,getWatchables:c(b,function(e){for(var t=[],n=S(e=e||[]),r=n.length,i=0;i<r;i++){var a=e===n?i:n[i],o=e[a],s=w(o,a),c=v(o,s);if(t.push(c),f[2]||f[1]){var u=g(d,s);t.push(u)}if(f[4]){var l=k(d,s);t.push(l)}}return t}),getOptions:function(){for(var e=[],t={},n=b(d)||[],r=S(n),i=r.length,a=0;a<i;a++){var o=n===r?a:r[a],s=w(n[o],o),c=m(d,s),u=v(c,s),l=new x(u,c,g(d,s),y(d,s),k(d,s));e.push(l),t[u]=l}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[p(e)]},getViewValueFromOption:function(e){return h?N(e.viewValue):e.viewValue}}}}}var k=le.document.createElement("option"),b=le.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(e,t,n,r){r[0].registerOption=ke},post:function(e,a,t,n){for(var o=n[0],s=n[1],c=t.multiple,r=0,i=a.children(),u=i.length;r<u;r++)if(""===i[r].value){o.hasEmptyOption=!0,o.emptyOption=i.eq(r);break}a.empty();var l,d=!!o.emptyOption;fe(k.cloneNode(!1)).val("?");var f=y(t.ngOptions,a,e),p=g[0].createDocumentFragment();function h(e,t){var n=k.cloneNode(!1);t.appendChild(n),function(e,t){(e.element=t).disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label);t.value=e.selectValue}(e,n)}function m(e){var t=l.getOptionFromViewValue(e),n=t&&t.element;return n&&!n.selected&&(n.selected=!0),t}o.generateUnknownOptionValue=function(e){return"?"},c?(o.writeValue=function(e){if(l){var t=e&&e.map(m)||[];l.items.forEach(function(e){e.element.selected&&!L(t,e)&&(e.element.selected=!1)})}},o.readValue=function(){var e=a.val()||[],n=[];return ve(e,function(e){var t=l.selectValueMap[e];t&&!t.disabled&&n.push(l.getViewValueFromOption(t))}),n},f.trackBy&&e.$watchCollection(function(){if($e(s.$viewValue))return s.$viewValue.map(function(e){return f.getTrackByValue(e)})},function(){s.$render()})):(o.writeValue=function(e){if(l){var t=a[0].options[a[0].selectedIndex],n=l.getOptionFromViewValue(e);t&&t.removeAttribute("selected"),n?(a[0].value!==n.selectValue&&(o.removeUnknownOption(),a[0].value=n.selectValue,n.element.selected=!0),n.element.setAttribute("selected","selected")):o.selectUnknownOrEmptyOption(e)}},o.readValue=function(){var e=l.selectValueMap[a.val()];return e&&!e.disabled?(o.unselectEmptyOption(),o.removeUnknownOption(),l.getViewValueFromOption(e)):null},f.trackBy&&e.$watch(function(){return f.getTrackByValue(s.$viewValue)},function(){s.$render()})),d&&(v(o.emptyOption)(e),a.prepend(o.emptyOption),o.emptyOption[0].nodeType===ze?(o.hasEmptyOption=!1,o.registerOption=function(e,t){""===t.val()&&(o.hasEmptyOption=!0,o.emptyOption=t,o.emptyOption.removeClass("ng-scope"),s.$render(),t.on("$destroy",function(){var e=o.$isEmptyOptionSelected();o.hasEmptyOption=!1,o.emptyOption=void 0,e&&s.$render()}))}):o.emptyOption.removeClass("ng-scope")),e.$watchCollection(f.getWatchables,function(){var e=l&&o.readValue();if(l)for(var t=l.items.length-1;0<=t;t--){var n=l.items[t];E(n.group)?Ct(n.element.parentNode):Ct(n.element)}l=f.getOptions();var r={};if(l.items.forEach(function(e){var t;E(e.group)?((t=r[e.group])||(t=b.cloneNode(!1),p.appendChild(t),t.label=null===e.group?"null":e.group,r[e.group]=t),h(e,t)):h(e,p)}),a[0].appendChild(p),s.$render(),!s.$isEmpty(e)){var i=o.readValue();(f.trackBy||c?Oe(e,i):e===i)||(s.$setViewValue(i),s.$render())}})}}}}],mo=["$locale","$interpolate","$log",function(h,m,v){var g=/{}/g,y=/^when(Minus)?(.+)$/;return{link:function(i,a,o){var s,e=o.count,c=o.$attr.when&&a.attr(o.$attr.when),u=o.offset||0,l=i.$eval(c)||{},d={},t=m.startSymbol(),n=m.endSymbol(),r=t+e+"-"+u+n,f=k.noop;function p(e){a.text(e||"")}ve(o,function(e,t){var n=y.exec(t);if(n){var r=(n[1]?"-":"")+he(n[2]);l[r]=a.attr(o.$attr[t])}}),ve(l,function(e,t){d[t]=m(e.replace(g,r))}),i.$watch(e,function(e){var t=parseFloat(e),n=R(t);if(n||t in l||(t=h.pluralCat(t-u)),!(t===s||n&&R(s))){f();var r=d[t];we(r)?(null!=e&&v.debug("ngPluralize: no rule defined for '"+t+"' in "+c),f=ke,p()):f=i.$watch(r,p),s=t}})}}}],vo=C("ngRef"),go=["$parse",function(t){return{priority:-1,restrict:"A",compile:function(e,i){var a=Sn(Re(e)),o=t(i.ngRef),s=o.assign||function(){throw vo("nonassign",'Expression in ngRef="{0}" is non-assignable!',i.ngRef)};return function(e,t,n){var r;if(n.hasOwnProperty("ngRefRead")){if("$element"===n.ngRefRead)r=t;else if(!(r=t.data("$"+n.ngRefRead+"Controller")))throw vo("noctrl",'The controller for ngRefRead="{0}" could not be found on ngRef="{1}"',n.ngRefRead,i.ngRef)}else r=t.data("$"+a+"Controller");s(e,r=r||t),t.on("$destroy",function(){o(e)===r&&s(e,null)})}}}}],yo=["$parse","$animate","$compile",function(s,A,c){function R(e,t,n,r,i,a,o){e[n]=r,i&&(e[i]=a),e.$index=t,e.$first=0===t,e.$last=t===o-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0==(1&t))}function D(e,t,n){return Ht(n)}function E(e,t){return t}var O="$$NG_REMOVED",P=C("ngRepeat");return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(e,t){var x=t.ngRepeat,S=c.$$createComment("end ngRepeat",x),n=x.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!n)throw P("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",x);var r=n[1],i=n[2],$=n[3],a=n[4];if(!(n=r.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/)))throw P("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",r);var _,M=n[3]||n[1],I=n[2];if($&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test($)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test($)))throw P("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",$);if(a){var C={$id:Ht},o=s(a);_=function(e,t,n,r){return I&&(C[I]=t),C[M]=n,C.$index=r,o(e,C)}}return function(y,k,e,t,b){var w=Be();y.$watchCollection(i,function(e){var r,t,n,i,a,o,s,c,u,l,d,f,p,h=k[0],m=Be();if($&&(y[$]=e),T(e))u=e,c=_||D;else for(var v in c=_||E,u=[],e)pe.call(e,v)&&"$"!==v.charAt(0)&&u.push(v);for(i=u.length,d=new Array(i),r=0;r<i;r++)if(a=e===u?r:u[r],o=e[a],s=c(y,a,o,r),w[s])l=w[s],delete w[s],m[s]=l,d[r]=l;else{if(m[s])throw ve(d,function(e){e&&e.scope&&(w[e.id]=e)}),P("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",x,s,o);d[r]={id:s,scope:void 0,clone:void 0},m[s]=!0}for(var g in C&&(C[M]=void 0),w){if(f=ue((l=w[g]).clone),A.leave(f),f[0].parentNode)for(r=0,t=f.length;r<t;r++)f[r][O]=!0;l.scope.$destroy()}for(r=0;r<i;r++)if(a=e===u?r:u[r],o=e[a],(l=d[r]).scope){for(n=h;(n=n.nextSibling)&&n[O];);l.clone[0]!==n&&A.move(ue(l.clone),null,h),h=(p=l).clone[p.clone.length-1],R(l.scope,r,M,o,I,a,i)}else b(function(e,t){l.scope=t;var n=S.cloneNode(!1);e[e.length++]=n,A.enter(e,null,h),h=n,l.clone=e,m[l.id]=l,R(l.scope,r,M,o,I,a,i)});w=m})}}}}],ko="ng-hide-animate",bo=["$animate",function(r){return{restrict:"A",multiElement:!0,link:function(e,t,n){e.$watch(n.ngShow,function(e){r[e?"removeClass":"addClass"](t,"ng-hide",{tempClasses:ko})})}}}],wo=["$animate",function(r){return{restrict:"A",multiElement:!0,link:function(e,t,n){e.$watch(n.ngHide,function(e){r[e?"addClass":"removeClass"](t,"ng-hide",{tempClasses:ko})})}}}],xo=Ki(function(e,n,t){e.$watchCollection(t.ngStyle,function(e,t){t&&e!==t&&ve(t,function(e,t){n.css(t,"")}),e&&n.css(e)})}),So=["$animate","$compile",function(l,d){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,t,n,i){function a(t,n){return function(e){!1!==e&&t.splice(n,1)}}var r=n.ngSwitch||n.on,o=[],s=[],c=[],u=[];e.$watch(r,function(e){for(var t,n;c.length;)l.cancel(c.pop());for(t=0,n=u.length;t<n;++t){var r=ue(s[t].clone);u[t].$destroy(),(c[t]=l.leave(r)).done(a(c,t))}s.length=0,u.length=0,(o=i.cases["!"+e]||i.cases["?"])&&ve(o,function(i){i.transclude(function(e,t){u.push(t);var n=i.element;e[e.length++]=d.$$createComment("end ngSwitchWhen");var r={clone:e};s.push(r),l.enter(e,n.parent(),n)})})})}}}],$o=Ki({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){ve(n.ngSwitchWhen.split(n.ngSwitchWhenSeparator).sort().filter(function(e,t,n){return n[t-1]!==e}),function(e){r.cases["!"+e]=r.cases["!"+e]||[],r.cases["!"+e].push({transclude:i,element:t})})}}),_o=Ki({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:t})}}),Mo=C("ngTransclude"),Io=["$compile",function(t){return{restrict:"EAC",compile:function(e){var s=t(e.contents());return e.empty(),function(e,n,t,r,i){if(!i)throw Mo("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",Fe(n));t.ngTransclude===t.$attr.ngTransclude&&(t.ngTransclude="");var a=t.ngTransclude||t.ngTranscludeSlot;function o(){s(e,function(e){n.append(e)})}i(function(e,t){e.length&&function(e){for(var t=0,n=e.length;t<n;t++){var r=e[t];if(r.nodeType!==Ue||r.nodeValue.trim())return!0}}(e)?n.append(e):(o(),t.$destroy())},null,a),a&&!i.isSlotFilled(a)&&o()}}}}],Co=["$templateCache",function(i){return{restrict:"E",terminal:!0,compile:function(e,t){if("text/ng-template"===t.type){var n=t.id,r=e[0].text;i.put(n,r)}}}}],Ao={$setViewValue:ke,$render:ke};function Ro(e,t){e.prop("selected",t),e.attr("selected",t)}function Do(){return{restrict:"E",require:["select","?ngModel"],controller:Fo,priority:1,link:{pre:function(e,t,n,r){var i=r[0],a=r[1];if(!a)return void(i.registerOption=ke);if(i.ngModelCtrl=a,t.on("change",function(){i.removeUnknownOption(),e.$apply(function(){a.$setViewValue(i.readValue())})}),n.multiple){i.multiple=!0,i.readValue=function(){var n=[];return ve(t.find("option"),function(e){if(e.selected&&!e.disabled){var t=e.value;n.push(t in i.selectValueMap?i.selectValueMap[t]:t)}}),n},i.writeValue=function(n){ve(t.find("option"),function(e){var t=!!n&&(L(n,e.value)||L(n,i.selectValueMap[e.value]));t!==e.selected&&Ro(fe(e),t)})};var o,s=NaN;e.$watch(function(){s!==a.$viewValue||Oe(o,a.$viewValue)||(o=qe(a.$viewValue),a.$render()),s=a.$viewValue}),a.$isEmpty=function(e){return!e||0===e.length}}},post:function(e,t,n,r){var i=r[1];if(!i)return;var a=r[0];i.$render=function(){a.writeValue(i.$viewValue)}}}}}var Eo,Oo,Po,To,Fo=["$element","$scope",function(i,t){var s=this,r=new zt;s.selectValueMap={},s.ngModelCtrl=Ao,s.multiple=!1,s.unknownOption=fe(le.document.createElement("option")),s.hasEmptyOption=!1,s.emptyOption=void 0,s.renderUnknownOption=function(e){var t=s.generateUnknownOptionValue(e);s.unknownOption.val(t),i.prepend(s.unknownOption),Ro(s.unknownOption,!0),i.val(t)},s.updateUnknownOption=function(e){var t=s.generateUnknownOptionValue(e);s.unknownOption.val(t),Ro(s.unknownOption,!0),i.val(t)},s.generateUnknownOptionValue=function(e){return"? "+Ht(e)+" ?"},s.removeUnknownOption=function(){s.unknownOption.parent()&&s.unknownOption.remove()},s.selectEmptyOption=function(){s.emptyOption&&(i.val(""),Ro(s.emptyOption,!0))},s.unselectEmptyOption=function(){s.hasEmptyOption&&Ro(s.emptyOption,!1)},t.$on("$destroy",function(){s.renderUnknownOption=ke}),s.readValue=function(){var e=i.val(),t=e in s.selectValueMap?s.selectValueMap[e]:e;return s.hasOption(t)?t:null},s.writeValue=function(e){var t=i[0].options[i[0].selectedIndex];if(t&&Ro(fe(t),!1),s.hasOption(e)){s.removeUnknownOption();var n=Ht(e);i.val(n in s.selectValueMap?n:e);var r=i[0].options[i[0].selectedIndex];Ro(fe(r),!0)}else s.selectUnknownOrEmptyOption(e)},s.addOption=function(e,t){if(t[0].nodeType!==ze){ce(e,'"option value"'),""===e&&(s.hasEmptyOption=!0,s.emptyOption=t);var n=r.get(e)||0;r.set(e,n+1),c()}},s.removeOption=function(e){var t=r.get(e);t&&(1===t?(r.delete(e),""===e&&(s.hasEmptyOption=!1,s.emptyOption=void 0)):r.set(e,t-1))},s.hasOption=function(e){return!!r.get(e)},s.$hasEmptyOption=function(){return s.hasEmptyOption},s.$isUnknownOptionSelected=function(){return i[0].options[0]===s.unknownOption[0]},s.$isEmptyOptionSelected=function(){return s.hasEmptyOption&&i[0].options[i[0].selectedIndex]===s.emptyOption[0]};var e=!(s.selectUnknownOrEmptyOption=function(e){null==e&&s.emptyOption?(s.removeUnknownOption(),s.selectEmptyOption()):s.unknownOption.parent().length?s.updateUnknownOption(e):s.renderUnknownOption(e)});function c(){e||(e=!0,t.$$postDigest(function(){e=!1,s.ngModelCtrl.$render()}))}var n=!1;function u(e){n||(n=!0,t.$$postDigest(function(){t.$$destroyed||(n=!1,s.ngModelCtrl.$setViewValue(s.readValue()),e&&s.ngModelCtrl.$render())}))}s.registerOption=function(e,r,i,t,n){var a,o;i.$attr.ngValue?i.$observe("value",function(e){var t,n=r.prop("selected");E(o)&&(s.removeOption(a),delete s.selectValueMap[o],t=!0),o=Ht(e),a=e,s.selectValueMap[o]=e,s.addOption(e,r),r.attr("value",o),t&&n&&u()}):t?i.$observe("value",function(e){var t;s.readValue();var n=r.prop("selected");E(a)&&(s.removeOption(a),t=!0),a=e,s.addOption(e,r),t&&n&&u()}):n?e.$watch(n,function(e,t){i.$set("value",e);var n=r.prop("selected");t!==e&&s.removeOption(t),s.addOption(e,r),t&&n&&u()}):s.addOption(i.value,r);i.$observe("disabled",function(e){("true"===e||e&&r.prop("selected"))&&(s.multiple?u(!0):(s.ngModelCtrl.$setViewValue(null),s.ngModelCtrl.$render()))}),r.on("$destroy",function(){var e=s.readValue(),t=i.value;s.removeOption(t),c(),(s.multiple&&e&&-1!==e.indexOf(t)||e===t)&&u(!0)})}}],Lo=["$interpolate",function(n){return{restrict:"E",priority:100,compile:function(e,t){var o,s;return E(t.ngValue)||(E(t.value)?o=n(t.value,!0):(s=n(e.text(),!0))||t.$set("value",e.text())),function(e,t,n){var r="$selectController",i=t.parent(),a=i.data(r)||i.parent().data(r);a&&a.registerOption(e,t,n,o,s)}}}}],No=["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=n.hasOwnProperty("required")||a(n.ngRequired)(e);n.ngRequired||(n.required=!0),r.$validators.required=function(e,t){return!i||!r.$isEmpty(t)},n.$observe("required",function(e){i!==e&&(i=e,r.$validate())})}}}}],Bo=["$parse",function(n){return{restrict:"A",require:"?ngModel",compile:function(e,t){var o,s;return t.ngPattern&&(o=t.ngPattern,s="/"===t.ngPattern.charAt(0)&&a.test(t.ngPattern)?function(){return t.ngPattern}:n(t.ngPattern)),function(e,n,t,r){if(r){var i=t.pattern;t.ngPattern?i=s(e):o=t.pattern;var a=Uo(i,o,n);t.$observe("pattern",function(e){var t=a;a=Uo(e,o,n),(t&&t.toString())!==(a&&a.toString())&&r.$validate()}),r.$validators.pattern=function(e,t){return r.$isEmpty(t)||we(a)||a.test(t)}}}}}}],Ho=["$parse",function(o){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=n.maxlength||o(n.ngMaxlength)(e),a=zo(i);n.$observe("maxlength",function(e){i!==e&&(a=zo(e),i=e,r.$validate())}),r.$validators.maxlength=function(e,t){return a<0||r.$isEmpty(t)||t.length<=a}}}}}],jo=["$parse",function(o){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=n.minlength||o(n.ngMinlength)(e),a=zo(i)||-1;n.$observe("minlength",function(e){i!==e&&(a=zo(e)||-1,i=e,r.$validate())}),r.$validators.minlength=function(e,t){return r.$isEmpty(t)||t.length>=a}}}}}];function Uo(e,t,n){if(e){if(Se(e)&&(e=new RegExp("^"+e+"$")),!e.test)throw C("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",t,e,Fe(n));return e}}function zo(e){var t=y(e);return R(t)?-1:t}le.angular.bootstrap?le.console&&console.log("WARNING: Tried to load AngularJS more than once."):(function(){var i;if(!oe){var e=H();(t=we(e)?le.jQuery:e?le[e]:void 0)&&t.fn.on?ge((fe=t).fn,{scope:Rt.scope,isolateScope:Rt.isolateScope,controller:Rt.controller,injector:Rt.injector,inheritedData:Rt.inheritedData}):fe=ft,i=fe.cleanData,fe.cleanData=function(e){for(var t,n,r=0;null!=(n=e[r]);r++)(t=(fe._data(n)||{}).events)&&t.$destroy&&fe(n).triggerHandler("$destroy");i(e)},k.element=fe,oe=!0}}(),ge(k,{errorHandlingConfig:e,bootstrap:ne,copy:N,extend:ge,merge:v,equals:Oe,element:fe,forEach:ve,injector:Qt,noop:ke,bind:Te,toJson:z,fromJson:V,identity:be,isUndefined:we,isDefined:E,isString:Se,isFunction:Me,isObject:xe,isNumber:x,isElement:F,isArray:$e,version:Je,isDate:S,callbacks:{$$counter:0},getTestability:ie,reloadWithDebugInfo:re,$$minErr:C,$$csp:B,$$encodeUriSegment:X,$$encodeUriQuery:Z,$$lowercase:he,$$stringify:He,$$uppercase:f}),(Eo=le,Oo=C("$injector"),Po=C("ng"),(To=Vo(Eo,"angular",Object)).$$minErr=To.$$minErr||C,(g=Vo(To,"module",function(){var e={};return function(s,c,u){var l={};return function(e,t){if("hasOwnProperty"===e)throw Po("badname","hasOwnProperty is not a valid {0} name",t)}(s,"module"),c&&e.hasOwnProperty(s)&&(e[s]=null),Vo(e,s,function(){if(!c)throw Oo("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",s);var a=[],e=[],t=[],n=r("$injector","invoke","push",e),o={_invokeQueue:a,_configBlocks:e,_runBlocks:t,info:function(e){if(E(e)){if(!xe(e))throw Po("aobj","Argument '{0}' must be an object","value");return l=e,this}return l},requires:c,name:s,provider:i("$provide","provider"),factory:i("$provide","factory"),service:i("$provide","service"),value:r("$provide","value"),constant:r("$provide","constant","unshift"),decorator:i("$provide","decorator",e),animation:i("$animateProvider","register"),filter:i("$filterProvider","register"),controller:i("$controllerProvider","register"),directive:i("$compileProvider","directive"),component:i("$compileProvider","component"),config:n,run:function(e){return t.push(e),this}};return u&&n(u),o;function r(e,t,n,r){return r=r||a,function(){return r[n||"push"]([e,t,arguments]),o}}function i(n,r,i){return i=i||a,function(e,t){return t&&Me(t)&&(t.$$moduleName=s),i.push([n,r,arguments]),o}}})}}))("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:Jr}),e.provider("$compile",kn).directive({a:qi,input:Aa,textarea:Aa,form:Qi,script:Co,select:Do,option:Lo,ngBind:Da,ngBindHtml:Oa,ngBindTemplate:Ea,ngClass:Fa,ngClassEven:Na,ngClassOdd:La,ngCloak:Ba,ngController:Ha,ngForm:ea,ngHide:wo,ngIf:Ka,ngInclude:qa,ngInit:Ja,ngNonBindable:lo,ngPluralize:mo,ngRef:go,ngRepeat:yo,ngShow:bo,ngStyle:xo,ngSwitch:So,ngSwitchWhen:$o,ngSwitchDefault:_o,ngOptions:ho,ngTransclude:Io,ngModel:ao,ngList:Va,ngChange:Pa,pattern:Bo,ngPattern:Bo,required:No,ngRequired:No,minlength:jo,ngMinlength:jo,maxlength:Ho,ngMaxlength:Ho,ngValue:Ca,ngModelOptions:co}).directive({ngInclude:Wa,input:Ia}).directive(Wi).directive(ja),e.provider({$anchorScroll:en,$animate:fn,$animateCss:dn,$$animateJs:sn,$$animateQueue:cn,$$AnimateRunner:ln,$$animateAsyncRun:un,$browser:hn,$cacheFactory:mn,$controller:Cn,$document:An,$$isDocumentHidden:Rn,$exceptionHandler:Dn,$filter:ki,$$forceReflow:En,$interpolate:Xn,$interval:Qn,$$intervalFactory:er,$http:Wn,$httpParamSerializer:Hn,$httpParamSerializerJQLike:jn,$httpBackend:Gn,$xhrFactory:Jn,$jsonpCallbacks:tr,$location:yr,$log:kr,$parse:Br,$rootScope:Wr,$q:Hr,$$q:jr,$sce:ti,$sceDelegate:ei,$sniffer:ni,$$taskTrackerFactory:ri,$templateCache:vn,$templateRequest:oi,$$testability:si,$timeout:ui,$window:vi,$$rAF:qr,$$jqLite:Bt,$$Map:Vt,$$cookieReader:yi})}])).info({angularVersion:"1.7.9"}),k.module("ngLocale",[],["$provide",function(e){var i="one",a="other";function o(e,t){var n=t;void 0===n&&(n=Math.min(function(e){var t=(e+="").indexOf(".");return-1==t?0:e.length-t-1}(e),3));var r=Math.pow(10,n);return{v:n,f:(e*r|0)%r}}e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(e,t){var n=0|e,r=o(e,t);return 1==n&&0==r.v?i:a}})}]),fe(function(){te(le.document,ne)}));function Vo(e,t,n){return e[t]||(e[t]=n())}}(window),window.angular.$$csp().noInlineStyle||window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>');var bind,extend,forEach,isArray,isDefined,lowercase,noop,nodeContains,htmlParser,htmlSanitizeWriter,$sanitizeMinErr=angular.$$minErr("$sanitize");function $SanitizeProvider(){var t=!1,r=!1;this.$get=["$$sanitizeUri",function(n){return t=!0,r&&extend(f,l),function(e){var t=[];return htmlParser(e,htmlSanitizeWriter(t,function(e,t){return!/^unsafe:/.test(n(e,t))})),t.join("")}}],this.enableSvg=function(e){return isDefined(e)?(r=e,this):r},this.addValidElements=function(e){return t||(isArray(e)&&(e={htmlElements:e}),k(l,e.svgElements),k(s,e.htmlVoidElements),k(f,e.htmlVoidElements),k(f,e.htmlElements)),this},this.addValidAttrs=function(e){return t||extend(v,y(e,!0)),this},bind=angular.bind,extend=angular.extend,forEach=angular.forEach,isArray=angular.isArray,isDefined=angular.isDefined,lowercase=angular.$$lowercase,noop=angular.noop,htmlParser=function(e,t){null==e?e="":"string"!=typeof e&&(e=""+e);var n=b(e);if(!n)return"";var r=5;do{if(0===r)throw $sanitizeMinErr("uinput","Failed to sanitize html because the input is unstable");r--,e=n.innerHTML,n=b(e)}while(e!==n.innerHTML);var i=n.firstChild;for(;i;){switch(i.nodeType){case 1:t.start(i.nodeName.toLowerCase(),w(i.attributes));break;case 3:t.chars(i.textContent)}var a;if(!((a=i.firstChild)||(1===i.nodeType&&t.end(i.nodeName.toLowerCase()),a=S("nextSibling",i))))for(;null==a&&(i=S("parentNode",i))!==n;)a=S("nextSibling",i),1===i.nodeType&&t.end(i.nodeName.toLowerCase());i=a}for(;i=n.firstChild;)n.removeChild(i)},htmlSanitizeWriter=function(e,a){var t=!1,o=bind(e,e.push);return{start:function(i,e){i=lowercase(i),!t&&d[i]&&(t=i),t||!0!==f[i]||(o("<"),o(i),forEach(e,function(e,t){var n=lowercase(t),r="img"===i&&"src"===n||"background"===n;!0!==v[n]||!0===p[n]&&!a(e,r)||(o(" "),o(t),o('="'),o(x(e)),o('"'))}),o(">"))},end:function(e){e=lowercase(e),t||!0!==f[e]||!0===s[e]||(o("</"),o(e),o(">")),e==t&&(t=!1)},chars:function(e){t||o(x(e))}}},nodeContains=window.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))};var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/([^#-~ |!])/g,s=g("area,br,col,hr,img,wbr"),e=g("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),a=g("rp,rt"),o=extend({},a,e),c=extend({},e,g("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul,progress")),u=extend({},a,g("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),l=g("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),d=g("script,style"),f=extend({},s,c,u,o),p=g("background,cite,href,longdesc,src,xlink:href,xml:base"),h=g("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width,style"),m=g("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),v=extend({},p,m,h);function g(e,t){return y(e.split(","),t)}function y(e,t){var n,r={};for(n=0;n<e.length;n++)r[t?lowercase(e[n]):e[n]]=!0;return r}function k(e,t){t&&t.length&&extend(e,y(t))}var b=function(r,t){var e;if(!t||!t.implementation)throw $sanitizeMinErr("noinert","Can't create an inert html document");var n=((e=t.implementation.createHTMLDocument("inert")).documentElement||e.getDocumentElement()).querySelector("body");return n.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',n.querySelector("svg")?(n.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',n.querySelector("svg img")?function(e){e="<remove></remove>"+e;try{var t=(new r.DOMParser).parseFromString(e,"text/html").body;return t.firstChild.remove(),t}catch(e){return}}:function(e){n.innerHTML=e,t.documentMode&&function e(t){for(;t;){if(t.nodeType===window.Node.ELEMENT_NODE)for(var n=t.attributes,r=0,i=n.length;r<i;r++){var a=n[r],o=a.name.toLowerCase();"xmlns:ns1"!==o&&0!==o.lastIndexOf("ns1:",0)||(t.removeAttributeNode(a),r--,i--)}var s=t.firstChild;s&&e(s),t=S("nextSibling",t)}}(n);return n}):function(e){e="<remove></remove>"+e;try{e=encodeURI(e)}catch(e){return}var t=new r.XMLHttpRequest;t.responseType="document",t.open("GET","data:text/html;charset=utf-8,"+e,!1),t.send(null);var n=t.response.body;return n.firstChild.remove(),n}}(window,window.document);function w(e){for(var t={},n=0,r=e.length;n<r;n++){var i=e[n];t[i.name]=i.value}return t}function x(e){return e.replace(/&/g,"&amp;").replace(n,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(i,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function S(e,t){var n=t[e];if(n&&nodeContains.call(t,n))throw $sanitizeMinErr("elclob","Failed to sanitize html because the element is clobbered: {0}",t.outerHTML||t.outerText);return n}}function sanitizeText(e){var t=[];return htmlSanitizeWriter(t,noop).chars(e),t.join("")}angular.module("ngSanitize",[]).provider("$sanitize",$SanitizeProvider).info({angularVersion:'"NG_VERSION_FULL"'}),function(){function p(e,t){return e.set(t[0],t[1]),e}function h(e,t){return e.add(t),e}function n(e,t){for(var n=-1,r=null==e?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function l(e,t){return!(null==e||!e.length)&&-1<c(e,t,0)}function a(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function u(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function m(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)n=t(n,e[r],r,e);return n}function v(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function i(e,t,n){var r=e.length;for(n+=-1;++n<r;)if(t(e[n],n,e))return n;return-1}function c(e,t,n){if(t==t)e:{--n;for(var r=e.length;++n<r;)if(e[n]===t){e=n;break e}e=-1}else e=i(e,o,n);return e}function o(e){return e!=e}function g(e,t){return e.has(t)}function y(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function e(t){var n=Object;return function(e){return t(n(e))}}function k(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function r(){}function t(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function d(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function b(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new d;++t<n;)this.add(e[t])}function w(e){this.size=(this.__data__=new s(e)).size}function f(e,t){var n=Sn(e),r=!n&&xn(e),i=!n&&!r&&$n(e),a=!n&&!r&&!i&&_n(e);if(n=n||r||i||a){r=e.length;for(var o=String,s=-1,c=Array(r);++s<r;)c[s]=o(s);r=c}else r=[];var u;o=r.length;for(u in e)!t&&!yt.call(e,u)||n&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||te(u,o))||r.push(u);return r}function x(e,t,n){(n===He||pe(e[t],n))&&(n!==He||t in e)||_(e,t,n)}function S(e,t,n){var r=e[t];yt.call(e,t)&&pe(r,n)&&(n!==He||t in e)||_(e,t,n)}function $(e,t){for(var n=e.length;n--;)if(pe(e[n][0],t))return n;return-1}function _(e,t,n){"__proto__"==t&&Ot?Ot(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function M(n,r,i,e,t,a){var o,s=1&r,c=2&r,u=4&r;if(i&&(o=t?i(n,e,t,a):i(n)),o!==He)return o;if(!ye(n))return n;if(e=Sn(n)){if(o=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&yt.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(n),!s)return U(n,o)}else{var l=ln(n),d="[object Function]"==l||"[object GeneratorFunction]"==l;if($n(n))return B(n,s);if("[object Object]"==l||"[object Arguments]"==l||d&&!t){if(o=c||d?{}:Q(n),!s)return c?function(e,t){return z(e,un(e),t)}(n,function(e,t){return e&&z(t,De(t),e)}(o,n)):function(e,t){return z(e,cn(e),t)}(n,function(e,t){return e&&z(t,Re(t),e)}(o,n))}else{if(!nt[l])return t?n:{};o=function(e,t,n,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return H(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return t=r?H(e.buffer):e.buffer,new e.constructor(t,e.byteOffset,e.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return j(e,r);case"[object Map]":return m(t=r?n(y(e),1):y(e),p,new e.constructor);case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return(t=new e.constructor(e.source,Ge.exec(e))).lastIndex=e.lastIndex,t;case"[object Set]":return m(t=r?n(k(e),1):k(e),h,new e.constructor);case"[object Symbol]":return Qt?Object(Qt.call(e)):{}}}(n,l,M,s)}}if(t=(a=a||new w).get(n))return t;a.set(n,o);c=u?c?G:J:c?De:Re;var f=e?He:c(n);return function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););}(f||n,function(e,t){f&&(e=n[t=e]),S(o,t,M(e,r,i,t,n,a))}),o}function I(e,t){for(var n=0,r=(t=N(t,e)).length;null!=e&&n<r;)e=e[oe(t[n++])];return n&&n==r?e:He}function C(e,t,n){return t=t(e),Sn(e)?t:u(t,n(e))}function A(e){if(null==e)e=e===He?"[object Undefined]":"[object Null]";else if(Et&&Et in Object(e)){var t=yt.call(e,Et),n=e[Et];try{e[Et]=He;var r=!0}catch(e){}var i=bt.call(e);r&&(t?e[Et]=n:delete e[Et]),e=i}else e=bt.call(e);return e}function R(e){return ke(e)&&"[object Arguments]"==A(e)}function D(e,t,n,r,i){if(e===t)t=!0;else if(null==e||null==t||!ke(e)&&!ke(t))t=e!=e&&t!=t;else e:{var a,o,s=Sn(e),c=Sn(t),u="[object Object]"==(a="[object Arguments]"==(a=s?"[object Array]":ln(e))?"[object Object]":a);c="[object Object]"==(o="[object Arguments]"==(o=c?"[object Array]":ln(t))?"[object Object]":o);if((o=a==o)&&$n(e)){if(!$n(t)){t=!1;break e}u=!(s=!0)}if(o&&!u)i=i||new w,t=s||_n(e)?q(e,t,n,r,D,i):function(e,t,n,r,i,a,o){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new _t(e),new _t(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return pe(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var s=y;case"[object Set]":if(s=s||k,e.size!=t.size&&!(1&r))break;return(n=o.get(e))?n==t:(r|=2,o.set(e,t),t=q(s(e),s(t),r,i,a,o),o.delete(e),t);case"[object Symbol]":if(Qt)return Qt.call(e)==Qt.call(t)}return!1}(e,t,a,n,r,D,i);else{if(!(1&n)&&(s=u&&yt.call(e,"__wrapped__"),a=c&&yt.call(t,"__wrapped__"),s||a)){t=D(e=s?e.value():e,t=a?t.value():t,n,r,i=i||new w);break e}if(o)t:if(i=i||new w,s=1&n,a=J(e),c=a.length,o=J(t).length,c==o||s){for(u=c;u--;){var l=a[u];if(!(s?l in t:yt.call(t,l))){t=!1;break t}}if((o=i.get(e))&&i.get(t))t=o==t;else{o=!0,i.set(e,t),i.set(t,e);for(var d=s;++u<c;){var f=e[l=a[u]],p=t[l];if(r)var h=s?r(p,f,l,t,e,i):r(f,p,l,e,t,i);if(h===He?f!==p&&!D(f,p,n,r,i):!h){o=!1;break}d=d||"constructor"==l}o&&!d&&((n=e.constructor)!=(r=t.constructor)&&"constructor"in e&&"constructor"in t&&!("function"==typeof n&&n instanceof n&&"function"==typeof r&&r instanceof r)&&(o=!1)),i.delete(e),i.delete(t),t=o}}else t=!1;else t=!1}}return t}function E(e){return"function"==typeof e?e:null==e?Pe:"object"==typeof e?Sn(e)?function(n,r){return ne(n)&&r==r&&!ye(r)?ie(oe(n),r):function(e){var t=Ce(e,n);return t===He&&t===r?Ae(e,n):D(r,t,3)}}(e[0],e[1]):function(t){var n=function(e){for(var t=Re(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,i==i&&!ye(i)]}return t}(t);return 1==n.length&&n[0][2]?ie(n[0][0],n[0][1]):function(e){return e===t||function(e,t){var n=t.length,r=n;if(null==e)return!r;for(e=Object(e);n--;){if((i=t[n])[2]?i[1]!==e[i[0]]:!(i[0]in e))return!1}for(;++n<r;){var i,a=(i=t[n])[0],o=e[a],s=i[1];if(i[2]){if(o===He&&!(a in e))return!1}else if(i=new w,void 0!==He||!D(s,o,3,void 0,i))return!1}return!0}(e,n)}}(e):Le(e)}function O(l,d,f,p,h){l!==d&&an(d,function(e,t){if(ye(e)){var n=h=h||new w,r=l[t],i=d[t];if(u=n.get(i))x(l,t,u);else{var a=(u=p?p(r,i,t+"",l,d,n):He)===He;if(a){var o=Sn(i),s=!o&&$n(i),c=!o&&!s&&_n(i),u=i;o||s||c?u=Sn(r)?r:me(r)?U(r):s?B(i,!(a=!1)):c?j(i,!(a=!1)):[]:be(i)||xn(i)?xn(u=r)?u=Me(r):(!ye(r)||f&&ve(r))&&(u=Q(i)):a=!1}a&&(n.set(i,u),O(u,i,f,p,n),n.delete(i)),x(l,t,u)}}else(n=p?p(l[t],e,t+"",l,d,h):He)===He&&(n=e),x(l,t,n)},De)}function P(n,e){return function(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=I(e,o);if(n(s,o)){var c=a;o=N(o,e);if(ye(c)){o=N(o,c);for(var u=-1,l=o.length,d=l-1;null!=c&&++u<l;){var f=oe(o[u]),p=s;if(u!=d){var h=c[f];(p=He)===He&&(p=ye(h)?h:te(o[u+1])?[]:{})}S(c,f,p),c=c[f]}}}}return a}(n,e,function(e,t){return Ae(n,t)})}function T(e){return gn(ae(e,void 0,Pe),e+"")}function F(e){if("string"==typeof e)return e;if(Sn(e))return a(e,F)+"";if(xe(e))return en?en.call(e):"";var t=e+"";return"0"==t&&1/e==-je?"-0":t}function L(e,t){var n;if((t=N(t,e)).length<2)n=e;else{var r=0,i=-1,a=-1,o=(n=t).length;for(r<0&&(r=o<-r?0:o+r),(i=o<i?o:i)<0&&(i+=o),o=i<r?0:i-r>>>0,r>>>=0,i=Array(o);++a<o;)i[a]=n[a+r];n=I(e,i)}null==(e=n)||delete e[oe(le(t))]}function N(e,t){return Sn(e)?e:ne(e,t)?[e]:yn(Ie(e))}function B(e,t){if(t)return e.slice();var n=e.length;n=Mt?Mt(n):new e.constructor(n);return e.copy(n),n}function H(e){var t=new e.constructor(e.byteLength);return new _t(t).set(new _t(e)),t}function j(e,t){return new e.constructor(t?H(e.buffer):e.buffer,e.byteOffset,e.length)}function U(e,t){var n=-1,r=e.length;for(t=t||Array(r);++n<r;)t[n]=e[n];return t}function z(e,t,n){var r=!n;n=n||{};for(var i=-1,a=t.length;++i<a;){var o=t[i],s=He;s===He&&(s=e[o]),r?_(n,o,s):S(n,o,s)}return n}function V(u){return T(function(e,t){var n,r=-1,i=t.length,a=1<i?t[i-1]:He,o=2<i?t[2]:He;a=3<u.length&&"function"==typeof a?(i--,a):He;if(n=o){n=t[0];var s=t[1];if(ye(o)){var c=typeof s;n=!!("number"==c?he(o)&&te(s,o.length):"string"==c&&s in o)&&pe(o[s],n)}else n=!1}for(n&&(a=i<3?He:a,i=1),e=Object(e);++r<i;)(o=t[r])&&u(e,o,r,a);return e})}function K(e){return be(e)?He:e}function q(e,t,n,r,i,a){var o=1&n,s=e.length;if(s!=(c=t.length)&&!(o&&s<c))return!1;if((c=a.get(e))&&a.get(t))return c==t;var c=-1,u=!0,l=2&n?new b:He;for(a.set(e,t),a.set(t,e);++c<s;){var d=e[c],f=t[c];if(r)var p=o?r(f,d,c,t,e,a):r(d,f,c,e,t,a);if(p!==He){if(p)continue;u=!1;break}if(l){if(!v(t,function(e,t){if(!g(l,t)&&(d===e||i(d,e,n,r,a)))return l.push(t)})){u=!1;break}}else if(d!==f&&!i(d,f,n,r,a)){u=!1;break}}return a.delete(e),a.delete(t),u}function W(e){return gn(ae(e,He,ue),e+"")}function J(e){return C(e,Re,cn)}function G(e){return C(e,De,un)}function Y(e,t){var n=(n=r.iteratee||Te)===Te?E:n;return arguments.length?n(e,t):n}function X(e,t){var n=e.__data__,r=typeof t;return("string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==t:null===t)?n["string"==typeof t?"string":"hash"]:n.map}function Z(e,t){var n=null==e?He:e[t];return!ye(n)||kt&&kt in n||!(ve(n)?xt:Ze).test(se(n))?He:n}function Q(e){return"function"!=typeof e.constructor||re(e)?{}:tn(It(e))}function ee(e){return Sn(e)||xn(e)||!!(Dt&&e&&e[Dt])}function te(e,t){return!!(t=null==t?9007199254740991:t)&&("number"==typeof e||et.test(e))&&-1<e&&0==e%1&&e<t}function ne(e,t){if(Sn(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!xe(e))||Ve.test(e)||!ze.test(e)||null!=t&&e in Object(t)}function re(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||mt)}function ie(t,n){return function(e){return null!=e&&e[t]===n&&(n!==He||t in Object(e))}}function ae(i,a,o){return a=Nt(a===He?i.length-1:a,0),function(){for(var e=arguments,t=-1,n=Nt(e.length-a,0),r=Array(n);++t<n;)r[t]=e[a+t];for(t=-1,n=Array(a+1);++t<a;)n[t]=e[t];return n[a]=o(r),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(i,this,n)}}function oe(e){if("string"==typeof e||xe(e))return e;var t=e+"";return"0"==t&&1/e==-je?"-0":t}function se(e){if(null==e)return"";try{return gt.call(e)}catch(e){}return e+""}function ce(e,t,n){var r=null==e?0:e.length;return r?((n=null==n?0:$e(n))<0&&(n=Nt(r+n,0)),i(e,Y(t,3),n)):-1}function ue(e){return null!=e&&e.length?function e(t,n,r,i,a){var o=-1,s=t.length;for(r=r||ee,a=a||[];++o<s;){var c=t[o];0<n&&r(c)?1<n?e(c,n-1,r,i,a):u(a,c):i||(a[a.length]=c)}return a}(e,1):[]}function le(e){var t=null==e?0:e.length;return t?e[t-1]:He}function de(e,t){var n;if(e&&e.length&&t&&t.length){var r=c,i=-1,a=(n=t).length;for(e===n&&(n=U(n));++i<a;)for(var o=0,s=n[i];-1<(o=r(e,s,o,void 0));)e!=e&&Rt.call(e,o,1),Rt.call(e,o,1);n=e}else n=e;return n}function fe(r,i){function a(){var e=arguments,t=i?i.apply(this,e):e[0],n=a.cache;return n.has(t)?n.get(t):(e=r.apply(this,e),a.cache=n.set(t,e)||n,e)}if("function"!=typeof r||null!=i&&"function"!=typeof i)throw new TypeError("Expected a function");return a.cache=new(fe.Cache||d),a}function pe(e,t){return e===t||e!=e&&t!=t}function he(e){return null!=e&&ge(e.length)&&!ve(e)}function me(e){return ke(e)&&he(e)}function ve(e){return!!ye(e)&&("[object Function]"==(e=A(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}function ge(e){return"number"==typeof e&&-1<e&&0==e%1&&e<=9007199254740991}function ye(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ke(e){return null!=e&&"object"==typeof e}function be(e){return!(!ke(e)||"[object Object]"!=A(e))&&(null===(e=It(e))||"function"==typeof(e=yt.call(e,"constructor")&&e.constructor)&&e instanceof e&&gt.call(e)==wt)}function we(e){return"string"==typeof e||!Sn(e)&&ke(e)&&"[object String]"==A(e)}function xe(e){return"symbol"==typeof e||ke(e)&&"[object Symbol]"==A(e)}function Se(e){return e?(e=_e(e))===je||e===-je?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function $e(e){var t=(e=Se(e))%1;return e==e?t?e-t:e:0}function _e(e){if("number"==typeof e)return e;if(xe(e))return Ue;if(ye(e)&&(e=ye(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(We,"");var t=Xe.test(e);return t||Qe.test(e)?it(e.slice(2),t?2:8):Ye.test(e)?Ue:+e}function Me(e){return z(e,De(e))}function Ie(e){return null==e?"":F(e)}function Ce(e,t,n){return(e=null==e?He:I(e,t))===He?n:e}function Ae(e,t){var n;if(n=null!=e){for(var r,i=-1,a=(r=N(t,n=e)).length,o=!1;++i<a;){var s=oe(r[i]);if(!(o=null!=n&&null!=n&&s in Object(n)))break;n=n[s]}n=o||++i!=a?o:!!(a=null==n?0:n.length)&&ge(a)&&te(s,a)&&(Sn(n)||xn(n))}return n}function Re(e){if(he(e))e=f(e);else if(re(e)){var t,n=[];for(t in Object(e))yt.call(e,t)&&"constructor"!=t&&n.push(t);e=n}else e=Lt(e);return e}function De(e){if(he(e))e=f(e,!0);else if(ye(e)){var t,n=re(e),r=[];for(t in e)("constructor"!=t||!n&&yt.call(e,t))&&r.push(t);e=r}else{if(t=[],null!=e)for(n in Object(e))t.push(n);e=t}return e}function Ee(e){return null==e?[]:function(t,e){return a(e,function(e){return t[e]})}(e,Re(e))}function Oe(e){return function(){return e}}function Pe(e){return e}function Te(e){return E("function"==typeof e?e:M(e,1))}function Fe(){}function Le(e){return ne(e)?function(t){return function(e){return null==e?He:e[t]}}(oe(e)):function(t){return function(e){return I(e,t)}}(e)}function Ne(){return[]}function Be(){return!1}var He,je=1/0,Ue=NaN,ze=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ve=/^\w*$/,Ke=/^\./,qe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,We=/^\s+|\s+$/g,Je=/\\(\\)?/g,Ge=/\w*$/,Ye=/^[-+]0x[0-9a-f]+$/i,Xe=/^0b[01]+$/i,Ze=/^\[object .+?Constructor\]$/,Qe=/^0o[0-7]+$/i,et=/^(?:0|[1-9]\d*)$/,tt={};tt["[object Float32Array]"]=tt["[object Float64Array]"]=tt["[object Int8Array]"]=tt["[object Int16Array]"]=tt["[object Int32Array]"]=tt["[object Uint8Array]"]=tt["[object Uint8ClampedArray]"]=tt["[object Uint16Array]"]=tt["[object Uint32Array]"]=!0,tt["[object Arguments]"]=tt["[object Array]"]=tt["[object ArrayBuffer]"]=tt["[object Boolean]"]=tt["[object DataView]"]=tt["[object Date]"]=tt["[object Error]"]=tt["[object Function]"]=tt["[object Map]"]=tt["[object Number]"]=tt["[object Object]"]=tt["[object RegExp]"]=tt["[object Set]"]=tt["[object String]"]=tt["[object WeakMap]"]=!1;var nt={};nt["[object Arguments]"]=nt["[object Array]"]=nt["[object ArrayBuffer]"]=nt["[object DataView]"]=nt["[object Boolean]"]=nt["[object Date]"]=nt["[object Float32Array]"]=nt["[object Float64Array]"]=nt["[object Int8Array]"]=nt["[object Int16Array]"]=nt["[object Int32Array]"]=nt["[object Map]"]=nt["[object Number]"]=nt["[object Object]"]=nt["[object RegExp]"]=nt["[object Set]"]=nt["[object String]"]=nt["[object Symbol]"]=nt["[object Uint8Array]"]=nt["[object Uint8ClampedArray]"]=nt["[object Uint16Array]"]=nt["[object Uint32Array]"]=!0,nt["[object Error]"]=nt["[object Function]"]=nt["[object WeakMap]"]=!1;var rt,it=parseInt,at="object"==typeof global&&global&&global.Object===Object&&global,ot="object"==typeof self&&self&&self.Object===Object&&self,st=at||ot||Function("return this")(),ct="object"==typeof exports&&exports&&!exports.nodeType&&exports,ut=ct&&"object"==typeof module&&module&&!module.nodeType&&module,lt=ut&&ut.exports===ct,dt=lt&&at.process;e:{try{rt=dt&&dt.binding&&dt.binding("util");break e}catch(p){}rt=void 0}var ft,pt=rt&&rt.isTypedArray,ht=Array.prototype,mt=Object.prototype,vt=st["__core-js_shared__"],gt=Function.prototype.toString,yt=mt.hasOwnProperty,kt=(ft=/[^.]+$/.exec(vt&&vt.keys&&vt.keys.IE_PROTO||""))?"Symbol(src)_1."+ft:"",bt=mt.toString,wt=gt.call(Object),xt=RegExp("^"+gt.call(yt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),St=lt?st.Buffer:He,$t=st.Symbol,_t=st.Uint8Array,Mt=St?St.a:He,It=e(Object.getPrototypeOf),Ct=Object.create,At=mt.propertyIsEnumerable,Rt=ht.splice,Dt=$t?$t.isConcatSpreadable:He,Et=$t?$t.toStringTag:He,Ot=function(){try{var e=Z(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),Pt=Math.floor,Tt=Object.getOwnPropertySymbols,Ft=St?St.isBuffer:He,Lt=e(Object.keys),Nt=Math.max,Bt=Math.min,Ht=Date.now,jt=Z(st,"DataView"),Ut=Z(st,"Map"),zt=Z(st,"Promise"),Vt=Z(st,"Set"),Kt=Z(st,"WeakMap"),qt=Z(Object,"create"),Wt=se(jt),Jt=se(Ut),Gt=se(zt),Yt=se(Vt),Xt=se(Kt),Zt=$t?$t.prototype:He,Qt=Zt?Zt.valueOf:He,en=Zt?Zt.toString:He,tn=function(e){return ye(e)?Ct?Ct(e):(nn.prototype=e,e=new nn,nn.prototype=He,e):{}};function nn(){}t.prototype.clear=function(){this.__data__=qt?qt(null):{},this.size=0},t.prototype.delete=function(e){return e=this.has(e)&&delete this.__data__[e],this.size-=e?1:0,e},t.prototype.get=function(e){var t=this.__data__;return qt?"__lodash_hash_undefined__"===(e=t[e])?He:e:yt.call(t,e)?t[e]:He},t.prototype.has=function(e){var t=this.__data__;return qt?t[e]!==He:yt.call(t,e)},t.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=qt&&t===He?"__lodash_hash_undefined__":t,this},s.prototype.clear=function(){this.__data__=[],this.size=0},s.prototype.delete=function(e){var t=this.__data__;return!((e=$(t,e))<0||(e==t.length-1?t.pop():Rt.call(t,e,1),--this.size,0))},s.prototype.get=function(e){var t=this.__data__;return(e=$(t,e))<0?He:t[e][1]},s.prototype.has=function(e){return-1<$(this.__data__,e)},s.prototype.set=function(e,t){var n=this.__data__,r=$(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},d.prototype.clear=function(){this.size=0,this.__data__={hash:new t,map:new(Ut||s),string:new t}},d.prototype.delete=function(e){return e=X(this,e).delete(e),this.size-=e?1:0,e},d.prototype.get=function(e){return X(this,e).get(e)},d.prototype.has=function(e){return X(this,e).has(e)},d.prototype.set=function(e,t){var n=X(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},b.prototype.add=b.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},b.prototype.has=function(e){return this.__data__.has(e)},w.prototype.clear=function(){this.__data__=new s,this.size=0},w.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},w.prototype.get=function(e){return this.__data__.get(e)},w.prototype.has=function(e){return this.__data__.has(e)},w.prototype.set=function(e,t){var n=this.__data__;if(n instanceof s){var r=n.__data__;if(!Ut||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new d(r)}return n.set(e,t),this.size=n.size,this};var rn=function(e,t){if(null==e)return e;if(!he(e))return function(e,t){return e&&an(e,t,Re)}(e,t);for(var n=e.length,r=-1,i=Object(e);++r<n&&!1!==t(i[r],r,i););return e},an=function(e,t,n){for(var r=-1,i=Object(e),a=(n=n(e)).length;a--;){var o=n[++r];if(!1===t(i[o],o,i))break}return e},on=Ot?function(e,t){return Ot(e,"toString",{configurable:!0,enumerable:!1,value:Oe(t),writable:!0})}:Pe,sn=Vt&&1/k(new Vt([,-0]))[1]==je?function(e){return new Vt(e)}:Fe,cn=Tt?function(t){return null==t?[]:(t=Object(t),n(Tt(t),function(e){return At.call(t,e)}))}:Ne,un=Tt?function(e){for(var t=[];e;)u(t,cn(e)),e=It(e);return t}:Ne,ln=A;(jt&&"[object DataView]"!=ln(new jt(new ArrayBuffer(1)))||Ut&&"[object Map]"!=ln(new Ut)||zt&&"[object Promise]"!=ln(zt.resolve())||Vt&&"[object Set]"!=ln(new Vt)||Kt&&"[object WeakMap]"!=ln(new Kt))&&(ln=function(e){var t=A(e);if(e=(e="[object Object]"==t?e.constructor:He)?se(e):"")switch(e){case Wt:return"[object DataView]";case Jt:return"[object Map]";case Gt:return"[object Promise]";case Yt:return"[object Set]";case Xt:return"[object WeakMap]"}return t});var dn,fn,pn,hn,mn,vn,gn=(hn=on,vn=mn=0,function(){var e=Ht(),t=16-(e-vn);if(vn=e,0<t){if(800<=++mn)return arguments[0]}else mn=0;return hn.apply(He,arguments)}),yn=(pn=(fn=fe(fn=function(e){var i=[];return Ke.test(e)&&i.push(""),e.replace(qe,function(e,t,n,r){i.push(n?r.replace(Je,"$1"):t||e)}),i},function(e){return 500===pn.size&&pn.clear(),e})).cache,fn),kn=T(de),bn=(dn=ce,function(e,t,n){var r=Object(e);if(!he(e)){var i=Y(t,3);e=Re(e),t=function(e){return i(r[e],e,r)}}return-1<(t=dn(e,t,n))?r[i?e[t]:t]:He});fe.Cache=d;var wn,xn=R(function(){return arguments}())?R:function(e){return ke(e)&&yt.call(e,"callee")&&!At.call(e,"callee")},Sn=Array.isArray,$n=Ft||Be,_n=pt?(wn=pt,function(e){return wn(e)}):function(e){return ke(e)&&ge(e.length)&&!!tt[A(e)]},Mn=V(function(e,t,n){O(e,t,n)}),In=V(function(e,t,n,r){O(e,t,n,r)}),Cn=W(function(t,e){var n={};if(null==t)return n;var r=!1;e=a(e,function(e){return e=N(e,t),r=r||1<e.length,e}),z(t,G(t),n),r&&(n=M(n,7,K));for(var i=e.length;i--;)L(n,e[i]);return n}),An=W(function(e,t){return null==e?{}:P(e,t)});r.constant=Oe,r.filter=function(e,t){return(Sn(e)?n:function(e,r){var i=[];return rn(e,function(e,t,n){r(e,t,n)&&i.push(e)}),i})(e,Y(t,3))},r.flatten=ue,r.iteratee=Te,r.keys=Re,r.keysIn=De,r.map=function(e,t){return(Sn(e)?a:function(e,r){var i=-1,a=he(e)?Array(e.length):[];return rn(e,function(e,t,n){a[++i]=r(e,t,n)}),a})(e,Y(t,3))},r.memoize=fe,r.merge=Mn,r.mergeWith=In,r.omit=Cn,r.pick=An,r.property=Le,r.pull=kn,r.pullAll=de,r.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],a=e.length;for(t=Y(t,3);++r<a;){var o=e[r];t(o,r,e)&&(n.push(o),i.push(r))}for(a=(r=e?i.length:0)-1;r--;)if(o=i[r],r==a||o!==s){var s=o;te(o)?Rt.call(e,o,1):L(e,o)}return n},r.toPlainObject=Me,r.uniq=function(e){if(e&&e.length)e:{var t=-1,n=l,r=e.length,i=!0,a=[],o=a;if(200<=r){if(n=sn(e)){e=k(n);break e}i=!1,n=g,o=new b}else o=a;t:for(;++t<r;){var s=c=e[t],c=0!==c?c:0;if(i&&s==s){for(var u=o.length;u--;)if(o[u]===s)continue t;a.push(c)}else n(o,s,void 0)||(o!==a&&o.push(s),a.push(c))}e=a}else e=[];return e},r.values=Ee,r.cloneDeep=function(e){return M(e,5)},r.eq=pe,r.find=bn,r.findIndex=ce,r.get=Ce,r.hasIn=Ae,r.identity=Pe,r.includes=function(e,t,n,r){return e=he(e)?e:Ee(e),n=n&&!r?$e(n):0,r=e.length,n<0&&(n=Nt(r+n,0)),we(e)?n<=r&&-1<e.indexOf(t,n):!!r&&-1<c(e,t,n)},r.isArguments=xn,r.isArray=Sn,r.isArrayLike=he,r.isArrayLikeObject=me,r.isBuffer=$n,r.isFunction=ve,r.isLength=ge,r.isObject=ye,r.isObjectLike=ke,r.isPlainObject=be,r.isString=we,r.isSymbol=xe,r.isTypedArray=_n,r.last=le,r.stubArray=Ne,r.stubFalse=Be,r.noop=Fe,r.sortedIndexBy=function(e,t,n){t=(n=Y(n,2))(t);for(var r=0,i=null==e?0:e.length,a=t!=t,o=null===t,s=xe(t),c=t===He;r<i;){var u=Pt((r+i)/2),l=n(e[u]),d=l!==He,f=null===l,p=l==l,h=xe(l);(a?p:c?p&&d:o?p&&d&&!f:s?p&&d&&!f&&!h:!f&&!h&&l<t)?r=u+1:i=u}return Bt(i,4294967294)},r.toFinite=Se,r.toInteger=$e,r.toNumber=_e,r.toString=Ie,r.VERSION="4.17.4","function"==typeof define&&"object"==typeof define.amd&&define.amd?(st._=r,define(function(){return r})):ut?((ut.exports=r)._=r,ct._=r):st._=r}.call(this),function a(o,s,c){function u(t,e){if(!s[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(l)return l(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var i=s[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,a,o,s,c)}return s[t].exports}for(var l="function"==typeof require&&require,e=0;e<c.length;e++)u(c[e]);return u}({1:[function(e,t,n){"use strict";var r=e("@babel/runtime/helpers/interopRequireDefault"),c=r(e("@babel/runtime/helpers/get")),y=r(e("@babel/runtime/helpers/asyncToGenerator")),v=r(e("@babel/runtime/helpers/classCallCheck")),f=r(e("@babel/runtime/helpers/createClass")),g=r(e("@babel/runtime/helpers/possibleConstructorReturn")),k=r(e("@babel/runtime/helpers/getPrototypeOf")),p=r(e("@babel/runtime/helpers/inherits")),$=r(e("@babel/runtime/regenerator")),i=r(e("@babel/runtime/helpers/typeof"));Object.defineProperty(n,"__esModule",{value:!0}),n.SNTheme=n.SNSmartTag=n.SNServerExtension=n.SNMfa=n.SNEncryptedStorage=n.SNTag=n.SNNote=n.SNExtension=n.Action=n.SNEditor=n.SNComponent=n.SNComponentManager=void 0;function s(e,t,n){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,t);if(void 0===r){var i=Object.getPrototypeOf(e);return null===i?void 0:s(i,t,n)}if("value"in r)return r.value;var a=r.get;return void 0!==a?a.call(n):void 0}var a=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var u=e("standard-file-js");function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(0,i.default)(t)&&"function"!=typeof t?e:t}function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(0,i.default)(t));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function m(e){return function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,n){try{var r=s[e](n),i=r.value}catch(e){return void o(e)}if(!r.done)return Promise.resolve(i).then(function(e){t("next",e)},function(e){t("throw",e)});a(i)}("next")})}}function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var b,w,x,S=n.SNComponentManager=(a(M,[{key:"configureForGeneralUsage",value:function(){var A=this;this.modelManager.addItemSyncObserver("component-manager","*",function(s,e,t,c,u){var n=s.filter(function(e){return"SN|Component"===e.content_type||"SN|Theme"==e.content_type});0<n.length&&c!=SFModelManager.MappingSourceRemoteSaved&&A.isDesktop&&A.desktopManager.syncComponentsInstallation(n);var r=!0,i=!1,a=void 0;try{for(var o,l=n[Symbol.iterator]();!(r=(o=l.next()).done);r=!0){var d=o.value,f=_.find(A.activeComponents,{uuid:d.uuid});!d.active||d.deleted||f?!d.active&&f&&A.deactivateComponent(d):A.activateComponent(d)}}catch(e){i=!0,a=e}finally{try{!r&&l.return&&l.return()}finally{if(i)throw a}}function p(t){if(u&&u==t.component.uuid)return"continue";var e=s.filter(function(e){return-1!==t.contentTypes.indexOf(e.content_type)});if(0==e.length)return"continue";var n=[{name:"stream-items",content_types:t.contentTypes.sort()}];A.runWithPermissions(t.component,n,function(){A.sendItemsInReply(t.component,e,t.originalMessage)})}var h=!0,m=!1,v=void 0;try{for(var g,y=A.streamObservers[Symbol.iterator]();!(h=(g=y.next()).done);h=!0)p(g.value)}catch(e){m=!0,v=e}finally{try{!h&&y.return&&y.return()}finally{if(m)throw v}}function k(e){if(u&&u==e.component.uuid)return"continue";var t=!0,n=!1,r=void 0;try{for(var i,a=A.handlers[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;(o.areas.includes(e.component.area)||o.areas.includes("*"))&&o.contextRequestHandler&&(I=o.contextRequestHandler(e.component))&&(C=_.find(s,{uuid:I.uuid}))&&A.runWithPermissions(e.component,b,function(){A.sendContextItemInReply(e.component,C,e.originalMessage,c)})}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}}var b=[{name:"stream-context-item"}],w=!0,x=!1,S=void 0;try{for(var $,M=A.contextStreamObservers[Symbol.iterator]();!(w=($=M.next()).done);w=!0){var I,C;k($.value)}}catch(e){x=!0,S=e}finally{try{!w&&M.return&&M.return()}finally{if(x)throw S}}})}},{key:"configureForNonMobileUsage",value:function(){function e(){var e=!0,t=!1,n=void 0;try{for(var r,i=o.activeComponents[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var a=r.value;if(document.activeElement==o.iframeForComponent(a)){o.$timeout(function(){o.focusChangedForComponent(a)});break}}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}var o=this;window.addEventListener?window.addEventListener("focus",e,!0):window.attachEvent("onfocusout",e),window.addEventListener?window.addEventListener("blur",e,!0):window.attachEvent("onblur",e),this.desktopManager.registerUpdateObserver(function(e){e.active&&e.isTheme()&&o.postActiveThemesToAllComponents()}),window.addEventListener("message",function(e){o.loggingEnabled&&console.log("Web app: received message",e),e.data.sessionKey&&o.handleMessage(o.componentForSessionKey(e.data.sessionKey),e.data)},!1)}},{key:"postActiveThemesToAllComponents",value:function(){var e=!0,t=!1,n=void 0;try{for(var r,i=this.components[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var a=r.value;!a.isTheme()&&a.active&&a.window&&this.postActiveThemesToComponent(a)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}},{key:"getActiveThemes",value:function(){return this.componentsForArea("themes").filter(function(e){return e.active})}},{key:"urlsForActiveThemes",value:function(){var t=this;return this.getActiveThemes().map(function(e){return t.urlForComponent(e)})}},{key:"postActiveThemesToComponent",value:function(e){var t={themes:this.urlsForActiveThemes()};this.sendMessageToComponent(e,{action:"themes",data:t})}},{key:"contextItemDidChangeInArea",value:function(t){var e=!0,n=!1,r=void 0;try{for(var i,a=this.handlers[Symbol.iterator]();!(e=(i=a.next()).done);e=!0){var o=i.value;if(!1!==o.areas.includes(t)||o.areas.includes("*")){var s=this.contextStreamObservers.filter(function(e){return e.component.area===t}),c=!0,u=!1,l=void 0;try{for(var d,f=s[Symbol.iterator]();!(c=(d=f.next()).done);c=!0){var p=d.value;if(o.contextRequestHandler){var h=o.contextRequestHandler(p.component);h&&this.sendContextItemInReply(p.component,h,p.originalMessage)}}}catch(e){u=!0,l=e}finally{try{!c&&f.return&&f.return()}finally{if(u)throw l}}}}}catch(e){n=!0,r=e}finally{try{!e&&a.return&&a.return()}finally{if(n)throw r}}}},{key:"setComponentHidden",value:function(e,t){if(t)e.hidden=!0;else if(e.hidden){e.hidden=!1;var n=_.find(this.contextStreamObservers,{identifier:e.uuid});n&&this.handleStreamContextItemMessage(e,n.originalMessage);var r=_.find(this.streamObservers,{identifier:e.uuid});r&&this.handleStreamItemsMessage(e,r.originalMessage)}}},{key:"jsonForItem",value:function(e,t,n){var r={uuid:e.uuid,content_type:e.content_type,created_at:e.created_at,updated_at:e.updated_at,deleted:e.deleted};return r.content=e.createContentJSONFromProperties(),r.clientData=e.getDomainDataItem(t.getClientDataKey(),M.ClientDataDomain)||{},!n||n!=SFModelManager.MappingSourceRemoteSaved&&n!=SFModelManager.MappingSourceLocalSaved||(r.isMetadataUpdate=!0),this.removePrivatePropertiesFromResponseItems([r],t,{type:"outgoing"}),r}},{key:"sendItemsInReply",value:function(t,e,n,r){var i=this;this.loggingEnabled&&console.log("Web|componentManager|sendItemsInReply",t,e,n);var a={items:{}},o=e.map(function(e){return i.jsonForItem(e,t,r)});a.items=o,this.replyToMessage(t,n,a)}},{key:"sendContextItemInReply",value:function(e,t,n,r){this.loggingEnabled&&console.log("Web|componentManager|sendContextItemInReply",e,t,n);var i={item:this.jsonForItem(t,e,r)};this.replyToMessage(e,n,i)}},{key:"replyToMessage",value:function(e,t,n){var r={action:"reply",original:t,data:n};this.sendMessageToComponent(e,r)}},{key:"sendMessageToComponent",value:function(e,t){if(!e.hidden||["component-registered","themes"].includes(t.action)){this.loggingEnabled&&console.log("Web|sendMessageToComponent",e,t);var n=this.urlForComponent(e);n.startsWith("http")||n.startsWith("file")||(n=window.location.href+n),e.window||this.alertManager.alert({text:"Standard Notes is trying to communicate with "+e.name+", but an error is occurring. Please restart this extension and try again."}),this.isMobile&&(t=JSON.stringify(t)),e.window.postMessage(t,n)}else this.loggingEnabled&&console.log("Component disabled for current item, not sending any messages.",e.name)}},{key:"componentsForArea",value:function(t){return this.components.filter(function(e){return e.area===t})}},{key:"urlForComponent",value:function(e){if(e.offlineOnly&&!this.isDesktop)return null;if(e.offlineOnly||this.isDesktop&&e.local_url)return e.local_url&&e.local_url.replace("sn://",this.desktopManager.getExtServerHost());var t=e.hosted_url||e.legacy_url;if(this.isMobile){var n="ios"==this.platform?"localhost":"10.0.2.2";t=t.replace("localhost",n).replace("sn.local",n)}return t}},{key:"componentForUrl",value:function(t){return this.components.filter(function(e){return e.hosted_url===t||e.legacy_url===t})[0]}},{key:"componentForSessionKey",value:function(e){var t=_.find(this.components,{sessionKey:e});if(!t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.handlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(s.componentForSessionKeyHandler&&(t=s.componentForSessionKeyHandler(e)))break}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}}return t}},{key:"handleMessage",value:function(t,n){var r=this;if(!t)return console.log("Component not defined for message, returning",n),void this.alertManager.alert({text:"An extension is trying to communicate with Standard Notes, but there is an error establishing a bridge. Please restart the app and try again."});if(t.readonly&&["save-items","associate-item","deassociate-item","create-item","create-items","delete-items","set-component-data"].includes(n.action))this.alertManager.alert({text:"The extension "+t.name+" is trying to save, but it is in a locked state and cannot accept changes."});else{if("stream-items"===n.action)this.handleStreamItemsMessage(t,n);else if("stream-context-item"===n.action)this.handleStreamContextItemMessage(t,n);else if("set-component-data"===n.action)this.handleSetComponentDataMessage(t,n);else if("delete-items"===n.action)this.handleDeleteItemsMessage(t,n);else if("create-items"===n.action||"create-item"===n.action)this.handleCreateItemsMessage(t,n);else if("save-items"===n.action)this.handleSaveItemsMessage(t,n);else if("toggle-activate-component"===n.action){var e=this.modelManager.findItem(n.data.uuid);this.handleToggleComponentMessage(t,e,n)}else"request-permissions"===n.action?this.handleRequestPermissionsMessage(t,n):"install-local-component"===n.action?this.handleInstallLocalComponentMessage(t,n):"duplicate-item"===n.action&&this.handleDuplicateItemMessage(t,n);var i=function(e){e.actionHandler&&(e.areas.includes(t.area)||e.areas.includes("*"))&&r.$timeout(function(){e.actionHandler(t,n.action,n.data)})},a=!0,o=!1,s=void 0;try{for(var c,u=this.handlers[Symbol.iterator]();!(a=(c=u.next()).done);a=!0)i(c.value)}catch(e){o=!0,s=e}finally{try{!a&&u.return&&u.return()}finally{if(o)throw s}}}}},{key:"removePrivatePropertiesFromResponseItems",value:function(e,t,n){var r=2<arguments.length&&void 0!==n?n:{};if("incoming"==r.type){var i=["updated_at"],a=!0,o=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var l=c.value;if("function"!=typeof l.setDirty){var d=!0,f=!1,p=void 0;try{for(var h,m=i[Symbol.iterator]();!(d=(h=m.next()).done);d=!0)delete l[h.value]}catch(e){f=!0,p=e}finally{try{!d&&m.return&&m.return()}finally{if(f)throw p}}}else console.error("Attempting to pass object. Use JSON.")}}catch(e){o=!0,s=e}finally{try{!a&&u.return&&u.return()}finally{if(o)throw s}}}if(!(t&&this.nativeExtManager&&this.nativeExtManager.isSystemExtension(t))){var v=["autoupdateDisabled","permissions","active"];r&&r.includeUrls&&(v=v.concat(["url","hosted_url","local_url"]));var g=!0,y=!1,k=void 0;try{for(var b,w=e[Symbol.iterator]();!(g=(b=w.next()).done);g=!0){var x=b.value;if("function"!=typeof x.setDirty){var S=!0,$=!1,_=void 0;try{for(var M,I=v[Symbol.iterator]();!(S=(M=I.next()).done);S=!0){var C=M.value;delete x.content[C]}}catch(e){$=!0,_=e}finally{try{!S&&I.return&&I.return()}finally{if($)throw _}}}else console.error("Attempting to pass object. Use JSON.")}}catch(e){y=!0,k=e}finally{try{!g&&w.return&&w.return()}finally{if(y)throw k}}}}},{key:"handleStreamItemsMessage",value:function(s,c){var u=this,e=[{name:"stream-items",content_types:c.data.content_types.sort()}];this.runWithPermissions(s,e,function(){_.find(u.streamObservers,{identifier:s.uuid})||u.streamObservers.push({identifier:s.uuid,component:s,originalMessage:c,contentTypes:c.data.content_types});var e=[],t=!0,n=!1,r=void 0;try{for(var i,a=c.data.content_types[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;e=e.concat(u.modelManager.validItemsForContentType(o))}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}u.sendItemsInReply(s,e,c)})}},{key:"handleStreamContextItemMessage",value:function(s,c){var u=this;this.runWithPermissions(s,[{name:"stream-context-item"}],function(){_.find(u.contextStreamObservers,{identifier:s.uuid})||u.contextStreamObservers.push({identifier:s.uuid,component:s,originalMessage:c});var e=!0,t=!1,n=void 0;try{for(var r,i=u.handlersForArea(s.area)[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var a=r.value;if(a.contextRequestHandler){var o=a.contextRequestHandler(s);o&&u.sendContextItemInReply(s,o,c)}}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}})}},{key:"isItemIdWithinComponentContextJurisdiction",value:function(e,t){return this.itemIdsInContextJurisdictionForComponent(t).includes(e)}},{key:"itemIdsInContextJurisdictionForComponent",value:function(e){var t=[],n=!0,r=!1,i=void 0;try{for(var a,o=this.handlersForArea(e.area)[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(s.contextRequestHandler){var c=s.contextRequestHandler(e);c&&t.push(c.uuid)}}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}return t}},{key:"handlersForArea",value:function(t){return this.handlers.filter(function(e){return e.areas.includes(t)})}},{key:"handleSaveItemsMessage",value:(x=m($.default.mark(function e(b,w){var x,t,n,r,i,a,o,s,c,u,l,S=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:x=w.data.items,t=[],n=this.itemIdsInContextJurisdictionForComponent(b),r=x.slice(),a=!(i=!0),o=void 0,e.prev=7,s=x.slice()[Symbol.iterator]();case 9:if(i=(c=s.next()).done){e.next=18;break}if(u=c.value,n.includes(u.uuid))return t.push({name:"stream-context-item"}),_.pull(r,u),e.abrupt("break",18);e.next=15;break;case 15:i=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,!i&&s.return&&s.return();case 27:if(e.prev=27,a)throw o;e.next=30;break;case 30:return e.finish(27);case 31:return e.finish(24);case 32:0<r.length&&(l=_.uniq(r.map(function(e){return e.content_type})).sort(),t.push({name:"stream-items",content_types:l})),this.runWithPermissions(b,t,m($.default.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(S.removePrivatePropertiesFromResponseItems(x,b,{includeUrls:!0,type:"incoming"}),t=x.map(function(e){return e.uuid}),n=S.modelManager.findItems(t),a=!(i=!(r=0)),o=void 0,e.prev=7,s=n[Symbol.iterator]();!(i=(c=s.next()).done);i=!0)(u=c.value).locked&&(_.remove(x,{uuid:u.uuid}),r++);e.next=15;break;case 11:e.prev=11,e.t0=e.catch(7),a=!0,o=e.t0;case 15:e.prev=15,e.prev=16,!i&&s.return&&s.return();case 18:if(e.prev=18,a)throw o;e.next=21;break;case 21:return e.finish(18);case 22:return e.finish(15);case 23:return 0<r&&(l=1==r?"item":"items",d=1==r?"is":"are",S.alertManager.alert({title:"Items Locked",text:r+" "+l+" you are attempting to save "+d+" locked and cannot be edited."})),e.next=26,S.modelManager.mapResponseItemsToLocalModels(x,SFModelManager.MappingSourceComponentRetrieved,b.uuid);case 26:f=e.sent,h=!(p=!0),m=void 0,e.prev=30,v=x[Symbol.iterator]();case 32:if(p=(g=v.next()).done){e.next=42;break}if(y=g.value,k=_.find(f,{uuid:y.uuid})){e.next=38;break}return S.alertManager.alert({text:"The extension "+b.name+" is trying to save an item with type "+y.content_type+", but that item does not exist. Please restart this extension and try again."}),e.abrupt("continue",39);case 38:k.locked||(y.clientData&&k.setDomainDataItem(b.getClientDataKey(),y.clientData,M.ClientDataDomain),S.modelManager.setItemDirty(k,!0,!0,SFModelManager.MappingSourceComponentRetrieved,b.uuid));case 39:p=!0,e.next=32;break;case 42:e.next=48;break;case 44:e.prev=44,e.t1=e.catch(30),h=!0,m=e.t1;case 48:e.prev=48,e.prev=49,!p&&v.return&&v.return();case 51:if(e.prev=51,h)throw m;e.next=54;break;case 54:return e.finish(51);case 55:return e.finish(48);case 56:S.syncManager.sync().then(function(e){var t=Object.assign({},w);t.action=e&&e.error?"save-error":"save-success",S.replyToMessage(b,w,{error:e&&e.error}),S.handleMessage(b,t)});case 57:case"end":return e.stop()}},e,S,[[7,11,15,23],[16,,18,22],[30,44,48,56],[49,,51,55]])})));case 34:case"end":return e.stop()}},e,this,[[7,20,24,32],[25,,27,31]])})),function(e,t){return x.apply(this,arguments)})},{key:"handleDuplicateItemMessage",value:function(t,n){var r=this,e=n.data.item,i=this.modelManager.findItem(e.uuid),a=[{name:"stream-items",content_types:[i.content_type]}];this.runWithPermissions(t,a,function(){var e=r.modelManager.duplicateItemAndAdd(i);r.syncManager.sync(),r.replyToMessage(t,n,{item:r.jsonForItem(e,t)})})}},{key:"handleCreateItemsMessage",value:function(u,l){var d=this,f=l.data.item?[l.data.item]:l.data.items,e=[{name:"stream-items",content_types:_.uniq(f.map(function(e){return e.content_type}))}];this.runWithPermissions(u,e,function(){d.removePrivatePropertiesFromResponseItems(f,u,{type:"incoming"});var e=[],t=!0,n=!1,r=void 0;try{for(var i,a=f[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=d.modelManager.createItem(o);o.clientData&&s.setDomainDataItem(u.getClientDataKey(),o.clientData,M.ClientDataDomain),d.modelManager.addItem(s),d.modelManager.resolveReferencesForItem(s,!0),d.modelManager.setItemDirty(s,!0),e.push(s)}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}d.syncManager.sync();var c="create-item"==l.action?{item:d.jsonForItem(e[0],u)}:{items:e.map(function(e){return d.jsonForItem(e,u)})};d.replyToMessage(u,l,c)})}},{key:"handleDeleteItemsMessage",value:function(f,p){var h=this,e=[{name:"stream-items",content_types:_.uniq(p.data.items.map(function(e){return e.content_type})).sort()}];this.runWithPermissions(f,e,m($.default.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=p.data.items,n=1==t.length?"item":"items",i=!(r=null),e.next=6,h.alertManager.confirm({text:"Are you sure you want to delete "+t.length+" "+n+"?"}).catch(function(){i=!1});case 6:if(!i){e.next=42;break}o=!(a=!0),s=void 0,e.prev=10,c=t[Symbol.iterator]();case 12:if(a=(u=c.next()).done){e.next=24;break}if(l=u.value,d=h.modelManager.findItem(l.uuid)){e.next=18;break}return h.alertManager.alert({text:"The item you are trying to delete cannot be found."}),e.abrupt("continue",21);case 18:["SN|Component","SN|Theme"].includes(d.content_type)&&h.deactivateComponent(d,!0),h.modelManager.setItemToBeDeleted(d),h.modelManager.notifySyncObserversOfModels([d],SFModelManager.MappingSourceRemoteSaved);case 21:a=!0,e.next=12;break;case 24:e.next=30;break;case 26:e.prev=26,e.t0=e.catch(10),o=!0,s=e.t0;case 30:e.prev=30,e.prev=31,!a&&c.return&&c.return();case 33:if(e.prev=33,o)throw s;e.next=36;break;case 36:return e.finish(33);case 37:return e.finish(30);case 38:h.syncManager.sync(),r={deleted:!0},e.next=43;break;case 42:r={deleted:!1};case 43:h.replyToMessage(f,p,r);case 44:case"end":return e.stop()}},e,h,[[10,26,30,38],[31,,33,37]])})))}},{key:"handleRequestPermissionsMessage",value:function(e,t){var n=this;this.runWithPermissions(e,t.data.permissions,function(){n.replyToMessage(e,t,{approved:!0})})}},{key:"handleSetComponentDataMessage",value:function(e,t){var n=this;this.runWithPermissions(e,[],function(){e.componentData=t.data.componentData,n.modelManager.setItemDirty(e,!0),n.syncManager.sync()})}},{key:"handleToggleComponentMessage",value:function(e,t){this.toggleComponent(t)}},{key:"toggleComponent",value:function(e){var o=this;if("modal"==e.area)this.openModalComponent(e);else if(e.active)this.deactivateComponent(e);else if("SN|Theme"==e.content_type){var s=this.getActiveThemes();this.activateComponent(e),e.isLayerable()||setTimeout(function(){var e=!0,t=!1,n=void 0;try{for(var r,i=s[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var a=r.value;a&&!a.isLayerable()&&o.deactivateComponent(a)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}},10)}else this.activateComponent(e)}},{key:"handleInstallLocalComponentMessage",value:function(e,t){if(!this.nativeExtManager||this.nativeExtManager.isSystemExtension(e)){var n=this.modelManager.findItem(t.data.uuid);this.desktopManager.installComponent(n)}}},{key:"runWithPermissions",value:function(e,u,t){function n(t){var e=l.find(function(e){return e.name==t.name});if(!e)return"continue";var n=t.content_types;if(!n)return _.pull(u,t),"continue";var r=!0,i=!1,a=void 0;try{for(var o,s=e.content_types[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var c=o.value;_.pull(n,c)}}catch(e){i=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw a}}0==n.length&&_.pull(u,t)}e.permissions||(e.permissions=[]),u=JSON.parse(JSON.stringify(u));var l=e.permissions,r=!0,i=!1,a=void 0;try{for(var o,s=u.slice()[Symbol.iterator]();!(r=(o=s.next()).done);r=!0)n(o.value)}catch(e){i=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw a}}0<u.length?this.promptForPermissions(e,u,function(e){e&&t()}):t()}},{key:"promptForPermissions",value:function(s,c,e){var u=this,l={};l.component=s,l.permissions=c,l.permissionsString=this.permissionsStringForPermissions(c,s),l.actionBlock=e,l.callback=function(t){if(t){var e=function(t){var e=s.permissions.find(function(e){return e.name==t.name});if(e){var n=e.content_types||[];e.content_types=_.uniq(n.concat(t.content_types))}else s.permissions.push(t)},n=!0,r=!1,i=void 0;try{for(var a,o=c[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)e(a.value)}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}u.modelManager.setItemDirty(s,!0),u.syncManager.sync()}u.permissionDialogs=u.permissionDialogs.filter(function(e){return e==l?(e.actionBlock&&e.actionBlock(t),!1):!!(e.component!=s||e.permissions!=c&&(n=c,e.permissions.some(function(t){return!n.find(function(e){return JSON.stringify(e)===JSON.stringify(t)})})))||(t&&e.actionBlock&&e.actionBlock(t),!1);var n}),0<u.permissionDialogs.length&&u.presentPermissionsDialog(u.permissionDialogs[0])};var t=_.find(this.permissionDialogs,{component:s});this.permissionDialogs.push(l),t?console.log("Existing dialog, not presenting."):this.presentPermissionsDialog(l)}},{key:"presentPermissionsDialog",value:function(){console.error("Must override")}},{key:"openModalComponent",value:function(){console.error("Must override")}},{key:"registerHandler",value:function(e){this.handlers.push(e)}},{key:"deregisterHandler",value:function(e){var t=_.find(this.handlers,{identifier:e});t?this.handlers.splice(this.handlers.indexOf(t),1):console.log("Attempting to deregister non-existing handler")}},{key:"registerComponentWindow",value:(w=m($.default.mark(function e(t,n){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.window===n&&this.loggingEnabled&&console.log("Web|componentManager","attempting to re-register same component window."),this.loggingEnabled&&console.log("Web|componentManager|registerComponentWindow",t),t.window=n,e.next=5,SFJS.crypto.generateUUID();case 5:t.sessionKey=e.sent,this.sendMessageToComponent(t,{action:"component-registered",sessionKey:t.sessionKey,componentData:t.componentData,data:{uuid:t.uuid,environment:this.environment,platform:this.platform,activeThemeUrls:this.urlsForActiveThemes()}}),this.postActiveThemesToComponent(t),this.desktopManager&&this.desktopManager.notifyComponentActivation(t);case 9:case"end":return e.stop()}},e,this)})),function(e,t){return w.apply(this,arguments)})},{key:"activateComponent",value:function(t,e){function n(e){(e.areas.includes(t.area)||e.areas.includes("*"))&&r.$uiRunner(function(){e.activationHandler&&e.activationHandler(t)})}var r=this,i=1<arguments.length&&void 0!==e&&e,a=1!=t.active,o=t.active=!0,s=!1,c=void 0;try{for(var u,l=this.handlers[Symbol.iterator]();!(o=(u=l.next()).done);o=!0)n(u.value)}catch(e){s=!0,c=e}finally{try{!o&&l.return&&l.return()}finally{if(s)throw c}}a&&!i&&(this.modelManager.setItemDirty(t,!0),this.syncManager.sync()),this.activeComponents.includes(t)||this.activeComponents.push(t),"themes"==t.area&&this.postActiveThemesToAllComponents()}},{key:"deactivateComponent",value:function(t,e){var n=this,r=1<arguments.length&&void 0!==e&&e,i=0!=t.active;function a(e){(e.areas.includes(t.area)||e.areas.includes("*"))&&n.$uiRunner(function(){e.activationHandler&&e.activationHandler(t)})}t.active=!1;var o=!(t.sessionKey=null),s=!1,c=void 0;try{for(var u,l=this.handlers[Symbol.iterator]();!(o=(u=l.next()).done);o=!0)a(u.value)}catch(e){s=!0,c=e}finally{try{!o&&l.return&&l.return()}finally{if(s)throw c}}i&&!r&&(this.modelManager.setItemDirty(t,!0),this.syncManager.sync()),_.pull(this.activeComponents,t),this.streamObservers=this.streamObservers.filter(function(e){return e.component!==t}),this.contextStreamObservers=this.contextStreamObservers.filter(function(e){return e.component!==t}),"themes"==t.area&&this.postActiveThemesToAllComponents()}},{key:"reloadComponent",value:(b=m($.default.mark(function e(s){var t,n,r,i,a,o,c,u=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(s.active=!1,t=function(e){(e.areas.includes(s.area)||e.areas.includes("*"))&&u.$uiRunner(function(){e.activationHandler&&e.activationHandler(s)})},r=!(n=!0),i=void 0,e.prev=5,a=this.handlers[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)c=o.value,t(c);e.next=13;break;case 9:e.prev=9,e.t0=e.catch(5),r=!0,i=e.t0;case 13:e.prev=13,e.prev=14,!n&&a.return&&a.return();case 16:if(e.prev=16,r)throw i;e.next=19;break;case 19:return e.finish(16);case 20:return e.finish(13);case 21:return this.streamObservers=this.streamObservers.filter(function(e){return e.component!==s}),this.contextStreamObservers=this.contextStreamObservers.filter(function(e){return e.component!==s}),"themes"==s.area&&this.postActiveThemesToAllComponents(),e.abrupt("return",new Promise(function(o,e){u.$timeout(function(){var e=s.active=!0,t=!1,n=void 0;try{for(var r,i=u.handlers[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var a=r.value;(a.areas.includes(s.area)||a.areas.includes("*"))&&u.$uiRunner(function(){a.activationHandler&&a.activationHandler(s),o()})}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}u.activeComponents.includes(s)||u.activeComponents.push(s),"themes"==s.area&&u.postActiveThemesToAllComponents(),o()})}));case 25:case"end":return e.stop()}},e,this,[[5,9,13,21],[14,,16,20]])})),function(e){return b.apply(this,arguments)})},{key:"deleteComponent",value:function(e){this.modelManager.setItemToBeDeleted(e),this.syncManager.sync()}},{key:"isComponentActive",value:function(e){return e.active}},{key:"iframeForComponent",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=Array.from(document.getElementsByTagName("iframe"))[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;if(o.dataset.componentId===e.uuid)return o}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}}},{key:"focusChangedForComponent",value:function(e){var t=document.activeElement==this.iframeForComponent(e),n=!0,r=!1,i=void 0;try{for(var a,o=this.handlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.focusHandler&&s.focusHandler(e,t)}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}}},{key:"handleSetSizeEvent",value:function(e,i){function t(e,t){var n="string"==typeof t.width?t.width:i.width+"px",r="string"==typeof t.height?t.height:i.height+"px";e&&e.setAttribute("style","width:"+n+"; height:"+r+";")}if("rooms"==e.area||"modal"==e.area){var n="rooms"==e.area?"inner":"outer",r=document.getElementById("component-content-"+n+"-"+e.uuid);r&&t(r,i)}else{var a=this.iframeForComponent(e);if(!a)return;if(t(a,i),"editor-stack"==e.area){var o=a.parentElement;o&&t(o,i)}}}},{key:"editorForNote",value:function(e){var t=this.componentsForArea("editor-editor"),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(s.isExplicitlyEnabledForItem(e))return s}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}if(this.isMobile){if(!e.content.mobilePrefersPlainEditor)return this.getDefaultEditor()}else if(!e.getAppDataItem("prefersPlainEditor"))return t.filter(function(e){return e.isDefaultEditor()})[0]}},{key:"permissionsStringForPermissions",value:function(e,o){function s(e,t){return 0<e?e==t-1?2==t?" and ":", and ":", ":""}var c=this,u="",l=e.length;return e.forEach(function(e,t){if("stream-items"===e.name){for(var n=e.content_types.map(function(e){var t=c.modelManager.humanReadableDisplayForContentType(e);return t?t+"s":"items of type "+e}),r="",i=0;i<n.length;i++){var a=n[i];r+=s(i,n.length+l-t-1),r+=a}u+=s(t,l),u+=r,2<=n.length&&t<l-1&&(u+=", ")}else"stream-context-item"===e.name&&(u+=s(t,l),u+={"editor-stack":"working note","note-tags":"working note","editor-editor":"working note"}[o.area])}),u+"."}},{key:"components",get:function(){return this.modelManager.allItemsMatchingTypes(["SN|Component","SN|Theme"])}}]),M);function M(e){var t=e.modelManager,n=e.syncManager,r=e.desktopManager,i=e.nativeExtManager,a=e.alertManager,o=e.$uiRunner,s=e.$timeout,c=e.environment,u=e.platform;h(this,M),M.ClientDataDomain="org.standardnotes.sn.components",this.$uiRunner=o||function(e){e()},this.$timeout=s||setTimeout.bind(window),this.modelManager=t,this.syncManager=n,this.desktopManager=r,this.nativeExtManager=i,this.alertManager=a,this.streamObservers=[],this.contextStreamObservers=[],this.activeComponents=[],this.environment=c,this.platform=u,this.isDesktop="desktop"==this.environment,this.isMobile="mobile"==this.environment,"mobile"!=c&&this.configureForNonMobileUsage(),this.configureForGeneralUsage(),this.permissionDialogs=[],this.handlers=[]}var I=n.SNComponent=(d(C,u.SFItem),a(C,[{key:"mapContentToLocalProperties",value:function(e){s(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"mapContentToLocalProperties",this).call(this,e),e.hosted_url||(this.legacy_url=e.url),this.local_url=e.local_url,this.hosted_url=e.hosted_url||e.url,this.offlineOnly=e.offlineOnly,e.valid_until&&(this.valid_until=new Date(e.valid_until)),this.name=e.name,this.autoupdateDisabled=e.autoupdateDisabled,this.package_info=e.package_info,this.area=e.area,this.permissions=e.permissions,this.permissions||(this.permissions=[]),this.active=e.active,this.componentData=e.componentData||{},this.disassociatedItemIds=e.disassociatedItemIds||[],this.associatedItemIds=e.associatedItemIds||[]}},{key:"handleDeletedContent",value:function(){s(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"handleDeletedContent",this).call(this),this.active=!1}},{key:"structureParams",value:function(){var e={legacy_url:this.legacy_url,hosted_url:this.hosted_url,local_url:this.local_url,valid_until:this.valid_until,offlineOnly:this.offlineOnly,name:this.name,area:this.area,package_info:this.package_info,permissions:this.permissions,active:this.active,autoupdateDisabled:this.autoupdateDisabled,componentData:this.componentData,disassociatedItemIds:this.disassociatedItemIds,associatedItemIds:this.associatedItemIds},t=s(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"structureParams",this).call(this);return Object.assign(t,e),t}},{key:"isEditor",value:function(){return"editor-editor"==this.area}},{key:"isTheme",value:function(){return"SN|Theme"==this.content_type||"themes"==this.area}},{key:"isDefaultEditor",value:function(){return 1==this.getAppDataItem("defaultEditor")}},{key:"setLastSize",value:function(e){this.setAppDataItem("lastSize",e)}},{key:"getLastSize",value:function(){return this.getAppDataItem("lastSize")}},{key:"acceptsThemes",value:function(){return!(this.content.package_info&&"acceptsThemes"in this.content.package_info)||this.content.package_info.acceptsThemes}},{key:"getClientDataKey",value:function(){return this.legacy_url?this.legacy_url:this.uuid}},{key:"hasValidHostedUrl",value:function(){return this.hosted_url||this.legacy_url}},{key:"keysToIgnoreWhenCheckingContentEquality",value:function(){return["active","disassociatedItemIds","associatedItemIds"].concat(s(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"keysToIgnoreWhenCheckingContentEquality",this).call(this))}},{key:"isAssociative",value:function(){return Component.associativeAreas().includes(this.area)}},{key:"associateWithItem",value:function(e){this.associatedItemIds.push(e.uuid)}},{key:"isExplicitlyEnabledForItem",value:function(e){return-1!==this.associatedItemIds.indexOf(e.uuid)}},{key:"isExplicitlyDisabledForItem",value:function(e){return-1!==this.disassociatedItemIds.indexOf(e.uuid)}},{key:"content_type",get:function(){return"SN|Component"}}],[{key:"associativeAreas",value:function(){return["editor-editor"]}}]),C);function C(e){h(this,C),e.window=null;var t=l(this,(C.__proto__||Object.getPrototypeOf(C)).call(this,e));return t.componentData||(t.componentData={}),t.disassociatedItemIds||(t.disassociatedItemIds=[]),t.associatedItemIds||(t.associatedItemIds=[]),t}var A=n.SNEditor=(d(R,u.SFItem),a(R,[{key:"mapContentToLocalProperties",value:function(e){s(R.prototype.__proto__||Object.getPrototypeOf(R.prototype),"mapContentToLocalProperties",this).call(this,e),this.url=e.url,this.name=e.name,this.data=e.data||{},this.default=e.default,this.systemEditor=e.systemEditor}},{key:"structureParams",value:function(){var e={url:this.url,name:this.name,data:this.data,default:this.default,systemEditor:this.systemEditor},t=s(R.prototype.__proto__||Object.getPrototypeOf(R.prototype),"structureParams",this).call(this);return Object.assign(t,e),t}},{key:"referenceParams",value:function(){return _.map(this.notes,function(e){return{uuid:e.uuid,content_type:e.content_type}})}},{key:"addItemAsRelationship",value:function(e){"Note"==e.content_type&&(_.find(this.notes,e)||this.notes.push(e)),s(R.prototype.__proto__||Object.getPrototypeOf(R.prototype),"addItemAsRelationship",this).call(this,e)}},{key:"removeItemAsRelationship",value:function(e){"Note"==e.content_type&&_.pull(this.notes,e),s(R.prototype.__proto__||Object.getPrototypeOf(R.prototype),"removeItemAsRelationship",this).call(this,e)}},{key:"removeAndDirtyAllRelationships",value:function(){s(R.prototype.__proto__||Object.getPrototypeOf(R.prototype),"removeAndDirtyAllRelationships",this).call(this),this.notes=[]}},{key:"removeReferencesNotPresentIn",value:function(e){s(R.prototype.__proto__||Object.getPrototypeOf(R.prototype),"removeReferencesNotPresentIn",this).call(this,e);var t=e.map(function(e){return e.uuid});this.notes.forEach(function(e){t.includes(e.uuid)||_.remove(this.notes,{uuid:e.uuid})}.bind(this))}},{key:"potentialItemOfInterestHasChangedItsUUID",value:function(e,t){"Note"===e.content_type&&_.find(this.notes,{uuid:t})&&(_.remove(this.notes,{uuid:t}),this.notes.push(e))}},{key:"setData",value:function(e,t){return JSON.stringify(this.data[e])!==JSON.stringify(t)&&(this.data[e]=t,!0)}},{key:"dataForKey",value:function(e){return this.data[e]||{}}},{key:"content_type",get:function(){return"SN|Editor"}}]),R);function R(e){h(this,R);var t=l(this,(R.__proto__||Object.getPrototypeOf(R)).call(this,e));return t.notes||(t.notes=[]),t.data||(t.data={}),t}var D=n.Action=function e(t){h(this,e),_.merge(this,t),this.running=!1,this.error=!1,this.lastExecuted&&(this.lastExecuted=new Date(this.lastExecuted))},E=n.SNExtension=(d(O,u.SFItem),a(O,[{key:"actionsWithContextForItem",value:function(t){return this.actions.filter(function(e){return e.context==t.content_type||"Item"==e.context})}},{key:"mapContentToLocalProperties",value:function(e){s(O.prototype.__proto__||Object.getPrototypeOf(O.prototype),"mapContentToLocalProperties",this).call(this,e),this.description=e.description,this.url=e.url,this.name=e.name,this.package_info=e.package_info,this.supported_types=e.supported_types,e.actions&&(this.actions=e.actions.map(function(e){return new D(e)}))}},{key:"structureParams",value:function(){var e={name:this.name,url:this.url,package_info:this.package_info,description:this.description,actions:this.actions.map(function(e){return _.omit(e,["subrows","subactions"])}),supported_types:this.supported_types},t=s(O.prototype.__proto__||Object.getPrototypeOf(O.prototype),"structureParams",this).call(this);return Object.assign(t,e),t}},{key:"content_type",get:function(){return"Extension"}}]),O);function O(e){h(this,O);var t=l(this,(O.__proto__||Object.getPrototypeOf(O)).call(this,e));return e.actions&&(t.actions=e.actions.map(function(e){return new D(e)})),t.actions||(t.actions=[]),t}var P=n.SNNote=(d(T,u.SFItem),a(T,[{key:"mapContentToLocalProperties",value:function(e){s(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"mapContentToLocalProperties",this).call(this,e),this.title=e.title,this.text=e.text}},{key:"structureParams",value:function(){var e={title:this.title,text:this.text},t=s(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"structureParams",this).call(this);return Object.assign(t,e),t}},{key:"addItemAsRelationship",value:function(e){"Tag"==e.content_type&&e.addItemAsRelationship(this),s(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"addItemAsRelationship",this).call(this,e)}},{key:"setIsBeingReferencedBy",value:function(e){s(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"setIsBeingReferencedBy",this).call(this,e),this.clearSavedTagsString()}},{key:"setIsNoLongerBeingReferencedBy",value:function(e){s(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"setIsNoLongerBeingReferencedBy",this).call(this,e),this.clearSavedTagsString()}},{key:"isBeingRemovedLocally",value:function(){this.tags.forEach(function(e){_.remove(e.notes,{uuid:this.uuid})}.bind(this)),s(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"isBeingRemovedLocally",this).call(this)}},{key:"informReferencesOfUUIDChange",value:function(e){s(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"informReferencesOfUUIDChange",this).call(this);var t=!0,n=!1,r=void 0;try{for(var i,a=this.tags[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;_.remove(o.notes,{uuid:e}),o.notes.push(this)}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}}},{key:"tagDidFinishSyncing",value:function(){this.clearSavedTagsString()}},{key:"safeText",value:function(){return this.text||""}},{key:"safeTitle",value:function(){return this.title||""}},{key:"clearSavedTagsString",value:function(){this.savedTagsString=null}},{key:"tagsString",value:function(){return this.savedTagsString=F.arrayToDisplayString(this.tags),this.savedTagsString}},{key:"content_type",get:function(){return"Note"}},{key:"displayName",get:function(){return"Note"}}],[{key:"filterDummyNotes",value:function(e){return e.filter(function(e){return 0==e.dummy||null==e.dummy})}}]),T);function T(e){h(this,T);var t=l(this,(T.__proto__||Object.getPrototypeOf(T)).call(this,e));return t.text||(t.text=""),t.tags||(t.tags=[]),t}var F=n.SNTag=(d(L,u.SFItem),a(L,[{key:"mapContentToLocalProperties",value:function(e){s(L.prototype.__proto__||Object.getPrototypeOf(L.prototype),"mapContentToLocalProperties",this).call(this,e),this.title=e.title}},{key:"structureParams",value:function(){var e={title:this.title},t=s(L.prototype.__proto__||Object.getPrototypeOf(L.prototype),"structureParams",this).call(this);return Object.assign(t,e),t}},{key:"addItemAsRelationship",value:function(e){"Note"==e.content_type&&(_.find(this.notes,{uuid:e.uuid})||(this.notes.push(e),e.tags.push(this))),s(L.prototype.__proto__||Object.getPrototypeOf(L.prototype),"addItemAsRelationship",this).call(this,e)}},{key:"removeItemAsRelationship",value:function(e){"Note"==e.content_type&&(_.remove(this.notes,{uuid:e.uuid}),_.remove(e.tags,{uuid:this.uuid})),s(L.prototype.__proto__||Object.getPrototypeOf(L.prototype),"removeItemAsRelationship",this).call(this,e)}},{key:"updateLocalRelationships",value:function(){var t=this.content.references.map(function(e){return e.uuid});this.notes.slice().forEach(function(e){t.includes(e.uuid)||(_.remove(e.tags,{uuid:this.uuid}),_.remove(this.notes,{uuid:e.uuid}),e.setIsNoLongerBeingReferencedBy(this))}.bind(this))}},{key:"isBeingRemovedLocally",value:function(){var t=this;this.notes.forEach(function(e){_.remove(e.tags,{uuid:t.uuid}),e.setIsNoLongerBeingReferencedBy(t)}),this.notes.length=0,s(L.prototype.__proto__||Object.getPrototypeOf(L.prototype),"isBeingRemovedLocally",this).call(this)}},{key:"informReferencesOfUUIDChange",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=this.notes[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;_.remove(o.tags,{uuid:e}),o.tags.push(this)}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}}},{key:"didFinishSyncing",value:function(){var e=!0,t=!1,n=void 0;try{for(var r,i=this.notes[Symbol.iterator]();!(e=(r=i.next()).done);e=!0)r.value.tagDidFinishSyncing(this)}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}},{key:"isSmartTag",value:function(){return"SN|SmartTag"==this.content_type}},{key:"displayName",get:function(){return"Tag"}}],[{key:"arrayToDisplayString",value:function(e){return e.sort(function(e,t){return e.title>t.title}).map(function(e,t){return"#"+e.title}).join(" ")}}]),L);function L(e){h(this,L);var t=l(this,(L.__proto__||Object.getPrototypeOf(L)).call(this,e));return t.content_type||(t.content_type="Tag"),t.notes||(t.notes=[]),t}var N=n.SNEncryptedStorage=(d(B,u.SFItem),a(B,[{key:"mapContentToLocalProperties",value:function(e){s(B.prototype.__proto__||Object.getPrototypeOf(B.prototype),"mapContentToLocalProperties",this).call(this,e),this.storage=e.storage}},{key:"content_type",get:function(){return"SN|EncryptedStorage"}}]),B);function B(){return h(this,B),l(this,(B.__proto__||Object.getPrototypeOf(B)).apply(this,arguments))}var H=n.SNMfa=(d(j,u.SFItem),a(j,[{key:"doNotEncrypt",value:function(){return!0}},{key:"content_type",get:function(){return"SF|MFA"}}]),j);function j(e){return h(this,j),l(this,(j.__proto__||Object.getPrototypeOf(j)).call(this,e))}var U=n.SNServerExtension=(d(z,u.SFItem),a(z,[{key:"mapContentToLocalProperties",value:function(e){s(z.prototype.__proto__||Object.getPrototypeOf(z.prototype),"mapContentToLocalProperties",this).call(this,e),this.url=e.url}},{key:"doNotEncrypt",value:function(){return!0}},{key:"content_type",get:function(){return"SF|Extension"}}]),z);function z(){return h(this,z),l(this,(z.__proto__||Object.getPrototypeOf(z)).apply(this,arguments))}var V=n.SNSmartTag=(d(K,F),a(K,null,[{key:"systemSmartTags",value:function(){return[new K({uuid:K.SystemSmartTagIdAllNotes,dummy:!0,content:{title:"All notes",isSystemTag:!0,isAllTag:!0,predicate:new SFPredicate.fromArray(["content_type","=","Note"])}}),new K({uuid:K.SystemSmartTagIdArchivedNotes,dummy:!0,content:{title:"Archived",isSystemTag:!0,isArchiveTag:!0,predicate:new SFPredicate.fromArray(["archived","=",!0])}}),new K({uuid:K.SystemSmartTagIdTrashedNotes,dummy:!0,content:{title:"Trash",isSystemTag:!0,isTrashTag:!0,predicate:new SFPredicate.fromArray(["content.trashed","=",!0])}})]}}]),K);function K(e){h(this,K);var t=l(this,(K.__proto__||Object.getPrototypeOf(K)).call(this,e));return t.content_type="SN|SmartTag",t}V.SystemSmartTagIdAllNotes="all-notes",V.SystemSmartTagIdArchivedNotes="archived-notes",V.SystemSmartTagIdTrashedNotes="trashed-notes";var q=n.SNTheme=(d(W,I),a(W,[{key:"isLayerable",value:function(){return this.package_info&&this.package_info.layerable}},{key:"setMobileRules",value:function(e){this.setAppDataItem("mobileRules",e)}},{key:"getMobileRules",value:function(){return this.getAppDataItem("mobileRules")||{constants:{},rules:{}}}},{key:"hasMobileRules",value:function(){return this.getAppDataItem("mobileRules")}},{key:"setNotAvailOnMobile",value:function(e){this.setAppDataItem("notAvailableOnMobile",e)}},{key:"getNotAvailOnMobile",value:function(){return this.getAppDataItem("notAvailableOnMobile")}},{key:"setMobileActive",value:function(e){this.setAppDataItem("mobileActive",e)}},{key:"isMobileActive",value:function(){return this.getAppDataItem("mobileActive")}},{key:"content_type",get:function(){return"SN|Theme"}},{key:"displayName",get:function(){return"Theme"}}]),W);function W(e){h(this,W);var t=l(this,(W.__proto__||Object.getPrototypeOf(W)).call(this,e));return t.area="themes",t}if("undefined"!=typeof window&&null!==window)try{window.SNNote=P,window.SNTag=F,window.SNSmartTag=V,window.SNMfa=H,window.SNServerExtension=U,window.SNComponent=I,window.SNEditor=A,window.SNExtension=E,window.SNTheme=q,window.SNEncryptedStorage=N,window.SNComponentManager=S}catch(e){console.log("Exception while exporting snjs window variables",e)}function J(){try{var e=navigator.platform.toLowerCase(),t="";return-1!==e.indexOf("mac")?t="mac":-1!==e.indexOf("win")&&(t="windows"),-1!==e.indexOf("linux")&&(t="linux"),t+(G()?"-desktop":"-web")}catch(e){return null}}function G(){return window.isElectron}angular.module("app",["ngSanitize"]),Array.prototype.containsPrimitiveSubset=function(e){var t=this;return!e.some(function(e){return-1===t.indexOf(e)})},Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function(e,t){if(null==this)throw new TypeError('"this" is null or not defined');var n=Object(this),r=n.length>>>0;if(0==r)return!1;var i,a,o=0|t,s=Math.max(0<=o?o:r-Math.abs(o),0);for(;s<r;){if((i=n[s])===(a=e)||"number"==typeof i&&"number"==typeof a&&isNaN(i)&&isNaN(a))return!0;s++}return!1}}),angular.module("app").constant("appVersion","3.0.22"),angular.module("app").config(["$locationProvider",function(e){G()?e.html5Mode(!1):window.history&&window.history.pushState&&e.html5Mode({enabled:!0,requireBase:!1})}]);var Y=function(e){function t(){return(0,v.default)(this,t),(0,g.default)(this,(0,k.default)(t).apply(this,arguments))}return(0,p.default)(t,e),(0,f.default)(t,[{key:"previewTitle",value:function(){return this.item.updated_at.toLocaleString()}},{key:"previewSubTitle",value:function(){return this.hasPreviousEntry?this.textCharDiffLength<0?"".concat(-1*this.textCharDiffLength," characters removed"):0<this.textCharDiffLength?"".concat(this.textCharDiffLength," characters added"):"Title or metadata changed":"".concat(this.textCharDiffLength," characters loaded")}}]),t}(SFItemHistoryEntry);angular.module("app").directive("editorSection",["$timeout","$sce",function(e,t){return{restrict:"E",scope:{remove:"&",note:"=",updateTags:"&"},templateUrl:"editor.html",replace:!0,controller:"EditorCtrl",controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){e.$watch("ctrl.note",function(e,t){e&&r.noteDidChange(e,t)})}}}]).controller("EditorCtrl",["$sce","$timeout","authManager","$rootScope","actionsManager","syncManager","modelManager","themeManager","componentManager","storageManager","sessionHistory","privilegesManager","keyboardManager","desktopManager","alertManager",function(e,u,l,i,t,d,f,n,o,r,a,s,c,p,h){var m=this;this.spellcheck=!0,this.componentManager=o,this.componentStack=[],this.isDesktop=G();d.addEventHandler(function(e,t){if(m.note)if("sync:taking-too-long"==e)m.syncTakingTooLong=!0;else if("sync:completed"==e)if(m.syncTakingTooLong=!1,m.note.dirty);else{var n=t.savedItems.find(function(e){return e.uuid==m.note.uuid});(m.saveError||n)&&m.showAllChangesSavedStatus()}else"sync:error"==e&&m.note.dirty&&m.showErrorStatus()}),this.syncStatusObserver=d.registerSyncStatusObserver(function(e){e.localError&&u(function(){m.showErrorStatus({message:"Offline Saving Issue",desc:"Changes not saved"})},500)}),f.addItemSyncObserver("editor-note-observer","Note",function(e,t,n,r){m.note&&(m.note.deleted||m.note.content.trashed?i.notifyDelete():SFModelManager.isMappingSourceRetrieved(r)&&e.find(function(e){return e.uuid==m.note.uuid})&&m.loadTagsString())}),f.addItemSyncObserver("editor-tag-observer","Tag",function(e,t,n,r){if(m.note){var i=!0,a=!1,o=void 0;try{for(var s,c=e[Symbol.iterator]();!(i=(s=c.next()).done);i=!0){var u=s.value;if(null==m.note.savedTagsString||u.deleted||u.hasRelationshipWithItem(m.note))return void m.loadTagsString()}}catch(e){a=!0,o=e}finally{try{i||null==c.return||c.return()}finally{if(a)throw o}}}}),f.addItemSyncObserver("editor-component-observer","SN|Component",function(e,t,n,r){if(m.note&&(m.reloadComponentStackArray(),0!=e.filter(function(e){return e.isEditor()}).length)){var i=m.editorForNote(m.note);(m.selectedEditor=i)||m.reloadFont()}}),this.noteDidChange=function(e,t){this.setNote(e,t),this.reloadComponentContext()},this.setNote=function(e,t){var n=this;this.showExtensions=!1,this.showMenu=!1,this.noteStatus=null,this.altKeyDown=!1,this.loadTagsString();function r(){n.noteReady=!0,u(function(){n.loadPreferences()})}var i=this.editorForNote(e);i&&i!=this.selectedEditor?(this.noteReady=!1,u(function(){n.selectedEditor=i,r()})):(i||(this.selectedEditor=null),r()),0==e.safeText().length&&e.dummy&&this.focusTitle(100),t&&t!=e&&t.dummy&&this.remove()(t)},this.editorForNote=function(e){return o.editorForNote(e)},this.closeAllMenus=function(){this.showEditorMenu=!1,this.showMenu=!1,this.showExtensions=!1},this.toggleMenu=function(e){this[e]=!this[e];for(var t=0,n=["showMenu","showEditorMenu","showExtensions","showSessionHistory"];t<n.length;t++){var r=n[t];r!=e&&(this[r]=!1)}},this.editorMenuOnSelect=function(e){var t=this;if(e&&"editor-editor"!=e.area)"editor-stack"==e.area&&this.toggleStackComponentForCurrentItem(e);else{this.showEditorMenu=!1;var n=e;this.selectedEditor&&n!==this.selectedEditor&&this.disassociateComponentWithCurrentNote(this.selectedEditor),n?(1==this.note.getAppDataItem("prefersPlainEditor")&&(this.note.setAppDataItem("prefersPlainEditor",!1),f.setItemDirty(this.note,!0)),this.associateComponentWithCurrentNote(n)):(this.note.getAppDataItem("prefersPlainEditor")||(this.note.setAppDataItem("prefersPlainEditor",!0),f.setItemDirty(this.note,!0)),u(function(){t.reloadFont()})),this.selectedEditor=n}d.sync()}.bind(this),this.hasAvailableExtensions=function(){return 0<t.extensionsInContextOfItem(this.note).length},this.focusEditor=function(e){setTimeout(function(){var e=document.getElementById("note-text-editor");e&&e.focus()},e)},this.focusTitle=function(e){setTimeout(function(){document.getElementById("note-title-editor").focus()},e)},this.clickedTextArea=function(){this.showMenu=!1},this.EditorNgDebounce=200;this.saveNote=function(e){var t=this,n=e.bypassDebouncer,r=e.updateClientModified,i=e.dontUpdatePreviews,a=this.note;if(a.dummy=!1,a.deleted)h.alert({text:"The note you are attempting to edit has been deleted, and is awaiting sync. Changes you make will be disregarded."});else if(f.findItem(a.uuid)){if(this.showSavingStatus(),!i){var o=a.text||"",s=80<o.length;a.content.preview_plain=o.substring(0,80)+(s?"...":""),a.content.preview_html=null}var c;f.setItemDirty(a,!0,r),this.saveTimeout&&u.cancel(this.saveTimeout),c=l.offline()||n?100:350,this.saveTimeout=u(function(){d.sync().then(function(e){e&&e.error&&!t.didShowErrorAlert&&(t.didShowErrorAlert=!0,h.alert({text:"There was an error saving your note. Please try again."}))})},c)}else h.alert({text:"The note you are attempting to save can not be found or has been deleted. Changes you make will not be synced. Please copy this note's text and start a new note."})},this.showSavingStatus=function(){this.setStatus({message:"Saving..."},!1)},this.showAllChangesSavedStatus=function(){this.saveError=!1,this.syncTakingTooLong=!1;var e="All changes saved";l.offline()&&(e+=" (offline)"),this.setStatus({message:e})},this.showErrorStatus=function(e){e=e||{message:"Sync Unreachable",desc:"Changes saved offline"},this.saveError=!0,this.syncTakingTooLong=!1,this.setStatus(e)},this.setStatus=function(e){var t,n=this,r=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];t=this.noteStatus&&this.noteStatus.date?400-(new Date-this.noteStatus.date):0,(!r||t<0)&&(t=0),this.statusTimeout&&u.cancel(this.statusTimeout),this.statusTimeout=u(function(){e.date=new Date,n.noteStatus=e},t)},this.contentChanged=function(){this.saveNote({updateClientModified:!0})},this.onTitleEnter=function(e){e.target.blur(),this.onTitleChange(),this.focusEditor()},this.onTitleChange=function(){this.saveNote({dontUpdatePreviews:!0,updateClientModified:!0})},this.onNameFocus=function(){this.editingName=!0},this.onContentFocus=function(){i.$broadcast("editorFocused")},this.onNameBlur=function(){this.editingName=!1},this.selectedMenuItem=function(e){e&&(this.showMenu=!1)},this.deleteNote=function(){var t=(0,y.default)($.default.mark(function e(n){var t,r=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.note.dummy)return h.alert({text:"This note is a placeholder and cannot be deleted. To remove from your list, simply navigate to a different note."}),e.abrupt("return");e.next=3;break;case 3:return t=function(){u(function(){if(r.note.locked)h.alert("This note is locked. If you'd like to delete it, unlock it, and try again.");else{var e=r.note.safeTitle().length?"'".concat(r.note.title,"'"):"this note",t=n?"Are you sure you want to permanently delete ".concat(e,"?"):"Are you sure you want to move ".concat(e," to the trash?");h.confirm({text:t,destructive:!0,onConfirm:function(){n?r.remove()(r.note):(r.note.content.trashed=!0,r.saveNote({bypassDebouncer:!0,dontUpdatePreviews:!0})),r.showMenu=!1}})}})},e.next=6,s.actionRequiresPrivilege(de.ActionDeleteNote);case 6:if(!e.sent){e.next=10;break}s.presentPrivilegesModal(de.ActionDeleteNote,function(){t()}),e.next=11;break;case 10:t();case 11:case"end":return e.stop()}},e,this)}));return function(e){return t.apply(this,arguments)}}(),this.restoreTrashedNote=function(){this.note.content.trashed=!1,this.saveNote({bypassDebouncer:!0,dontUpdatePreviews:!0})},this.deleteNotePermanantely=function(){this.deleteNote(!0)},this.getTrashCount=function(){return f.trashedItems().length},this.emptyTrash=function(){var e=this.getTrashCount();h.confirm({text:"Are you sure you want to permanently delete ".concat(e," note(s)?"),destructive:!0,onConfirm:function(){f.emptyTrash(),d.sync()}})},this.togglePin=function(){this.note.setAppDataItem("pinned",!this.note.pinned),this.saveNote({bypassDebouncer:!0,dontUpdatePreviews:!0})},this.toggleLockNote=function(){this.note.setAppDataItem("locked",!this.note.locked),this.saveNote({bypassDebouncer:!0,dontUpdatePreviews:!0})},this.toggleProtectNote=function(){this.note.content.protected=!this.note.content.protected,this.saveNote({bypassDebouncer:!0,dontUpdatePreviews:!0}),s.actionHasPrivilegesConfigured(de.ActionViewProtectedNotes).then(function(e){e||s.presentPrivilegesManagementModal()})},this.toggleNotePreview=function(){this.note.content.hidePreview=!this.note.content.hidePreview,this.saveNote({bypassDebouncer:!0,dontUpdatePreviews:!0})},this.toggleArchiveNote=function(){this.note.setAppDataItem("archived",!this.note.archived),this.saveNote({bypassDebouncer:!0,dontUpdatePreviews:!0}),i.$broadcast("noteArchived")},this.clickedEditNote=function(){this.focusEditor(100)},this.loadTagsString=function(){this.tagsString=this.note.tagsString()},this.addTag=function(e){var t=this.note.tags.map(function(e){return e.title});t.push(e.title),this.updateTags()(this.note,t),this.loadTagsString()},this.removeTag=function(t){var e=this.note.tags.map(function(e){return e.title}).filter(function(e){return e!==t.title});this.updateTags()(this.note,e),this.loadTagsString()},this.updateTagsFromTagsString=function(){if(this.tagsString!=this.note.tagsString()){var e=this.tagsString.split("#").filter(function(e){return 0<e.length}).map(function(e){return e.trim()});this.note.dummy=!1,this.updateTags()(this.note,e)}},this.leftResizeControl={},this.rightResizeControl={},this.onPanelResizeFinish=function(e,t,n){n?l.setUserPrefValue("editorWidth",null):null!=e&&(l.setUserPrefValue("editorWidth",e),m.leftResizeControl.setWidth(e)),null!=t&&(l.setUserPrefValue("editorLeft",t),m.rightResizeControl.setLeft(t)),l.syncUserPreferences()},i.$on("user-preferences-changed",function(){m.loadPreferences()}),this.loadPreferences=function(){this.monospaceFont=l.getUserPrefValue("monospaceFont","monospace");var e=!G();if(this.spellcheck=l.getUserPrefValue("spellcheck",e),this.marginResizersEnabled=l.getUserPrefValue("marginResizersEnabled",!0),document.getElementById("editor-content")&&(this.reloadFont(),this.marginResizersEnabled)){var t=l.getUserPrefValue("editorWidth",null);null!==t&&(this.leftResizeControl.setWidth(t),this.rightResizeControl.setWidth(t));var n=l.getUserPrefValue("editorLeft",null);null!==n&&(this.leftResizeControl.setLeft(n),this.rightResizeControl.setLeft(n))}},this.reloadFont=function(){var e=document.getElementById("note-text-editor");e&&(this.monospaceFont?G()?e.style.fontFamily="Menlo, Consolas, 'DejaVu Sans Mono', monospace":e.style.fontFamily="monospace":e.style.fontFamily="inherit")},this.toggleKey=function(e){var t=this;this[e]=!this[e],l.setUserPrefValue(e,this[e],!0),this.reloadFont(),"spellcheck"==e?(this.noteReady=!1,u(function(){t.noteReady=!0,u(function(){t.reloadFont()})},0)):"marginResizersEnabled"==e&&1==this[e]&&u(function(){t.leftResizeControl.flash(),t.rightResizeControl.flash()})},this.onEditorLoad=function(e){p.redoSearch()},o.registerHandler({identifier:"editor",areas:["note-tags","editor-stack","editor-editor"],activationHandler:function(e){"note-tags"===e.area?m.tagsComponent=e.active?e:null:"editor-editor"==e.area?m.selectedEditor&&m.selectedEditor==e&&0==e.active?m.selectedEditor=null:m.selectedEditor?m.selectedEditor.active&&e.isExplicitlyEnabledForItem(m.note)&&!m.selectedEditor.isExplicitlyEnabledForItem(m.note)&&(m.selectedEditor=e):e.active&&m.note&&(e.isExplicitlyEnabledForItem(m.note)||e.isDefaultEditor())?m.selectedEditor=e:m.selectedEditor=null:"editor-stack"==e.area&&m.reloadComponentContext()},contextRequestHandler:function(e){if(e==m.selectedEditor||e==m.tagsComponent||m.componentStack.includes(e))return m.note},focusHandler:function(e,t){e.isEditor()&&t&&m.closeAllMenus()},actionHandler:function(e,t,n){if("set-size"===t){if("container"==n.type&&"note-tags"==e.area){var r=document.getElementById("note-tags-component-container");a=r,s="string"==typeof(o=n).width?o.width:"".concat(n.width,"px"),c="string"==typeof o.height?o.height:"".concat(n.height,"px"),a.setAttribute("style","width:".concat(s,"; height:").concat(c,"; "))}}else if("associate-item"===t){if("Tag"==n.item.content_type){var i=f.findItem(n.item.uuid);m.addTag(i)}}else if("deassociate-item"===t){i=f.findItem(n.item.uuid);m.removeTag(i)}else"save-items"===t&&n.items.map(function(e){return e.uuid}).includes(m.note.uuid)&&m.showSavingStatus();var a,o,s,c}}),this.reloadComponentStackArray=function(){this.componentStack=o.componentsForArea("editor-stack").sort(function(e,t){return e.name.toLowerCase()<t.name.toLowerCase()?-1:1})},this.reloadComponentContext=function(){if(this.reloadComponentStackArray(),this.note){var e=!0,t=!1,n=void 0;try{for(var r,i=this.componentStack[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var a=r.value;a.active&&o.setComponentHidden(a,!a.isExplicitlyEnabledForItem(this.note))}}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}}o.contextItemDidChangeInArea("note-tags"),o.contextItemDidChangeInArea("editor-stack"),o.contextItemDidChangeInArea("editor-editor")},this.toggleStackComponentForCurrentItem=function(e){e.hidden||!e.active?(o.setComponentHidden(e,!1),this.associateComponentWithCurrentNote(e),e.active||o.activateComponent(e),o.contextItemDidChangeInArea("editor-stack")):(o.setComponentHidden(e,!0),this.disassociateComponentWithCurrentNote(e))},this.disassociateComponentWithCurrentNote=function(e){var t=this;e.associatedItemIds=e.associatedItemIds.filter(function(e){return e!==t.note.uuid}),e.disassociatedItemIds.includes(this.note.uuid)||e.disassociatedItemIds.push(this.note.uuid),f.setItemDirty(e,!0),d.sync()},this.associateComponentWithCurrentNote=function(e){var t=this;e.disassociatedItemIds=e.disassociatedItemIds.filter(function(e){return e!==t.note.uuid}),e.associatedItemIds.includes(this.note.uuid)||e.associatedItemIds.push(this.note.uuid),f.setItemDirty(e,!0),d.sync()},this.altKeyObserver=c.addKeyObserver({modifiers:[oe.KeyModifierAlt],onKeyDown:function(){u(function(){m.altKeyDown=!0})},onKeyUp:function(){u(function(){m.altKeyDown=!1})}}),this.trashKeyObserver=c.addKeyObserver({key:oe.KeyBackspace,notElementIds:["note-text-editor","note-title-editor"],modifiers:[oe.KeyModifierMeta],onKeyDown:function(){u(function(){m.deleteNote()})}}),this.deleteKeyObserver=c.addKeyObserver({key:oe.KeyBackspace,modifiers:[oe.KeyModifierMeta,oe.KeyModifierShift,oe.KeyModifierAlt],onKeyDown:function(e){e.preventDefault(),u(function(){m.deleteNote(!0)})}}),this.onSystemEditorLoad=function(){var r=this;if(!this.loadedTabListener){this.loadedTabListener=!0;var i=document.getElementById("note-text-editor");this.tabObserver=c.addKeyObserver({element:i,key:oe.KeyTab,onKeyDown:function(e){if(!e.shiftKey&&!r.note.locked){if(e.preventDefault(),!document.execCommand("insertText",!1,"\t")){var t=i.selectionStart,n=i.selectionEnd;i.value=i.value.substring(0,t)+" "+i.value.substring(n),i.selectionStart=i.selectionEnd=t+4}u(function(){r.note.text=i.value,r.saveNote({bypassDebouncer:!0})})}}}),angular.element(i).on("$destroy",function(){this.tabObserver&&(c.removeKeyObserver(this.tabObserver),this.loadedTabListener=!1)}.bind(this))}}}]),angular.module("app").directive("footer",["authManager",function(e){return{restrict:"E",scope:{},templateUrl:"footer.html",replace:!0,controller:"FooterCtrl",controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){e.$on("sync:completed",function(){r.syncUpdated(),r.findErrors(),r.updateOfflineStatus()}),e.$on("sync:error",function(){r.findErrors(),r.updateOfflineStatus()})}}}]).controller("FooterCtrl",["$rootScope","authManager","modelManager","$timeout","dbManager","syncManager","storageManager","passcodeManager","componentManager","singletonManager","nativeExtManager","privilegesManager","statusManager","alertManager",function(t,e,o,r,n,i,a,s,c,u,l,d,f,p){var h=this;e.checkForSecurityUpdate().then(function(e){h.securityUpdateAvailable=e}),t.$on("security-update-status-changed",function(){h.securityUpdateAvailable=e.securityUpdateAvailable}),f.addStatusObserver(function(e){r(function(){h.arbitraryStatusMessage=e})}),t.$on("did-begin-local-backup",function(){r(function(){h.backupStatus=f.addStatusFromString("Saving local backup...")})}),t.$on("did-finish-local-backup",function(e,t){r(function(){t.success?h.backupStatus=f.replaceStatusWithString(h.backupStatus,"Successfully saved backup."):h.backupStatus=f.replaceStatusWithString(h.backupStatus,"Unable to save local backup."),r(function(){h.backupStatus=f.removeStatus(h.backupStatus)},2e3)})}),this.openSecurityUpdate=function(){e.presentPasswordWizard("upgrade-security")},t.$on("reload-ext-data",function(){h.reloadExtendedData()}),this.reloadExtendedData=function(){if(!h.reloadInProgress){h.reloadInProgress=!0;var e=h.rooms.find(function(e){return e.package_info.identifier==l.extensionsManagerIdentifier});if(!e)return h.queueExtReload=!0,void(h.reloadInProgress=!1);h.selectRoom(e),r(function(){h.selectRoom(e),h.reloadInProgress=!1,t.$broadcast("ext-reload-complete")},2e3)}},this.getUser=function(){return e.user},this.updateOfflineStatus=function(){this.offline=e.offline()},this.updateOfflineStatus(),i.addEventHandler(function(e,t){r(function(){"local-data-loaded"==e?h.offline&&0==o.noteCount()&&(h.showAccountMenu=!0):"enter-out-of-sync"==e?h.outOfSync=!0:"exit-out-of-sync"==e&&(h.outOfSync=!1)})}),this.findErrors=function(){this.error=i.syncStatus.error},this.findErrors(),this.onAuthSuccess=function(){this.showAccountMenu=!1}.bind(this),this.accountMenuPressed=function(){this.showAccountMenu=!this.showAccountMenu,this.closeAllRooms()},this.toggleSyncResolutionMenu=function(){this.showSyncResolution=!this.showSyncResolution}.bind(this),this.closeAccountMenu=function(){h.showAccountMenu=!1},this.hasPasscode=function(){return s.hasPasscode()},this.lockApp=function(){t.lockApplication()},this.refreshData=function(){var t=this;this.isRefreshing=!0,i.sync({force:!0,performIntegrityCheck:!0}).then(function(e){r(function(){this.isRefreshing=!1}.bind(t),200),e&&e.error?p.alert({text:"There was an error syncing. Please try again. If all else fails, try signing out and signing back in."}):t.syncUpdated()})},this.syncUpdated=function(){this.lastSyncDate=new Date},t.$on("new-update-available",function(){r(function(){h.onNewUpdateAvailable()})}),this.onNewUpdateAvailable=function(){this.newUpdateAvailable=!0},this.clickedNewUpdateAnnouncement=function(){this.newUpdateAvailable=!1,p.alert({text:"A new update is ready to install. Please use the top-level 'Updates' menu to manage installation."})},this.componentManager=c,this.rooms=[],this.themesWithIcons=[],o.addItemSyncObserver("room-bar","SN|Component",function(e,t,n,r){h.rooms=o.components.filter(function(e){return"rooms"==e.area&&!e.deleted}),h.queueExtReload&&(h.queueExtReload=!1,h.reloadExtendedData())}),o.addItemSyncObserver("footer-bar-themes","SN|Theme",function(e,t,n,r){var i=o.validItemsForContentType("SN|Theme").filter(function(e){return!e.deleted&&e.content.package_info&&e.content.package_info.dock_icon}).sort(function(e,t){return e.name.toLowerCase()<t.name.toLowerCase()?-1:1}),a=i.length!=h.themesWithIcons.length;h.themesWithIcons=i,a&&h.reloadDockShortcuts()}),this.reloadDockShortcuts=function(){var e=[],t=!0,n=!1,r=void 0;try{for(var i,a=this.themesWithIcons[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=o.content.package_info.name,c=o.content.package_info.dock_icon;c&&e.push({name:s,component:o,icon:c})}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}this.dockShortcuts=e.sort(function(e,t){var n=e.icon.type,r=t.icon.type;return n==r?0:"circle"==n&&"svg"==r?-1:"circle"==r&&"svg"==n?1:void 0})},this.initSvgForShortcut=function(e){var t="dock-svg-"+e.component.uuid,n=document.getElementById(t),r=new DOMParser,i=e.component.content.package_info.dock_icon.source,a=r.parseFromString(i,"image/svg+xml");n.appendChild(a.documentElement)},this.selectShortcut=function(e){c.toggleComponent(e.component)},c.registerHandler({identifier:"roomBar",areas:["rooms","modal"],activationHandler:function(){},actionHandler:function(e,t,n){"set-size"==t&&e.setLastSize(n)},focusHandler:function(e,t){e.isEditor()&&t&&(h.closeAllRooms(),h.closeAccountMenu())}}),t.$on("editorFocused",function(){h.closeAllRooms(),h.closeAccountMenu()}),this.onRoomDismiss=function(e){e.showRoom=!1},this.closeAllRooms=function(){var e=!0,t=!1,n=void 0;try{for(var r,i=this.rooms[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){r.value.showRoom=!1}}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}},this.selectRoom=function(){var t=(0,y.default)($.default.mark(function e(t){var n;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=function(){r(function(){t.showRoom=!t.showRoom})},t.showRoom){e.next=11;break}return e.next=4,d.actionRequiresPrivilege(de.ActionManageExtensions);case 4:if(!e.sent){e.next=8;break}d.presentPrivilegesModal(de.ActionManageExtensions,function(){n()}),e.next=9;break;case 8:n();case 9:e.next=12;break;case 11:n();case 12:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),this.clickOutsideAccountMenu=function(){d.authenticationInProgress()||(this.showAccountMenu=!1)}}]),angular.module("app").controller("HomeCtrl",["$scope","$location","$rootScope","$timeout","modelManager","dbManager","syncManager","authManager","themeManager","passcodeManager","storageManager","migrationManager","privilegesManager","statusManager","alertManager",function(r,t,i,a,b,e,w,o,n,s,c,u,l,d,f){var p=this;c.initialize(s.hasPasscode(),o.isEphemeralSession()),r.platform=J(),r.onUpdateAvailable=function(){i.$broadcast("new-update-available")},i.$on("panel-resized",function(e,t){"notes"==t.panel&&(p.notesCollapsed=t.collapsed),"tags"==t.panel&&(p.tagsCollapsed=t.collapsed);var n="";p.notesCollapsed&&(n+="collapsed-notes"),p.tagsCollapsed&&(n+=" collapsed-tags"),r.appClass=n}),i.sync=function(e){w.sync()},i.lockApplication=function(){window.location.reload()};var h=function(){var n;o.loadInitialData(),p.syncStatusObserver=w.registerSyncStatusObserver(function(e){if(20<e.retrievedCount){var t="Downloading ".concat(e.retrievedCount," items. Keep app open.");p.syncStatus=d.replaceStatusWithString(p.syncStatus,t),p.showingDownloadStatus=!0}else if(p.showingDownloadStatus){p.showingDownloadStatus=!1;t="Download Complete.";p.syncStatus=d.replaceStatusWithString(p.syncStatus,t),setTimeout(function(){p.syncStatus=d.removeStatus(p.syncStatus)},2e3)}else 20<e.total?p.uploadSyncStatus=d.replaceStatusWithString(p.uploadSyncStatus,"Syncing ".concat(e.current,"/").concat(e.total," items...")):p.uploadSyncStatus&&(p.uploadSyncStatus=d.removeStatus(p.uploadSyncStatus))}),w.setKeyRequestHandler((0,y.default)($.default.mark(function e(){var t,n,r;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=o.offline())){e.next=5;break}e.t0=s.passcodeAuthParams(),e.next=8;break;case 5:return e.next=7,o.getAuthParams();case 7:e.t0=e.sent;case 8:if(n=e.t0,!t){e.next=13;break}e.t1=s.keys(),e.next=16;break;case 13:return e.next=15,o.keys();case 15:e.t1=e.sent;case 16:return r=e.t1,e.abrupt("return",{keys:r,offline:t,auth_params:n});case 18:case"end":return e.stop()}},e)}))),w.addEventHandler(function(e,t){if(i.$broadcast(e,t||{}),"sync-session-invalid"==e){(!n||30<(new Date-n)/1e3)&&(n=new Date,setTimeout(function(){f.alert({text:"Your session has expired. New changes will not be pulled in. Please sign out and sign back in to refresh your session."})},500))}else"sync-exception"==e&&f.alert({text:"There was an error while trying to save your items. Please contact support and share this message: ".concat(t)})});var r=o.user||s.hasPasscode();p.syncStatus=d.addStatusFromString(r?"Decrypting items...":"Loading items...");w.loadLocalItems({incrementalCallback:function(e,t){var n="".concat(e,"/").concat(t," items...");p.syncStatus=d.replaceStatusWithString(p.syncStatus,r?"Decrypting ".concat(n):"Loading ".concat(n))}}).then(function(){a(function(){i.$broadcast("initial-data-loaded"),p.syncStatus=d.replaceStatusWithString(p.syncStatus,"Syncing..."),w.sync({performIntegrityCheck:!0}).then(function(){p.syncStatus=d.removeStatus(p.syncStatus)}),setInterval(function(){w.sync()},3e4)})}),o.addEventHandler(function(e){e==SFAuthManager.DidSignOutEvent&&(b.handleSignout(),w.handleSignout())})};function m(){e.setLocked(!1),e.openDatabase(null,function(){w.clearSyncToken(),w.sync()}),h()}function v(e){return t.search()[e]}function g(){return(g=(0,y.default)($.default.mark(function e(){var t,n,r;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=v("server"),n=v("email"),r=v("pw"),o.offline()){e.next=18;break}return e.next=6,w.getServerURL();case 6:if(e.t1=e.sent,e.t2=t,e.t0=e.t1===e.t2,!e.t0){e.next=11;break}e.t0=o.user.email===n;case 11:if(e.t0)return e.abrupt("return");e.next=15;break;case 15:o.signout(!0).then(function(){window.location.reload()});case 16:e.next=19;break;case 18:o.login(t,n,r,!1,!1,{}).then(function(e){window.location.reload()});case 19:case"end":return e.stop()}},e)}))).apply(this,arguments)}s.isLocked()?r.needsUnlock=!0:m(),r.onSuccessfulUnlock=function(){a(function(){r.needsUnlock=!1,m()})},r.updateTagsForNote=function(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e.tags[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var c=o.value;-1===t.indexOf(c.title)&&n.push(c)}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}for(var u=0,l=n;u<l.length;u++){l[u].removeItemAsRelationship(e)}b.setItemsDirty(n,!0);var d=[],f=!0,p=!1,h=void 0;try{for(var m,v=t[Symbol.iterator]();!(f=(m=v.next()).done);f=!0){var g=m.value;_.find(e.tags,{title:g})||d.push(b.findOrCreateTagByTitle(g))}}catch(e){p=!0,h=e}finally{try{f||null==v.return||v.return()}finally{if(p)throw h}}for(var y=0,k=d;y<k.length;y++){(c=k[y]).addItemAsRelationship(e)}b.setItemsDirty(d,!0),w.sync()},r.tagsSelectionMade=function(e){r.selectedTag&&e&&r.selectedTag.uuid==e.uuid||(r.selectedNote&&r.selectedNote.dummy&&(b.removeItemLocally(r.selectedNote),r.selectedNote=null),r.selectedTag=e)},r.tagsAddNew=function(e){b.addItem(e)},r.tagsSave=function(e,t){e.title&&0!=e.title.length?(b.setItemDirty(e,!0),w.sync().then(t),b.resortTag(e)):r.removeTag(e)},r.removeTag=function(e){f.confirm({text:"Are you sure you want to delete this tag? Note: deleting a tag will not delete its notes.",destructive:!0,onConfirm:function(){b.setItemToBeDeleted(e),w.sync().then(function(){i.safeApply()})}})},r.notesSelectionMade=function(e){r.selectedNote=e},r.notesAddNew=function(e){b.addItem(e),b.setItemDirty(e),r.selectedTag.isSmartTag()||(r.selectedTag.addItemAsRelationship(e),b.setItemDirty(r.selectedTag,!0))},i.safeApply=function(e){var t=this.$root.$$phase;"$apply"==t||"$digest"==t?this.$eval(e):this.$apply(e)},i.notifyDelete=function(){a(function(){i.$broadcast("noteDeleted")}.bind(this),0)},r.deleteNote=function(e){if(b.setItemToBeDeleted(e),e==r.selectedNote&&(r.selectedNote=null),e.dummy)return b.removeItemLocally(e),void i.notifyDelete();w.sync().then(function(){o.offline()?setTimeout(function(){i.notifyDelete(),i.safeApply()},50):a(function(){i.notifyDelete()})})},window.addEventListener("dragover",function(e){e.preventDefault()},!1),window.addEventListener("drop",function(e){e.preventDefault(),f.alert({text:"Please use FileSafe or the Bold Editor to attach images and files. Learn more at standardnotes.org/filesafe."})},!1),v("server")&&function(){g.apply(this,arguments)}()}]);var X=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="lock-screen.html",this.scope={onSuccess:"&"}}return(0,f.default)(e,[{key:"controller",value:["$scope","passcodeManager","authManager","syncManager","storageManager","alertManager",function(t,e,n,r,i,a){var o=this;t.formData={},this.visibilityObserver=e.addVisibilityObserver(function(e){if(e){var t=document.getElementById("passcode-input");t&&t.focus()}}),t.$on("$destroy",function(){e.removeVisibilityObserver(o.visibilityObserver)}),t.submitPasscodeForm=function(){t.formData.passcode&&0!=t.formData.passcode.length&&e.unlock(t.formData.passcode,function(e){e?t.onSuccess()():a.alert({text:"Invalid passcode. Please try again."})})},t.forgotPasscode=function(){t.formData.showRecovery=!0},t.beginDeleteData=function(){a.confirm({text:"Are you sure you want to clear all local data?",destructive:!0,onConfirm:function(){n.signout(!0).then(function(){window.location.reload()})}})}}]}]),e}();angular.module("app").directive("lockScreen",function(){return new X}),angular.module("app").directive("notesSection",function(){return{scope:{addNew:"&",selectionMade:"&",tag:"="},templateUrl:"notes.html",replace:!0,controller:"NotesCtrl",controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){e.$watch("ctrl.tag",function(e,t){e&&r.tagDidChange(e,t)})}}}).controller("NotesCtrl",["authManager","$timeout","$rootScope","modelManager","syncManager","storageManager","desktopManager","privilegesManager","keyboardManager",function(i,f,a,o,s,e,c,u,t){var p=this;this.panelController={},this.searchSubmitted=!1,a.$on("user-preferences-changed",function(){p.loadPreferences(),p.reloadNotes()}),i.addEventHandler(function(e){e==SFAuthManager.DidSignInEvent&&p.selectedNote&&p.selectedNote.dummy&&(o.removeItemLocally(p.selectedNote),_.pull(p.notes,p.selectedNote),p.selectedNote=null,p.selectNote(null),p.createDummyOnSynCompletionIfNoNotes=!0)}),s.addEventHandler(function(e,t){"local-data-loaded"==e?0==p.notes.length&&p.createNewNote():"sync:completed"==e&&f(function(){p.createDummyOnSynCompletionIfNoNotes&&0==p.notes.length&&(p.createDummyOnSynCompletionIfNoNotes=!1,p.createNewNote())},100)}),o.addItemSyncObserver("note-list","*",function(e,t,n,r,i){p.reloadNotes();var a=e.filter(function(e){return"Note"==e.content_type}),o=!0,s=!1,c=void 0;try{for(var u,l=a[Symbol.iterator]();!(o=(u=l.next()).done);o=!0){var d=u.value;p.loadFlagsForNote(d),d.cachedCreatedAtString=d.createdAtString(),d.cachedUpdatedAtString=d.updatedAtString()}}catch(e){s=!0,c=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw c}}p.selectedNote||f(function(){p.selectFirstNote()})}),this.setNotes=function(e){e=this.filterNotes(e),e=this.sortNotes(e,this.sortBy,this.sortReverse);var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;o.shouldShowTags=this.shouldShowTagsForNote(o)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}this.notes=e,this.reloadPanelTitle()},this.reloadNotes=function(){var e=this.tag.notes,t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;o.errorDecrypting&&this.loadFlagsForNote(o)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}this.setNotes(e)},this.reorderNotes=function(){this.setNotes(this.notes)},this.loadPreferences=function(){var e=this,t=this.sortBy;this.sortBy=i.getUserPrefValue("sortBy","created_at"),this.sortReverse=i.getUserPrefValue("sortReverse",!1),"updated_at"==this.sortBy&&(this.sortBy="client_updated_at"),t&&t!=this.sortBy&&f(function(){e.selectFirstNote()}),this.showArchived=i.getUserPrefValue("showArchived",!1),this.hidePinned=i.getUserPrefValue("hidePinned",!1),this.hideNotePreview=i.getUserPrefValue("hideNotePreview",!1),this.hideDate=i.getUserPrefValue("hideDate",!1),this.hideTags=i.getUserPrefValue("hideTags",!1);var n=i.getUserPrefValue("notesPanelWidth");n&&(this.panelController.setWidth(n),this.panelController.isCollapsed()&&a.$broadcast("panel-resized",{panel:"notes",collapsed:this.panelController.isCollapsed()}))},this.loadPreferences(),this.onPanelResize=function(e,t,n,r){i.setUserPrefValue("notesPanelWidth",e),i.syncUserPreferences(),a.$broadcast("panel-resized",{panel:"notes",collapsed:r})},angular.element(document).ready(function(){p.loadPreferences()}),a.$on("editorFocused",function(){this.showMenu=!1}.bind(this)),a.$on("noteDeleted",function(){f(this.onNoteRemoval.bind(this))}.bind(this)),a.$on("noteArchived",function(){f(this.onNoteRemoval.bind(this))}.bind(this)),this.onNoteRemoval=function(){var e=this.visibleNotes(),t=e[this.selectedIndex<e.length?Math.max(this.selectedIndex,0):e.length-1];t?this.selectNote(t):this.createNewNote()},window.onresize=function(e){p.resetPagination({keepCurrentIfLarger:!0})},this.paginate=function(){this.notesToDisplay+=this.DefaultNotesToDisplayValue,this.searchSubmitted&&c.searchText(this.noteFilter.text)},this.resetPagination=function(){var e=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).keepCurrentIfLarger;this.DefaultNotesToDisplayValue=document.documentElement.clientHeight/51||20,e&&this.notesToDisplay>this.DefaultNotesToDisplayValue||(this.notesToDisplay=this.DefaultNotesToDisplayValue)},this.resetPagination(),this.reloadPanelTitle=function(){this.isFiltering()?this.panelTitle="".concat(this.notes.filter(function(e){return e.visible}).length," search results"):this.tag&&(this.panelTitle="".concat(this.tag.title))},this.optionsSubtitle=function(){var e="";return"created_at"==this.sortBy?e+=" Date Added":"client_updated_at"==this.sortBy?e+=" Date Modified":"title"==this.sortBy&&(e+=" Title"),this.showArchived&&(e+=" | + Archived"),this.hidePinned&&(e+=" | Pinned"),this.sortReverse&&(e+=" | Reversed"),e},this.loadFlagsForNote=function(e){var t=[];return e.pinned&&t.push({text:"Pinned",class:"info"}),e.archived&&t.push({text:"Archived",class:"warning"}),e.content.protected&&t.push({text:"Protected",class:"success"}),e.locked&&t.push({text:"Locked",class:"neutral"}),e.content.trashed&&t.push({text:"Deleted",class:"danger"}),e.content.conflict_of&&t.push({text:"Conflicted Copy",class:"danger"}),e.errorDecrypting&&t.push({text:"Missing Keys",class:"danger"}),e.deleted&&t.push({text:"Deletion Pending Sync",class:"danger"}),e.flags=t},this.tagDidChange=function(e,t){var n=this,r=document.getElementById("notes-scrollable");r&&(r.scrollTop=0,r.scrollLeft=0),this.resetPagination(),this.showMenu=!1,this.selectedNote&&this.selectedNote.dummy&&t&&_.remove(t.notes,this.selectedNote),this.noteFilter.text="",c.searchText(),this.setNotes(e.notes),f(function(){0<n.notes.length?(n.notes.forEach(function(e){e.visible=!0}),n.selectFirstNote()):s.initialDataLoaded()&&(e.isSmartTag()?n.selectedNote&&!n.notes.includes(n.selectedNote)&&n.selectNote(null):n.createNewNote())})},this.visibleNotes=function(){return this.renderedNotes.filter(function(e){return e.visible})},this.selectFirstNote=function(){var e=this.visibleNotes();0<e.length&&this.selectNote(e[0])},this.selectNextNote=function(){var e=this.visibleNotes(),t=e.indexOf(this.selectedNote);t+1<e.length&&this.selectNote(e[t+1])},this.selectPreviousNote=function(){var e=this.visibleNotes(),t=e.indexOf(this.selectedNote);return 0<=t-1&&(this.selectNote(e[t-1]),!0)},this.selectNote=function(){var t=(0,y.default)($.default.mark(function e(t){var n,r,i=this,a=arguments;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=1<a.length&&void 0!==a[1]&&a[1],this.selectedNote===t)return e.abrupt("return");e.next=3;break;case 3:if(t){e.next=6;break}return this.selectionMade()(null),e.abrupt("return");case 6:if(r=function(){f(function(){var e;i.selectedNote&&i.selectedNote!=t&&1==i.selectedNote.dummy&&(e=i.selectedNote),(i.selectedNote=t).content.conflict_of&&(t.content.conflict_of=null,o.setItemDirty(t,!0),s.sync()),i.selectionMade()(t),i.selectedIndex=Math.max(i.visibleNotes().indexOf(t),0),e&&1==e.dummy&&f(function(){o.removeItemLocally(e),_.pull(i.notes,e)},250),n&&i.isFiltering()&&c.searchText(i.noteFilter.text)})},e.t0=t.content.protected,e.t0)return e.next=11,u.actionRequiresPrivilege(de.ActionViewProtectedNotes);e.next=12;break;case 11:e.t0=e.sent;case 12:if(!e.t0){e.next=16;break}u.presentPrivilegesModal(de.ActionViewProtectedNotes,function(){r()}),e.next=17;break;case 16:r();case 17:case"end":return e.stop()}},e,this)}));return function(e){return t.apply(this,arguments)}}(),this.isFiltering=function(){return this.noteFilter.text&&0<this.noteFilter.text.length},this.createNewNote=function(){if(!this.selectedNote||!this.selectedNote.dummy){var e="Note"+(this.notes?" "+(this.notes.length+1):""),t=o.createItem({content_type:"Note",content:{text:"",title:e}});t.client_updated_at=new Date,t.dummy=!0,this.selectNote(t),this.addNew()(t)}},this.noteFilter={text:""},this.onFilterEnter=function(){this.searchSubmitted=!0,c.searchText(this.noteFilter.text)},this.clearFilterText=function(){this.noteFilter.text="",this.onFilterEnter(),this.filterTextChanged(),this.resetPagination()},this.filterTextChanged=function(){var e=this;this.searchSubmitted&&(this.searchSubmitted=!1),this.reloadNotes(),f(function(){e.selectedNote.visible||e.selectFirstNote()},100)},this.selectedMenuItem=function(){this.showMenu=!1},this.togglePrefKey=function(e){this[e]=!this[e],i.setUserPrefValue(e,this[e]),i.syncUserPreferences(),this.reloadNotes()},this.selectedSortByCreated=function(){this.setSortBy("created_at")},this.selectedSortByUpdated=function(){this.setSortBy("client_updated_at")},this.selectedSortByTitle=function(){this.setSortBy("title")},this.toggleReverseSort=function(){this.selectedMenuItem(),this.sortReverse=!this.sortReverse,this.reorderNotes(),i.setUserPrefValue("sortReverse",this.sortReverse),i.syncUserPreferences()},this.setSortBy=function(e){this.sortBy=e,this.reorderNotes(),i.setUserPrefValue("sortBy",this.sortBy),i.syncUserPreferences()},this.shouldShowTagsForNote=function(e){return!this.hideTags&&!e.content.protected&&(this.tag.content.isAllTag?e.tags&&0<e.tags.length:!!this.tag.isSmartTag()||e.tags&&1<e.tags.length)},this.filterNotes=function(e){var c=this;return e.filter(function(t){var e=c.showArchived,n=!c.hidePinned,r=c.tag.content.isTrashTag;if(!r&&t.content.trashed)return t.visible=!1,t.visible;if(c.tag.isSmartTag()&&(e=e||c.tag.content.isArchiveTag||r),t.archived&&!e||t.pinned&&!n)return t.visible=!1,t.visible;var i=c.noteFilter.text.toLowerCase();if(0==i.length)t.visible=!0;else{var a=i.split(" "),o=a.every(function(e){return 0<=t.safeTitle().toLowerCase().indexOf(e)}),s=a.every(function(e){return 0<=t.safeText().toLowerCase().indexOf(e)});t.visible=o||s}return t.visible})},this.sortNotes=function(e,c,u){return(e=e||[]).sort(function(e,t){return function e(t,n,r){var i=2<arguments.length&&void 0!==r&&r;if(t.dummy)return-1;if(n.dummy)return 1;if(!i){if(t.pinned&&n.pinned)return e(t,n,!0);if(t.pinned)return-1;if(n.pinned)return 1}var a=t[c]||"",o=n[c]||"",s=1;if(u&&(s*=-1),"title"==c){if(a=a.toLowerCase(),o=o.toLowerCase(),0==a.length&&0==o.length)return 0;if(0==a.length&&0!=o.length)return 1*s;if(0!=a.length&&0==o.length)return-1*s;s*=-1}return o<a?-1*s:a<o?1*s:0}(e,t)})},this.newNoteKeyObserver=t.addKeyObserver({key:"n",modifiers:[oe.KeyModifierMeta,oe.KeyModifierCtrl],onKeyDown:function(e){e.preventDefault(),f(function(){p.createNewNote()})}}),this.getSearchBar=function(){return document.getElementById("search-bar")},this.nextNoteKeyObserver=t.addKeyObserver({key:oe.KeyDown,elements:[document.body,this.getSearchBar()],onKeyDown:function(){var e=p.getSearchBar();e==document.activeElement&&e.blur(),f(function(){p.selectNextNote()})}}),this.nextNoteKeyObserver=t.addKeyObserver({key:oe.KeyUp,element:document.body,onKeyDown:function(){f(function(){p.selectPreviousNote()})}}),this.searchKeyObserver=t.addKeyObserver({key:"f",modifiers:[oe.KeyModifierMeta,oe.KeyModifierShift],onKeyDown:function(){var e=p.getSearchBar();e&&e.focus()}})}]),angular.module("app").directive("tagsSection",function(){return{restrict:"E",scope:{addNew:"&",selectionMade:"&",save:"&",removeTag:"&"},templateUrl:"tags.html",replace:!0,controller:"TagsCtrl",controllerAs:"ctrl",bindToController:!0}}).controller("TagsCtrl",["$rootScope","modelManager","syncManager","$timeout","componentManager","authManager",function(i,a,t,r,e,o){var s=this;r(function(){s.smartTags=a.getSmartTags(),s.selectTag(s.smartTags[0])}),t.addEventHandler(function(e,t){"local-data-loaded"!=e&&"sync:completed"!=e&&"local-data-incremental-load"!=e||(s.tags=a.tags,s.smartTags=a.getSmartTags())}),a.addItemSyncObserver("tags-list","*",function(e,t,n,r,i){s.reloadNoteCounts()}),this.reloadNoteCounts=function(){var e=[];this.tags&&(e=e.concat(this.tags)),this.smartTags&&(e=e.concat(this.smartTags));var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=P.filterDummyNotes(o.notes).filter(function(e){return!e.archived&&!e.content.trashed});o.cachedNoteCount=s.length}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}},this.panelController={},i.$on("user-preferences-changed",function(){s.loadPreferences()}),this.loadPreferences=function(){var e=o.getUserPrefValue("tagsPanelWidth");e&&(this.panelController.setWidth(e),this.panelController.isCollapsed()&&i.$broadcast("panel-resized",{panel:"tags",collapsed:this.panelController.isCollapsed()}))},this.loadPreferences(),this.onPanelResize=function(e,t,n,r){o.setUserPrefValue("tagsPanelWidth",e,!0),i.$broadcast("panel-resized",{panel:"tags",collapsed:r})},(this.componentManager=e).registerHandler({identifier:"tags",areas:["tags-list"],activationHandler:function(e){this.component=e}.bind(this),contextRequestHandler:function(e){return null}.bind(this),actionHandler:function(e,t,n){if("select-item"===t){if("Tag"==n.item.content_type){var r=a.findItem(n.item.uuid);r&&this.selectTag(r)}else if("SN|SmartTag"==n.item.content_type){var i=new V(n.item);this.selectTag(i)}}else"clear-selection"===t&&this.selectTag(this.smartTags[0])}.bind(this)}),this.selectTag=function(e){e.isSmartTag()&&Object.defineProperty(e,"notes",{get:function(){return a.notesMatchingSmartTag(e)}}),(this.selectedTag=e).content.conflict_of&&(e.content.conflict_of=null,a.setItemDirty(e,!0),t.sync()),this.selectionMade()(e)},this.clickedAddNewTag=function(){this.editingTag||(this.newTag=a.createItem({content_type:"Tag"}),this.selectedTag=this.newTag,this.editingTag=this.newTag,this.addNew()(this.newTag))},this.tagTitleDidChange=function(e){this.editingTag=e},this.saveTag=function(e,t){var n=this;this.editingTag=null,e.target.blur(),t.title&&0!=t.title.length?this.save()(t,function(e){r(function(){n.selectTag(t),n.newTag=null})}):c?(t.title=c,c=null):a.removeItemLocally(t)};var c="";this.selectedRenameTag=function(e,t){c=t.title,this.editingTag=t,r(function(){(function(e){return document.getElementById("tag-"+e.uuid)})(t).focus()})},this.selectedDeleteTag=function(e){this.removeTag()(e),this.selectTag(this.smartTags[0])}}]);var Z=function(){function c(e,t,n,r,i,a,o,s){(0,v.default)(this,c),this.httpManager=e,this.modelManager=t,this.authManager=n,this.syncManager=r,this.alertManager=s,this.$rootScope=i,this.$compile=a,this.$timeout=o,this.previousPasswords=[]}var n,i;return c.$inject=["httpManager","modelManager","authManager","syncManager","$rootScope","$compile","$timeout","alertManager"],(0,f.default)(c,[{key:"extensionsInContextOfItem",value:function(t){return this.extensions.filter(function(e){return _.includes(e.supported_types,t.content_type)||0<e.actionsWithContextForItem(t).length})}},{key:"loadExtensionInContextOfItem",value:function(t,e,n){this.httpManager.getAbsolute(t.url,{content_type:e.content_type,item_uuid:e.uuid},function(e){this.updateExtensionFromRemoteResponse(t,e),n&&n(t)}.bind(this),function(e){console.log("Error loading extension",e),n&&n(null)}.bind(this))}},{key:"updateExtensionFromRemoteResponse",value:function(e,t){t.description&&(e.description=t.description),t.supported_types&&(e.supported_types=t.supported_types),t.actions?e.actions=t.actions.map(function(e){return new D(e)}):e.actions=[]}},{key:"executeAction",value:(i=(0,y.default)($.default.mark(function e(n,r,t,i){var k,a,b,w,o,x=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:k=function(e,t){n.running=!1,x.$timeout(function(){i(e,t)})},n.running=!0,a="decrypted"==n.access_type,b=[],w=function(){var r=(0,y.default)($.default.mark(function e(t,n,r){var i,a,o,s,c,u,l,d,f,p,h,m,v,g,y;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.item,e.next=3,SFJS.itemTransformer.decryptItem(i,n);case 3:if(i.errorDecrypting){e.next=36;break}if(r)return e.next=7,x.modelManager.mapResponseItemsToLocalModels([i],SFModelManager.MappingSourceRemoteActionRetrieved);e.next=31;break;case 7:for(a=e.sent,s=!(o=!0),c=void 0,e.prev=11,u=a[Symbol.iterator]();!(o=(l=u.next()).done);o=!0)d=l.value,x.modelManager.setItemDirty(d,!0);e.next=19;break;case 15:e.prev=15,e.t0=e.catch(11),s=!0,c=e.t0;case 19:e.prev=19,e.prev=20,o||null==u.return||u.return();case 22:if(e.prev=22,s)throw c;e.next=25;break;case 25:return e.finish(22);case 26:return e.finish(19);case 27:x.syncManager.sync(),k({item:i}),e.next=33;break;case 31:i=x.modelManager.createItem(i),k({item:i});case 33:return e.abrupt("return",!0);case 36:if(t.auth_params){e.next=39;break}return x.alertManager.alert({text:"We were unable to decrypt this revision using your current keys, and this revision is missing metadata that would allow us to try different keys to decrypt it. This can likely be fixed with some manual intervention. Please email hello@standardnotes.org for assistance."}),e.abrupt("return");case 39:p=!(f=!0),h=void 0,e.prev=42,m=x.previousPasswords[Symbol.iterator]();case 44:if(f=(v=m.next()).done){e.next=62;break}if(g=v.value,b.includes(g))return e.abrupt("continue",59);e.next=48;break;case 48:return b.push(g),e.next=51,SFJS.crypto.computeEncryptionKeysForUser(g,t.auth_params);case 51:if(y=e.sent){e.next=54;break}return e.abrupt("continue",59);case 54:return e.next=56,w(t,y,r);case 56:if(e.sent)return e.abrupt("return",!0);e.next=59;break;case 59:f=!0,e.next=44;break;case 62:e.next=68;break;case 64:e.prev=64,e.t1=e.catch(42),p=!0,h=e.t1;case 68:e.prev=68,e.prev=69,f||null==m.return||m.return();case 71:if(e.prev=71,p)throw h;e.next=74;break;case 74:return e.finish(71);case 75:return e.finish(68);case 76:return x.presentPasswordModal(function(e){x.previousPasswords.push(e),w(t,n,r)}),e.abrupt("return",!1);case 78:case"end":return e.stop()}},e,null,[[11,15,19,27],[20,,22,26],[42,64,68,76],[69,,71,75]])}));return function(e,t,n){return r.apply(this,arguments)}}(),e.t0=n.verb,e.next="get"===e.t0?8:"render"===e.t0?10:"show"===e.t0?12:"post"===e.t0?16:18;break;case 8:return this.alertManager.confirm({text:"Are you sure you want to replace the current note contents with this action's results?",onConfirm:function(){x.httpManager.getAbsolute(n.url,{},function(){var t=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n.error=!1,e.t0=w,e.t1=t,e.next=5,x.authManager.keys();case 5:e.t2=e.sent,(0,e.t0)(e.t1,e.t2,!0);case 7:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){var t=e&&e.error||{message:"An issue occurred while processing this action. Please try again."};x.alertManager.alert({text:t.message}),n.error=!0,k(null,t)})}}),e.abrupt("break",18);case 10:return this.httpManager.getAbsolute(n.url,{},function(){var t=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n.error=!1,e.t0=w,e.t1=t,e.next=5,x.authManager.keys();case 5:e.t2=e.sent,(0,e.t0)(e.t1,e.t2,!1);case 7:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){var t=e&&e.error||{message:"An issue occurred while processing this action. Please try again."};x.alertManager.alert({text:t.message}),n.error=!0,k(null,t)}),e.abrupt("break",18);case 12:return(o=window.open(n.url,"_blank"))&&o.focus(),k(),e.abrupt("break",18);case 16:return this.outgoingParamsForItem(t,r,a).then(function(e){var t={items:[e]};x.performPost(n,r,t,function(e){e&&e.error&&x.alertManager.alert({text:"An issue occurred while processing this action. Please try again."}),k(e)})}),e.abrupt("break",18);case 18:n.lastExecuted=new Date;case 19:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return i.apply(this,arguments)})},{key:"outgoingParamsForItem",value:(n=(0,y.default)($.default.mark(function e(t,n){var r,i,a,o=arguments;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=2<o.length&&void 0!==o[2]&&o[2],e.next=3,this.authManager.keys();case 3:return i=e.sent,r&&(i=null),e.t0=SFItemParams,e.t1=t,e.t2=i,e.next=10,this.authManager.getAuthParams();case 10:return e.t3=e.sent,a=new e.t0(e.t1,e.t2,e.t3),e.abrupt("return",a.paramsForExtension());case 13:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"performPost",value:function(t,e,n,r){this.httpManager.postAbsolute(t.url,n,function(e){t.error=!1,r&&r(e)}.bind(this),function(e){t.error=!0,console.log("Action error response:",e),r&&r({error:"Request error"})})}},{key:"presentRevisionPreviewModal",value:function(e,t){var n=this.$rootScope.$new(!0);n.uuid=e,n.content=t;var r=this.$compile("<revision-preview-modal uuid='uuid' content='content' class='sk-modal'></revision-preview-modal>")(n);angular.element(document.body).append(r)}},{key:"presentPasswordModal",value:function(e){var t=this.$rootScope.$new(!0);t.type="password",t.title="Decryption Assistance",t.message="Unable to decrypt this item with your current keys. Please enter your account password at the time of this revision.",t.callback=e;var n=this.$compile("<input-modal type='type' message='message' title='title' callback='callback'></input-modal>")(t);angular.element(document.body).append(n)}},{key:"extensions",get:function(){return this.modelManager.validItemsForContentType("Extension")}}]),c}();angular.module("app").service("actionsManager",Z);var Q=function(e){function n(e){var t;return(0,v.default)(this,n),(t=(0,g.default)(this,(0,k.default)(n).call(this))).$timeout=e,t}var t,r;return n.$inject=["$timeout"],(0,p.default)(n,e),(0,f.default)(n,[{key:"alert",value:(r=(0,y.default)($.default.mark(function e(){var t,i,a,n,o,s,c=this,r=arguments;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=(t=0<r.length&&void 0!==r[0]?r[0]:{}).title,a=t.text,n=t.closeButtonText,o=void 0===n?"OK":n,s=t.onClose,e.abrupt("return",new Promise(function(t,e){var n,r=[{text:o,style:"neutral",action:(n=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s&&c.$timeout(s),t(!0);case 2:case"end":return e.stop()}},e)})),function(){return n.apply(this,arguments)})}];new Stylekit.SKAlert({title:i,text:a,buttons:r}).present()}));case 2:case"end":return e.stop()}},e)})),function(){return r.apply(this,arguments)})},{key:"confirm",value:(t=(0,y.default)($.default.mark(function e(){var t,a,o,n,s,r,c,u,l,i,d,f=this,p=arguments;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=(t=0<p.length&&void 0!==p[0]?p[0]:{}).title,o=t.text,n=t.confirmButtonText,s=void 0===n?"Confirm":n,r=t.cancelButtonText,c=void 0===r?"Cancel":r,u=t.onConfirm,l=t.onCancel,i=t.destructive,d=void 0!==i&&i,e.abrupt("return",new Promise(function(t,n){var e,r,i=[{text:c,style:"neutral",action:(r=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:l&&f.$timeout(l),n(!1);case 2:case"end":return e.stop()}},e)})),function(){return r.apply(this,arguments)})},{text:s,style:d?"danger":"info",action:(e=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:u&&f.$timeout(u),t(!0);case 2:case"end":return e.stop()}},e)})),function(){return e.apply(this,arguments)})}];new Stylekit.SKAlert({title:a,text:o,buttons:i}).present()}));case 2:case"end":return e.stop()}},e)})),function(){return t.apply(this,arguments)})}]),n}(SFAlertManager);angular.module("app").service("alertManager",Q);var ee=function(){function i(e,t,n,r){(0,v.default)(this,i),this.passcodeManager=e,this.authManager=t,this.modelManager=n,this.privilegesManager=r}var r,n,t;return i.$inject=["passcodeManager","authManager","modelManager","privilegesManager"],(0,f.default)(i,[{key:"downloadBackup",value:(t=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.downloadBackupOfItems(this.modelManager.allItems,t));case 1:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"downloadBackupOfItems",value:(n=(0,y.default)($.default.mark(function e(r,i){var t,a=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=(0,y.default)($.default.mark(function e(){var n,t;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!i){e.next=12;break}if(!a.authManager.offline()||!a.passcodeManager.hasPasscode()){e.next=6;break}n=a.passcodeManager.keys(),t=a.passcodeManager.passcodeAuthParams(),e.next=12;break;case 6:return e.next=8,a.authManager.keys();case 8:return n=e.sent,e.next=11,a.authManager.getAuthParams();case 11:t=e.sent;case 12:a.__itemsData(r,n,t).then(function(e){var t=i?"Encrypted":"Decrypted";a.__downloadData(e,"Standard Notes ".concat(t," Backup - ").concat(a.__formattedDate(),".txt")),n||a.__downloadZippedItems(r)});case 13:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),e.next=3,this.privilegesManager.actionRequiresPrivilege(de.ActionManageBackups);case 3:if(!e.sent){e.next=7;break}this.privilegesManager.presentPrivilegesModal(de.ActionManageBackups,function(){t()}),e.next=8;break;case 7:t();case 8:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"__formattedDate",value:function(){var e="".concat(new Date),t=e.match(/^(.*?) \(/);return 2<=t.length?t[1]:e}},{key:"__itemsData",value:(r=(0,y.default)($.default.mark(function e(t,n,r){var i,a;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.modelManager.getJSONDataForItems(t,n,r);case 2:return i=e.sent,a=new Blob([i],{type:"text/json"}),e.abrupt("return",a);case 5:case"end":return e.stop()}},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"__loadZip",value:function(e){if(window.zip)e();else{var t=document.createElement("script");t.src="/assets/zip/zip.js",t.async=!1,document.getElementsByTagName("head")[0].appendChild(t),t.onload=function(){zip.workerScriptsPath="assets/zip/",e()}}}},{key:"__downloadZippedItems",value:function(l){var d=this;this.__loadZip(function(){zip.createWriter(new zip.BlobWriter("application/zip"),function(c){var u=0;!function e(){var t,n,r=l[u];n="Note"==r.content_type?(t=r.content.title,r.content.text):(t=r.content_type,JSON.stringify(r.content,null,2)),t=t||"";var i=new Blob([n],{type:"text/plain"}),a=t.replace(/\//g,"").replace(/\\+/g,""),o="-".concat(r.uuid.split("-")[0],".txt");a=a.slice(0,255-o.length);var s="".concat(r.content_type,"/").concat(a).concat(o);c.add(s,new zip.BlobReader(i),function(){++u<l.length?e():c.close(function(e){d.__downloadData(e,"Standard Notes Backup - ".concat(d.__formattedDate(),".zip")),c=null})})}()},onerror)})}},{key:"__hrefForData",value:function(e){return null!==this.textFile&&window.URL.revokeObjectURL(this.textFile),this.textFile=window.URL.createObjectURL(e),this.textFile}},{key:"__downloadData",value:function(e,t){var n=document.createElement("a");n.setAttribute("download",t),n.href=this.__hrefForData(e),document.body.appendChild(n),n.click(),n.remove()}}]),i}();angular.module("app").service("archiveManager",ee);var te=function(e){function u(e,t,n,r,i,a,o,s){var c;return(0,v.default)(this,u),(c=(0,g.default)(this,(0,k.default)(u).call(this,n,i,null,o))).$rootScope=a,c.$compile=s,c.modelManager=e,c.singletonManager=t,c.storageManager=n,c.dbManager=r,c}var t,n,a,o,i,s,r;return u.$inject=["modelManager","singletonManager","storageManager","dbManager","httpManager","$rootScope","$timeout","$compile"],(0,p.default)(u,e),(0,f.default)(u,[{key:"loadInitialData",value:function(){var a=this,e=this.storageManager.getItemSync("user");if(e)this.user=JSON.parse(e);else{var t=this.storageManager.getItemSync("uuid");t&&(this.user={uuid:t})}this.configureUserPrefs(),this.checkForSecurityUpdate(),this.modelManager.addItemSyncObserver("user-prefs","SN|UserPreferences",function(e,t,n,r,i){a.userPreferencesDidChange()})}},{key:"offline",value:function(){return!this.user}},{key:"isEphemeralSession",value:function(){return null!=this.ephemeral&&null!=this.ephemeral||(this.ephemeral=JSON.parse(this.storageManager.getItemSync("ephemeral",ve.Fixed))),this.ephemeral}},{key:"setEphemeral",value:function(e){(this.ephemeral=e)?(this.storageManager.setModelStorageMode(ve.Ephemeral),this.storageManager.setItemsMode(ve.Ephemeral)):(this.storageManager.setModelStorageMode(ve.Fixed),this.storageManager.setItemsMode(this.storageManager.bestStorageMode()),this.storageManager.setItem("ephemeral",JSON.stringify(!1),ve.Fixed))}},{key:"getAuthParamsForEmail",value:(r=(0,y.default)($.default.mark(function e(t,n,r){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,c.default)((0,k.default)(u.prototype),"getAuthParamsForEmail",this).call(this,t,n,r));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"login",value:(s=(0,y.default)($.default.mark(function e(t,n,r,i,a,o){var s=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,c.default)((0,k.default)(u.prototype),"login",this).call(this,t,n,r,a,o).then(function(e){return e.error||(s.setEphemeral(i),s.checkForSecurityUpdate()),e}));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r,i,a){return s.apply(this,arguments)})},{key:"register",value:(i=(0,y.default)($.default.mark(function e(t,n,r,i){var a=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,c.default)((0,k.default)(u.prototype),"register",this).call(this,t,n,r).then(function(e){return e.error||a.setEphemeral(i),e}));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return i.apply(this,arguments)})},{key:"changePassword",value:(o=(0,y.default)($.default.mark(function e(t,n,r,i,a){var o=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,c.default)((0,k.default)(u.prototype),"changePassword",this).call(this,t,n,r,i,a).then(function(e){return e.error||o.checkForSecurityUpdate(),e}));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r,i){return o.apply(this,arguments)})},{key:"handleAuthResponse",value:(a=(0,y.default)($.default.mark(function e(t,n,r,i,a){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,c.default)((0,k.default)(u.prototype),"handleAuthResponse",this).call(this,t,n,r,i,a);case 3:this.user=t.user,this.storageManager.setItem("user",JSON.stringify(t.user)),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),this.dbManager.displayOfflineAlert();case 10:case"end":return e.stop()}},e,this,[[0,7]])})),function(e,t,n,r,i){return a.apply(this,arguments)})},{key:"verifyAccountPassword",value:(n=(0,y.default)($.default.mark(function e(t){var n,r,i;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:return n=e.sent,e.next=5,SFJS.crypto.computeEncryptionKeysForUser(t,n);case 5:return r=e.sent,e.t0=r.mk,e.next=9,this.keys();case 9:return e.t1=e.sent.mk,i=e.t0===e.t1,e.abrupt("return",i);case 12:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"checkForSecurityUpdate",value:(t=(0,y.default)($.default.mark(function e(){var t,n;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.offline())return e.abrupt("return",!1);e.next=2;break;case 2:return t=SFJS.version(),e.next=5,this.protocolVersion();case 5:return e.t0=e.sent,e.t1=t,(n=e.t0!==e.t1)!==this.securityUpdateAvailable&&(this.securityUpdateAvailable=n,this.$rootScope.$broadcast("security-update-status-changed")),e.abrupt("return",this.securityUpdateAvailable);case 10:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"presentPasswordWizard",value:function(e){var t=this.$rootScope.$new(!0);t.type=e;var n=this.$compile("<password-wizard type='type'></password-wizard>")(t);angular.element(document.body).append(n)}},{key:"signOut",value:function(){(0,c.default)((0,k.default)(u.prototype),"signout",this).call(this),this.user=null,this._authParams=null}},{key:"configureUserPrefs",value:function(){var n=this,r="SN|UserPreferences",e=new SFPredicate("content_type","=",r);this.singletonManager.registerSingleton([e],function(e){n.userPreferences=e},function(e){var t=new SFItem({content_type:r});n.modelManager.addItem(t),n.modelManager.setItemDirty(t,!0),n.$rootScope.sync(),e(t)})}},{key:"userPreferencesDidChange",value:function(){this.$rootScope.$broadcast("user-preferences-changed")}},{key:"syncUserPreferences",value:function(){this.userPreferences&&(this.modelManager.setItemDirty(this.userPreferences,!0),this.$rootScope.sync())}},{key:"getUserPrefValue",value:function(e,t){if(!this.userPreferences)return t;var n=this.userPreferences.getAppDataItem(e);return void 0!==n&&null!=n?n:t}},{key:"setUserPrefValue",value:function(e,t,n){this.userPreferences?(this.userPreferences.setAppDataItem(e,t),n&&this.syncUserPreferences()):console.log("Prefs are null, not setting value",e)}}]),u}(SFAuthManager);angular.module("app").service("authManager",te);var ne=function(e){function c(e,t,n,r,i,a,o){var s;return(0,v.default)(this,c),(s=(0,g.default)(this,(0,k.default)(c).call(this,{modelManager:e,syncManager:t,desktopManager:n,nativeExtManager:r,alertManager:new SFAlertManager,$uiRunner:i.safeApply,$timeout:a,environment:G()?"desktop":"web",platform:J()}))).$compile=o,s.$rootScope=i,s}return c.$inject=["modelManager","syncManager","desktopManager","nativeExtManager","$rootScope","$timeout","$compile"],(0,p.default)(c,e),(0,f.default)(c,[{key:"openModalComponent",value:function(e){var t=this.$rootScope.$new(!0);t.component=e;var n=this.$compile("<component-modal component='component' class='sk-modal'></component-modal>")(t);angular.element(document.body).append(n)}},{key:"presentPermissionsDialog",value:function(e){var t=this.$rootScope.$new(!0);t.permissionsString=e.permissionsString,t.component=e.component,t.callback=e.callback;var n=this.$compile("<permissions-modal component='component' permissions-string='permissionsString' callback='callback' class='sk-modal'></permissions-modal>")(t);angular.element(document.body).append(n)}}]),c}(S);angular.module("app").service("componentManager",ne);var re=function(){function t(e){(0,v.default)(this,t),this.locked=!0,this.alertManager}return t.$inject=["alertManager"],(0,f.default)(t,[{key:"displayOfflineAlert",value:function(){this.alertManager.alert({text:"There was an issue loading your offline database. This could happen for two reasons:\n\n1. You're in a private window in your browser. We can't save your data without access to the local database. Please use a non-private window.\n\n2. You have two windows of the app open at the same time. Please close any other app instances and reload the page."})}},{key:"setLocked",value:function(e){this.locked=e}},{key:"openDatabase",value:function(n,r){if(!this.locked){var e=window.indexedDB.open("standardnotes",1);e.onerror=function(e){e.target.errorCode?this.alertManager.alert({text:"Offline database issue: "+e.target.errorCode}):this.displayOfflineAlert(),console.error("Offline database issue:",e),n&&n(null)}.bind(this),e.onsuccess=function(e){var t=e.target.result;t.onversionchange=function(e){t.close()},t.onerror=function(e){console.log("Database error: "+e.target.errorCode)},n&&n(t)},e.onblocked=function(e){console.error("Request blocked error:",e.target.errorCode)},e.onupgradeneeded=function(e){var t=e.target.result;t.onversionchange=function(e){t.close()};var n=t.createObjectStore("items",{keyPath:"uuid"});n.createIndex("title","title",{unique:!1}),n.createIndex("uuid","uuid",{unique:!0}),n.transaction.oncomplete=function(e){1===t.version&&r&&r()}}}}},{key:"getAllModels",value:function(r){this.openDatabase(function(e){var t=e.transaction("items").objectStore("items"),n=[];t.openCursor().onsuccess=function(e){var t=e.target.result;t?(n.push(t.value),t.continue()):r(n)}},null)}},{key:"saveModel",value:function(e){this.saveModels([e])}},{key:"saveModels",value:function(a,o,n){0!=a.length?this.openDatabase(function(e){var t=e.transaction("items","readwrite");t.oncomplete=function(e){},t.onerror=function(e){console.error("Transaction error:",e.target.errorCode)},t.onblocked=function(e){console.error("Transaction blocked error:",e.target.errorCode)},t.onabort=function(e){console.log("Offline saving aborted:",e);var t=e.target.error;"QuotaExceededError"==t.name?this.alertManager.alert({text:"Unable to save changes locally because your device is out of space. Please free up some disk space and try again, otherwise, your data may end up in an inconsistent state."}):this.alertManager.alert({text:"Unable to save changes locally due to an unknown system issue. Issue Code: ".concat(t.code," Issue Name: ").concat(t.name,".")}),n&&n(t)};var r=t.objectStore("items"),i=0;!function e(){if(i<a.length){var t=a[i],n=r.put(t);n.onerror=function(e){console.error("DB put error:",e.target.error)},n.onsuccess=e,++i}else o&&o()}()},null):o&&o()}},{key:"deleteModel",value:function(t,n){this.openDatabase(function(e){e.transaction("items","readwrite").objectStore("items").delete(t.uuid).onsuccess=function(e){n&&n(!0)}},null)}},{key:"clearAllModels",value:function(t){var e=window.indexedDB.deleteDatabase("standardnotes");e.onerror=function(e){console.log("Error deleting database."),t&&t()},e.onsuccess=function(e){console.log("Database deleted successfully"),t&&t()},e.onblocked=function(e){console.error("Delete request blocked"),this.alertManager.alert({text:"Your browser is blocking Standard Notes from deleting the local database. Make sure there are no other open windows of this app and try again. If the issue persists, please manually delete app data to sign out."})}}}]),t}();angular.module("app").service("dbManager",re);var ie=function(){function s(e,t,n,r,i,a){var o=this;(0,v.default)(this,s),this.passcodeManager=a,this.modelManager=n,this.authManager=i,this.syncManager=r,this.$rootScope=e,this.timeout=t,this.updateObservers=[],this.componentActivationObservers=[],this.isDesktop=G(),e.$on("initial-data-loaded",function(){o.dataLoaded=!0,o.dataLoadHandler&&o.dataLoadHandler()}),e.$on("major-data-change",function(){o.majorDataChangeHandler&&o.majorDataChangeHandler()})}var t,n,r,i;return s.$inject=["$rootScope","$timeout","modelManager","syncManager","authManager","passcodeManager"],(0,f.default)(s,[{key:"saveBackup",value:function(){this.majorDataChangeHandler&&this.majorDataChangeHandler()}},{key:"getExtServerHost",value:function(){return console.assert(this.extServerHost,"extServerHost is null"),this.extServerHost}},{key:"convertComponentForTransmission",value:(i=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new SFItemParams(t).paramsForExportFile(!0));case 1:case"end":return e.stop()}},e)})),function(e){return i.apply(this,arguments)})},{key:"syncComponentsInstallation",value:function(e){var t=this;this.isDesktop&&Promise.all(e.map(function(e){return t.convertComponentForTransmission(e)})).then(function(e){t.installationSyncHandler(e)})}},{key:"installComponent",value:(r=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=this,e.next=3,this.convertComponentForTransmission(t);case 3:e.t1=e.sent,e.t0.installComponentHandler.call(e.t0,e.t1);case 5:case"end":return e.stop()}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"registerUpdateObserver",value:function(e){var t={id:Math.random,callback:e};return this.updateObservers.push(t),t}},{key:"searchText",value:function(e){this.isDesktop&&(this.lastSearchedText=e,this.searchHandler&&this.searchHandler(e))}},{key:"redoSearch",value:function(){this.lastSearchedText&&this.searchText(this.lastSearchedText)}},{key:"deregisterUpdateObserver",value:function(e){_.pull(this.updateObservers,e)}},{key:"desktop_setSearchHandler",value:function(e){this.searchHandler=e}},{key:"desktop_windowGainedFocus",value:function(){this.$rootScope.$broadcast("window-gained-focus")}},{key:"desktop_windowLostFocus",value:function(){this.$rootScope.$broadcast("window-lost-focus")}},{key:"desktop_onComponentInstallationComplete",value:function(e,t){var a=this,o=this.modelManager.findItem(e.uuid);if(o){if(t)o.setAppDataItem("installError",t);else{var n=!0,r=!1,i=void 0;try{for(var s,c=["package_info","local_url"][Symbol.iterator]();!(n=(s=c.next()).done);n=!0){var u=s.value;o[u]=e.content[u]}}catch(e){r=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(r)throw i}}this.modelManager.notifySyncObserversOfModels([o],SFModelManager.MappingSourceDesktopInstalled),o.setAppDataItem("installError",null)}this.modelManager.setItemDirty(o,!0),this.syncManager.sync(),this.timeout(function(){var e=!0,t=!1,n=void 0;try{for(var r,i=a.updateObservers[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){r.value.callback(o)}}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}})}else console.error("desktop_onComponentInstallationComplete component is null for uuid",e.uuid)}},{key:"desktop_registerComponentActivationObserver",value:function(e){var t={id:Math.random,callback:e};return this.componentActivationObservers.push(t),t}},{key:"desktop_deregisterComponentActivationObserver",value:function(e){_.pull(this.componentActivationObservers,e)}},{key:"notifyComponentActivation",value:(n=(0,y.default)($.default.mark(function e(t){var a,o=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.convertComponentForTransmission(t);case 2:a=e.sent,this.timeout(function(){var e=!0,t=!1,n=void 0;try{for(var r,i=o.componentActivationObservers[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){r.value.callback(a)}}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}});case 4:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"desktop_setExtServerHost",value:function(e){this.extServerHost=e,this.$rootScope.$broadcast("desktop-did-set-ext-server-host")}},{key:"desktop_setComponentInstallationSyncHandler",value:function(e){this.installationSyncHandler=e}},{key:"desktop_setInstallComponentHandler",value:function(e){this.installComponentHandler=e}},{key:"desktop_setInitialDataLoadHandler",value:function(e){this.dataLoadHandler=e,this.dataLoaded&&this.dataLoadHandler()}},{key:"desktop_requestBackupFile",value:(t=(0,y.default)($.default.mark(function e(t){var n,r;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.authManager.offline()||!this.passcodeManager.hasPasscode()){e.next=5;break}n=this.passcodeManager.keys(),r=this.passcodeManager.passcodeAuthParams(),e.next=11;break;case 5:return e.next=7,this.authManager.keys();case 7:return n=e.sent,e.next=10,this.authManager.getAuthParams();case 10:r=e.sent;case 11:this.modelManager.getAllItemsJSONData(n,r,!0).then(function(e){t(e)});case 12:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"desktop_setMajorDataChangeHandler",value:function(e){this.majorDataChangeHandler=e}},{key:"desktop_didBeginBackup",value:function(){this.$rootScope.$broadcast("did-begin-local-backup")}},{key:"desktop_didFinishBackup",value:function(e){this.$rootScope.$broadcast("did-finish-local-backup",{success:e})}}]),s}();angular.module("app").service("desktopManager",ie);var ae=function(e){function r(t,e){var n;return(0,v.default)(this,r),(n=(0,g.default)(this,(0,k.default)(r).call(this,e))).setJWTRequestHandler((0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.getItem("jwt"));case 1:case"end":return e.stop()}},e)}))),n}return r.$inject=["storageManager","$timeout"],(0,p.default)(r,e),r}(SFHttpManager);angular.module("app").service("httpManager",ae);var oe=function(){function u(){(0,v.default)(this,u),this.observers=[],u.KeyTab="Tab",u.KeyBackspace="Backspace",u.KeyUp="ArrowUp",u.KeyDown="ArrowDown",u.KeyModifierShift="Shift",u.KeyModifierCtrl="Control",u.KeyModifierMeta="Meta",u.KeyModifierAlt="Alt",u.KeyEventDown="KeyEventDown",u.KeyEventUp="KeyEventUp",u.AllModifiers=[u.KeyModifierShift,u.KeyModifierCtrl,u.KeyModifierMeta,u.KeyModifierAlt],window.addEventListener("keydown",this.handleKeyDown.bind(this)),window.addEventListener("keyup",this.handleKeyUp.bind(this))}return(0,f.default)(u,[{key:"modifiersForEvent",value:function(t){return u.AllModifiers.filter(function(e){return(t.ctrlKey||t.key==u.KeyModifierCtrl)&&e===u.KeyModifierCtrl||(t.metaKey||t.key==u.KeyModifierMeta)&&e===u.KeyModifierMeta||(t.altKey||t.key==u.KeyModifierAlt)&&e===u.KeyModifierAlt||(t.shiftKey||t.key==u.KeyModifierShift)&&e===u.KeyModifierShift})}},{key:"eventMatchesKeyAndModifiers",value:function(e,t,n){var r=2<arguments.length&&void 0!==n?n:[],i=this.modifiersForEvent(e);if(i.length!=r.length)return!1;var a=!0,o=!1,s=void 0;try{for(var c,u=r[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var l=c.value;if(!i.includes(l))return!1}}catch(e){o=!0,s=e}finally{try{a||null==u.return||u.return()}finally{if(o)throw s}}return!t||t.toLowerCase()==e.key.toLowerCase()}},{key:"notifyObserver",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.observers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if((!s.element||e.target==s.element)&&((!s.elements||s.elements.includes(e.target))&&(!s.notElement||s.notElement!=e.target)&&(!s.notElementIds||!s.notElementIds.includes(e.target.id))&&this.eventMatchesKeyAndModifiers(e,s.key,s.modifiers))){var c=t==u.KeyEventDown?s.onKeyDown:s.onKeyUp;c&&c(e)}}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"handleKeyDown",value:function(e){this.notifyObserver(e,u.KeyEventDown)}},{key:"handleKeyUp",value:function(e){this.notifyObserver(e,u.KeyEventUp)}},{key:"addKeyObserver",value:function(e){var t={key:e.key,modifiers:e.modifiers,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,element:e.element,elements:e.elements,notElement:e.notElement,notElementIds:e.notElementIds};return this.observers.push(t),t}},{key:"removeKeyObserver",value:function(e){this.observers.splice(this.observers.indexOf(e),1)}}]),u}();angular.module("app").service("keyboardManager",oe);var se=function(e){function u(e,t,n,r,i,a,o,s){var c;return(0,v.default)(this,u),(c=(0,g.default)(this,(0,k.default)(u).call(this,t,n,i,o))).componentManager=r,c.statusManager=a,c.desktopManager=s,c}return u.$inject=["$rootScope","modelManager","syncManager","componentManager","storageManager","statusManager","authManager","desktopManager"],(0,p.default)(u,e),(0,f.default)(u,[{key:"registeredMigrations",value:function(){return[this.editorToComponentMigration(),this.componentUrlToHostedUrl(),this.removeTagReferencesFromNotes()]}},{key:"editorToComponentMigration",value:function(){var t,m=this;return{name:"editor-to-component",content_type:"SN|Editor",handler:(t=(0,y.default)($.default.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(r=!(n=!0),i=void 0,e.prev=3,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)(s=o.value).url&&!m.componentManager.componentForUrl(s.url)&&((c=m.modelManager.createItem({content_type:"SN|Component",content:{url:s.url,name:s.name,area:"editor-editor"}})).setAppDataItem("data",s.data),m.modelManager.addItem(c),m.modelManager.setItemDirty(c,!0));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)throw i;e.next=17;break;case 17:return e.finish(14);case 18:return e.finish(11);case 19:for(l=!(u=!0),d=void 0,e.prev=22,f=t[Symbol.iterator]();!(u=(p=f.next()).done);u=!0)h=p.value,m.modelManager.setItemToBeDeleted(h);e.next=30;break;case 26:e.prev=26,e.t1=e.catch(22),l=!0,d=e.t1;case 30:e.prev=30,e.prev=31,u||null==f.return||f.return();case 33:if(e.prev=33,l)throw d;e.next=36;break;case 36:return e.finish(33);case 37:return e.finish(30);case 38:m.syncManager.sync();case 39:case"end":return e.stop()}},e,null,[[3,7,11,19],[12,,14,18],[22,26,30,38],[31,,33,37]])})),function(e){return t.apply(this,arguments)})}}},{key:"componentUrlToHostedUrl",value:function(){var t,g=this;return{name:"component-url-to-hosted-url",content_type:"SN|Component",handler:(t=(0,y.default)($.default.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=!1,r=g.modelManager.validItemsForContentType("Note"),a=!(i=!0),o=void 0,e.prev=5,s=r[Symbol.iterator]();case 7:if(i=(c=s.next()).done){e.next=31;break}for(u=c.value,d=!(l=!0),f=void 0,e.prev=12,p=t[Symbol.iterator]();!(l=(h=p.next()).done);l=!0)m=h.value,(v=u.getDomainDataItem(m.hosted_url,ne.ClientDataDomain))&&(u.setDomainDataItem(m.uuid,v,ne.ClientDataDomain),u.setDomainDataItem(m.hosted_url,null,ne.ClientDataDomain),g.modelManager.setItemDirty(u,!0),n=!0);e.next=20;break;case 16:e.prev=16,e.t0=e.catch(12),d=!0,f=e.t0;case 20:e.prev=20,e.prev=21,l||null==p.return||p.return();case 23:if(e.prev=23,d)throw f;e.next=26;break;case 26:return e.finish(23);case 27:return e.finish(20);case 28:i=!0,e.next=7;break;case 31:e.next=37;break;case 33:e.prev=33,e.t1=e.catch(5),a=!0,o=e.t1;case 37:e.prev=37,e.prev=38,i||null==s.return||s.return();case 40:if(e.prev=40,a)throw o;e.next=43;break;case 43:return e.finish(40);case 44:return e.finish(37);case 45:n&&g.syncManager.sync();case 46:case"end":return e.stop()}},e,null,[[5,33,37,45],[12,16,20,28],[21,,23,27],[38,,40,44]])})),function(e){return t.apply(this,arguments)})}}},{key:"removeTagReferencesFromNotes",value:function(){var t,k=this;return{name:"remove-tag-references-from-notes",content_type:"Note",handler:(t=(0,y.default)($.default.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:!1,n=k.statusManager.addStatusFromString("Optimizing data..."),a=!(i=!(r=0)),o=void 0,e.prev=6,s=t[Symbol.iterator]();case 8:if(i=(c=s.next()).done){e.next=47;break}if((u=c.value).content){e.next=12;break}return e.abrupt("continue",44);case 12:l=u.content.references,d=[],p=!(f=!0),h=void 0,e.prev=17,m=l[Symbol.iterator]();case 19:if(f=(v=m.next()).done){e.next=29;break}if("Tag"!=(g=v.value).content_type)return d.push(g),e.abrupt("continue",26);e.next=24;break;case 24:(y=k.modelManager.findItem(g.uuid))&&!y.hasRelationshipWithItem(u)&&(y.addItemAsRelationship(u),k.modelManager.setItemDirty(y,!0),r++);case 26:f=!0,e.next=19;break;case 29:e.next=35;break;case 31:e.prev=31,e.t0=e.catch(17),p=!0,h=e.t0;case 35:e.prev=35,e.prev=36,f||null==m.return||m.return();case 38:if(e.prev=38,p)throw h;e.next=41;break;case 41:return e.finish(38);case 42:return e.finish(35);case 43:d.length!=l.length&&(u.content.references=d,k.modelManager.setItemDirty(u,!0),r++);case 44:i=!0,e.next=8;break;case 47:e.next=53;break;case 49:e.prev=49,e.t1=e.catch(6),a=!0,o=e.t1;case 53:e.prev=53,e.prev=54,i||null==s.return||s.return();case 56:if(e.prev=56,a)throw o;e.next=59;break;case 59:return e.finish(56);case 60:return e.finish(53);case 61:if(0<r)return G()&&k.desktopManager.saveBackup(),n=k.statusManager.replaceStatusWithString(n,"".concat(r," items optimized.")),e.next=66,k.syncManager.sync();e.next=70;break;case 66:n=k.statusManager.replaceStatusWithString(n,"Optimization complete."),setTimeout(function(){k.statusManager.removeStatus(n)},2e3),e.next=71;break;case 70:k.statusManager.removeStatus(n);case 71:case"end":return e.stop()}},e,null,[[6,49,53,61],[17,31,35,43],[36,,38,42],[54,,56,60]])})),function(e){return t.apply(this,arguments)})}}}]),u}(SFMigrationManager);angular.module("app").service("migrationManager",se),SFModelManager.ContentTypeClassMapping={Note:P,Tag:F,"SN|SmartTag":V,Extension:E,"SN|Editor":A,"SN|Theme":q,"SN|Component":I,"SF|Extension":U,"SF|MFA":H,"SN|Privileges":SFPrivileges},SFItem.AppDomain="org.standardnotes.sn";var ce=function(e){function i(e,t){var n;return(0,v.default)(this,i),(n=(0,g.default)(this,(0,k.default)(i).call(this,t))).notes=[],n.tags=[],n.components=[],n.storageManager=e,n.buildSystemSmartTags(),n}return i.$inject=["storageManager","$timeout"],(0,p.default)(i,e),(0,f.default)(i,[{key:"handleSignout",value:function(){(0,c.default)((0,k.default)(i.prototype),"handleSignout",this).call(this),this.notes.length=0,this.tags.length=0,this.components.length=0}},{key:"noteCount",value:function(){return this.notes.filter(function(e){return!e.dummy}).length}},{key:"removeAllItemsFromMemory",value:function(){var e=!0,t=!1,n=void 0;try{for(var r,i=this.items[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){r.value.deleted=!0}}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}this.notifySyncObserversOfModels(this.items),this.handleSignout()}},{key:"findOrCreateTagByTitle",value:function(e){var t=_.find(this.tags,{title:e});return t||(t=this.createItem({content_type:"Tag",content:{title:e}}),this.addItem(t),this.setItemDirty(t,!0)),t}},{key:"addItems",value:function(e,t){var n=this,r=1<arguments.length&&void 0!==t&&t;(0,c.default)((0,k.default)(i.prototype),"addItems",this).call(this,e,r),e.forEach(function(e){r||("Tag"==e.content_type?_.find(n.tags,{uuid:e.uuid})||n.tags.splice(_.sortedIndexBy(n.tags,e,function(e){return e.title?e.title.toLowerCase():""}),0,e):"Note"==e.content_type?_.find(n.notes,{uuid:e.uuid})||n.notes.unshift(e):"SN|Component"==e.content_type&&(_.find(n.components,{uuid:e.uuid})||n.components.unshift(e)))})}},{key:"resortTag",value:function(e){_.pull(this.tags,e),this.tags.splice(_.sortedIndexBy(this.tags,e,function(e){return e.title?e.title.toLowerCase():""}),0,e)}},{key:"setItemToBeDeleted",value:function(e){(0,c.default)((0,k.default)(i.prototype),"setItemToBeDeleted",this).call(this,e),this.removeItemFromRespectiveArray(e)}},{key:"removeItemLocally",value:function(e,t){(0,c.default)((0,k.default)(i.prototype),"removeItemLocally",this).call(this,e,t),this.removeItemFromRespectiveArray(e),this.storageManager.deleteModel(e).then(t)}},{key:"removeItemFromRespectiveArray",value:function(e){"Tag"==e.content_type?_.remove(this.tags,{uuid:e.uuid}):"Note"==e.content_type?_.remove(this.notes,{uuid:e.uuid}):"SN|Component"==e.content_type&&_.remove(this.components,{uuid:e.uuid})}},{key:"notesMatchingSmartTag",value:function(e){var t=[new SFPredicate("content_type","=","Note"),e.content.predicate];if(!e.content.isTrashTag){var n=new SFPredicate("content.trashed","=",!1);t.push(n)}return this.itemsMatchingPredicates(t)}},{key:"trashSmartTag",value:function(){return this.systemSmartTags.find(function(e){return e.content.isTrashTag})}},{key:"trashedItems",value:function(){return this.notesMatchingSmartTag(this.trashSmartTag())}},{key:"emptyTrash",value:function(){var e=this.trashedItems(),t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;this.setItemToBeDeleted(o)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"buildSystemSmartTags",value:function(){this.systemSmartTags=V.systemSmartTags()}},{key:"getSmartTagWithId",value:function(t){return this.getSmartTags().find(function(e){return e.uuid==t})}},{key:"getSmartTags",value:function(){var e=this.validItemsForContentType("SN|SmartTag").sort(function(e,t){return e.content.title<t.content.title?-1:1});return this.systemSmartTags.concat(e)}},{key:"humanReadableDisplayForContentType",value:function(e){return{Note:"note",Tag:"tag","SN|SmartTag":"smart tag",Extension:"action-based extension","SN|Component":"component","SN|Editor":"editor","SN|Theme":"theme","SF|Extension":"server extension","SF|MFA":"two-factor authentication setting","SN|FileSafe|Credentials":"FileSafe credential","SN|FileSafe|FileMetadata":"FileSafe file","SN|FileSafe|Integration":"FileSafe integration"}[e]}}]),i}(SFModelManager);angular.module("app").service("modelManager",ce);var ue=function(){function r(e,t,n){(0,v.default)(this,r),this.modelManager=e,this.syncManager=t,this.singletonManager=n,this.extensionsManagerIdentifier="org.standardnotes.extensions-manager",this.batchManagerIdentifier="org.standardnotes.batch-manager",this.systemExtensions=[],this.resolveExtensionsManager(),this.resolveBatchManager()}return r.$inject=["modelManager","syncManager","singletonManager"],(0,f.default)(r,[{key:"isSystemExtension",value:function(e){return this.systemExtensions.includes(e.uuid)}},{key:"resolveExtensionsManager",value:function(){var i=this,e=new SFPredicate("content_type","=","SN|Component"),t=new SFPredicate("package_info.identifier","=",this.extensionsManagerIdentifier);this.singletonManager.registerSingleton([e,t],function(e){i.systemExtensions.push(e.uuid);var t=!1;G()?e.local_url||(e.local_url=window._extensions_manager_location,t=!0):e.hosted_url||(e.hosted_url=window._extensions_manager_location,t=!0);var n=e.content.permissions.find(function(e){return"stream-items"==e.name});n.content_types.includes("SN|ExtensionRepo")||(n.content_types.push("SN|ExtensionRepo"),t=!0),t&&(i.modelManager.setItemDirty(e,!0),i.syncManager.sync())},function(e){if(window._extensions_manager_location){var t={name:"Extensions",identifier:i.extensionsManagerIdentifier},n={content_type:"SN|Component",content:{name:t.name,area:"rooms",package_info:t,permissions:[{name:"stream-items",content_types:["SN|Component","SN|Theme","SF|Extension","Extension","SF|MFA","SN|Editor","SN|ExtensionRepo"]}]}};G()?n.content.local_url=window._extensions_manager_location:n.content.hosted_url=window._extensions_manager_location;var r=i.modelManager.createItem(n);i.modelManager.addItem(r),i.modelManager.setItemDirty(r,!0),i.syncManager.sync(),i.systemExtensions.push(r.uuid),e(r)}else console.error("window._extensions_manager_location must be set.")})}},{key:"resolveBatchManager",value:function(){var i=this,e=new SFPredicate("content_type","=","SN|Component"),t=new SFPredicate("package_info.identifier","=",this.batchManagerIdentifier);this.singletonManager.registerSingleton([e,t],function(e){i.systemExtensions.push(e.uuid);var t=!1;G()?e.local_url||(e.local_url=window._batch_manager_location,t=!0):e.hosted_url||(e.hosted_url=window._batch_manager_location,t=!0),t&&(i.modelManager.setItemDirty(e,!0),i.syncManager.sync())},function(e){if(window._batch_manager_location){var t={name:"Batch Manager",identifier:i.batchManagerIdentifier},n={content_type:"SN|Component",content:{name:t.name,area:"modal",package_info:t,permissions:[{name:"stream-items",content_types:["Note","Tag","SN|SmartTag","SN|Component","SN|Theme","SN|UserPreferences","SF|Extension","Extension","SF|MFA","SN|Editor","SN|FileSafe|Credentials","SN|FileSafe|FileMetadata","SN|FileSafe|Integration"]}]}};G()?n.content.local_url=window._batch_manager_location:n.content.hosted_url=window._batch_manager_location;var r=i.modelManager.createItem(n);i.modelManager.addItem(r),i.modelManager.setItemDirty(r,!0),i.syncManager.sync(),i.systemExtensions.push(r.uuid),e(r)}else console.error("window._batch_manager_location must be set.")})}}]),r}();angular.module("app").service("nativeExtManager",ue);var le=function(){function i(e,t,n,r){(0,v.default)(this,i),this.authManager=t,this.storageManager=n,this.syncManager=r,this.$rootScope=e,this._hasPasscode=null!=this.storageManager.getItemSync("offlineParams",ve.Fixed),this._locked=this._hasPasscode,this.visibilityObservers=[],this.passcodeChangeObservers=[],this.configureAutoLock()}var e,n,t,r,a;return i.$inject=["$rootScope","authManager","storageManager","syncManager"],(0,f.default)(i,[{key:"addPasscodeChangeObserver",value:function(e){this.passcodeChangeObservers.push(e)}},{key:"lockApplication",value:function(){window.location.reload(),this.cancelAutoLockTimer()}},{key:"isLocked",value:function(){return this._locked}},{key:"hasPasscode",value:function(){return this._hasPasscode}},{key:"keys",value:function(){return this._keys}},{key:"addVisibilityObserver",value:function(e){return this.visibilityObservers.push(e),e}},{key:"removeVisibilityObserver",value:function(e){_.pull(this.visibilityObservers,e)}},{key:"notifiyVisibilityObservers",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=this.visibilityObservers[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){(0,i.value)(e)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"setAutoLockInterval",value:(a=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.storageManager.setItem(i.AutoLockIntervalKey,JSON.stringify(t),ve.FixedEncrypted));case 1:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getAutoLockInterval",value:(r=(0,y.default)($.default.mark(function e(){var t;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem(i.AutoLockIntervalKey,ve.FixedEncrypted);case 2:if(t=e.sent)return e.abrupt("return",JSON.parse(t));e.next=7;break;case 7:return e.abrupt("return",i.AutoLockIntervalNone);case 8:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})},{key:"passcodeAuthParams",value:function(){var e=JSON.parse(this.storageManager.getItemSync("offlineParams",ve.Fixed));if(e&&!e.version){var t=this.keys();t&&t.ak?e.version="002":e.version="001"}return e}},{key:"verifyPasscode",value:(t=(0,y.default)($.default.mark(function e(i){var a=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(){var n=(0,y.default)($.default.mark(function e(t,n){var r;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.passcodeAuthParams(),e.next=3,SFJS.crypto.computeEncryptionKeysForUser(i,r);case 3:e.sent.pw!==r.hash?t(!1):t(!0);case 5:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)})},{key:"unlock",value:function(e,t){var n=this,r=this.passcodeAuthParams();SFJS.crypto.computeEncryptionKeysForUser(e,r).then(function(e){e.pw===r.hash?(n._keys=e,n._authParams=r,n.decryptLocalStorage(e,r).then(function(){n._locked=!1,t(!0)})):t(!1)})}},{key:"setPasscode",value:function(e,r){var i=this,t=SFJS.crypto.generateUUIDSync();SFJS.crypto.generateInitialKeysAndAuthParamsForUser(t,e).then(function(e){var t=e.keys,n=e.authParams;n.hash=t.pw,i._keys=t,i._hasPasscode=!0,i._authParams=n,i.encryptLocalStorage(t,n),i.storageManager.setItem("offlineParams",JSON.stringify(n),ve.Fixed),r(!0),i.notifyObserversOfPasscodeChange()})}},{key:"changePasscode",value:function(e,t){this.setPasscode(e,t)}},{key:"clearPasscode",value:function(){this.storageManager.setItemsMode(this.authManager.isEphemeralSession()?ve.Ephemeral:ve.Fixed),this.storageManager.removeItem("offlineParams",ve.Fixed),this._keys=null,this._hasPasscode=!1,this.notifyObserversOfPasscodeChange()}},{key:"notifyObserversOfPasscodeChange",value:function(){var e=!0,t=!1,n=void 0;try{for(var r,i=this.passcodeChangeObservers[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){(0,r.value)()}}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}}},{key:"encryptLocalStorage",value:function(e,t){this.storageManager.setKeys(e,t),this.storageManager.setItemsMode(this.authManager.isEphemeralSession()?ve.Ephemeral:ve.FixedEncrypted,!0)}},{key:"decryptLocalStorage",value:(n=(0,y.default)($.default.mark(function e(t,n){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.storageManager.setKeys(t,n),e.abrupt("return",this.storageManager.decryptStorage());case 2:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"configureAutoLock",value:function(){var n=this;i.AutoLockPollFocusInterval=1e3,i.AutoLockIntervalNone=0,i.AutoLockIntervalImmediate=1,i.AutoLockIntervalOneMinute=6e4,i.AutoLockIntervalFiveMinutes=3e5,i.AutoLockIntervalOneHour=36e5,i.AutoLockIntervalKey="AutoLockIntervalKey",G()?(this.$rootScope.$on("window-lost-focus",function(){n.documentVisibilityChanged(!1)}),this.$rootScope.$on("window-gained-focus",function(){n.documentVisibilityChanged(!0)})):(document.addEventListener("visibilitychange",function(e){var t="visible"==document.visibilityState;n.documentVisibilityChanged(t)}),this.pollFocusTimeout=setInterval(function(){var e=document.hasFocus();e&&"hidden"==n.lastFocusState?n.documentVisibilityChanged(!0):e||"visible"!=n.lastFocusState||n.documentVisibilityChanged(!1),n.lastFocusState=e?"visible":"hidden"},i.AutoLockPollFocusInterval))}},{key:"getAutoLockIntervalOptions",value:function(){return[{value:i.AutoLockIntervalNone,label:"Off"},{value:i.AutoLockIntervalImmediate,label:"Immediately"},{value:i.AutoLockIntervalOneMinute,label:"1m"},{value:i.AutoLockIntervalFiveMinutes,label:"5m"},{value:i.AutoLockIntervalOneHour,label:"1h"}]}},{key:"documentVisibilityChanged",value:function(e){e?(this.lockAfterDate&&new Date>this.lockAfterDate&&!this.isLocked()?this.lockApplication():this.isLocked()||this.syncManager.sync(),this.cancelAutoLockTimer()):this.beginAutoLockTimer(),this.notifiyVisibilityObservers(e)}},{key:"beginAutoLockTimer",value:(e=(0,y.default)($.default.mark(function e(){var t,n,r=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAutoLockInterval();case 2:if((t=e.sent)==i.AutoLockIntervalNone)return e.abrupt("return");e.next=5;break;case 5:n=function(e){var t=new Date;return t.setSeconds(t.getSeconds()+e),t},this.lockAfterDate=n(t/1e3),this.lockTimeout=setTimeout(function(){r.lockApplication(),r.lockAfterDate=null},t);case 8:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"cancelAutoLockTimer",value:function(){clearTimeout(this.lockTimeout),this.lockAfterDate=null}}]),i}();angular.module("app").service("passcodeManager",le);var de=function(e){function m(n,r,e,t,i,a,o,s){var c,u,l,d,f,p,h;return(0,v.default)(this,m),(c=(0,g.default)(this,(0,k.default)(m).call(this,i,e,t))).$rootScope=o,c.$compile=s,c.setDelegate({isOffline:(h=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",r.offline());case 1:case"end":return e.stop()}},e)})),function(){return h.apply(this,arguments)}),hasLocalPasscode:(p=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",n.hasPasscode());case 1:case"end":return e.stop()}},e)})),function(){return p.apply(this,arguments)}),saveToStorage:(f=(0,y.default)($.default.mark(function e(t,n){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.setItem(t,n,a.bestStorageMode()));case 1:case"end":return e.stop()}},e)})),function(e,t){return f.apply(this,arguments)}),getFromStorage:(d=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.getItem(t,a.bestStorageMode()));case 1:case"end":return e.stop()}},e)})),function(e){return d.apply(this,arguments)}),verifyAccountPassword:(l=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",r.verifyAccountPassword(t));case 1:case"end":return e.stop()}},e)})),function(e){return l.apply(this,arguments)}),verifyLocalPasscode:(u=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",n.verifyPasscode(t));case 1:case"end":return e.stop()}},e)})),function(e){return u.apply(this,arguments)})}),c}return m.$inject=["passcodeManager","authManager","syncManager","singletonManager","modelManager","storageManager","$rootScope","$compile"],(0,p.default)(m,e),(0,f.default)(m,[{key:"presentPrivilegesModal",value:function(e,t,n){var r=this;if(this.authenticationInProgress())n&&n();else{var i=this.$rootScope.$new(!0);i.action=e,i.onSuccess=function(){t&&t(),r.currentAuthenticationElement=null},i.onCancel=function(){n&&n(),r.currentAuthenticationElement=null};var a=this.$compile("<privileges-auth-modal action='action' on-success='onSuccess' on-cancel='onCancel' class='sk-modal'></privileges-auth-modal>")(i);angular.element(document.body).append(a),this.currentAuthenticationElement=a}}},{key:"presentPrivilegesManagementModal",value:function(){var e=this.$rootScope.$new(!0),t=this.$compile("<privileges-management-modal class='sk-modal'></privileges-management-modal>")(e);angular.element(document.body).append(t)}},{key:"authenticationInProgress",value:function(){return null!=this.currentAuthenticationElement}}]),m}(SFPrivilegesManager);angular.module("app").service("privilegesManager",de);var fe=function(e){function s(e,t,i,a,n){var r;(0,v.default)(this,s),SFItemHistory.HistoryEntryClassMapping={Note:Y},a.addPasscodeChangeObserver(function(){r.saveToDisk()});var o=function(){var e=(0,y.default)($.default.mark(function e(){var t,n,r;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=i.offline())){e.next=5;break}e.t0=a.passcodeAuthParams(),e.next=8;break;case 5:return e.next=7,i.getAuthParams();case 7:e.t0=e.sent;case 8:if(n=e.t0,!t){e.next=13;break}e.t1=a.keys(),e.next=16;break;case 13:return e.next=15,i.keys();case 15:e.t1=e.sent;case 16:return r=e.t1,e.abrupt("return",{keys:r,offline:t,auth_params:n});case 18:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return r=(0,g.default)(this,(0,k.default)(s).call(this,e,t,o,["Note"],n))}return s.$inject=["modelManager","storageManager","authManager","passcodeManager","$timeout"],(0,p.default)(s,e),s}(SFSessionHistoryManager);angular.module("app").service("sessionHistory",fe);var pe=function(e){function n(e,t){return(0,v.default)(this,n),(0,g.default)(this,(0,k.default)(n).call(this,e,t))}return n.$inject=["modelManager","syncManager"],(0,p.default)(n,e),n}(SFSingletonManager);angular.module("app").service("singletonManager",pe);var he=function(){function e(){(0,v.default)(this,e),this.statuses=[],this.observers=[]}return(0,f.default)(e,[{key:"statusFromString",value:function(e){return{string:e}}},{key:"replaceStatusWithString",value:function(e,t){return this.removeStatus(e),this.addStatusFromString(t)}},{key:"addStatusFromString",value:function(e){return this.addStatus(this.statusFromString(e))}},{key:"addStatus",value:function(e){if("object"===(0,i.default)(e))return this.statuses.push(e),this.notifyObservers(),e;console.error("Attempting to set non-object status",e)}},{key:"removeStatus",value:function(e){return _.pull(this.statuses,e),this.notifyObservers(),null}},{key:"getStatusString",value:function(){var n="";return this.statuses.forEach(function(e,t){0<t&&(n+=" "),n+=e.string}),n}},{key:"notifyObservers",value:function(){var e=!0,t=!1,n=void 0;try{for(var r,i=this.observers[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){(0,r.value)(this.getStatusString())}}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}}},{key:"addStatusObserver",value:function(e){this.observers.push(e)}},{key:"removeStatusObserver",value:function(e){_.pull(this.statuses,e)}}]),e}();angular.module("app").service("statusManager",he);var me=function(){function e(){(0,v.default)(this,e),this.memory={}}return(0,f.default)(e,[{key:"getItem",value:function(e){return this.memory[e]||null}},{key:"getItemSync",value:function(e){return this.getItem(e)}},{key:"setItem",value:function(e,t){this.memory[e]=t}},{key:"removeItem",value:function(e){delete this.memory[e]}},{key:"clear",value:function(){this.memory={}}},{key:"keys",value:function(){return Object.keys(this.memory)}},{key:"key",value:function(e){return Object.keys(this.memory)[e]}},{key:"length",get:function(){return Object.keys(this.memory).length}}]),e}(),ve=function(e){function o(e,t){var n;return(0,v.default)(this,o),(n=(0,g.default)(this,(0,k.default)(o).call(this))).dbManager=e,n.alertManager=t,n}var t,n,r,i,a,s,c,u,l,d;return o.$inject=["dbManager","alertManager"],(0,p.default)(o,e),(0,f.default)(o,[{key:"initialize",value:function(e,t){e?(this.storage=this.memoryStorage,this.itemsStorageMode=o.FixedEncrypted):t?(this.storage=this.memoryStorage,this.itemsStorageMode=o.Ephemeral):(this.storage=localStorage,this.itemsStorageMode=o.Fixed),this.modelStorageMode=t?o.Ephemeral:o.Fixed}},{key:"setItemsMode",value:function(e,t){var n=this.getVault(e);if(n!==this.storage||e!==this.itemsStorageMode||t){for(var r=this.storage.length,i=0;i<r;i++){var a=this.storage.key(i);n.setItem(a,this.storage.getItem(a))}this.itemsStorageMode=e,n!==this.storage&&this.storage.clear(),this.storage=n,e==o.FixedEncrypted?this.writeEncryptedStorageToDisk():e==o.Fixed&&this.removeItem("encryptedStorage",o.Fixed)}}},{key:"getVault",value:function(e){return e?e==o.Ephemeral||e==o.FixedEncrypted?this.memoryStorage:localStorage:this.storage}},{key:"setItem",value:(d=(0,y.default)($.default.mark(function e(t,n,r){var i;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=this.getVault(r);try{i.setItem(t,n)}catch(e){console.error("Exception while trying to setItem in StorageManager:",e),this.alertManager.alert({text:"The application's local storage is out of space. If you have Session History save-to-disk enabled, please disable it, and try again."})}r!==o.FixedEncrypted&&(r||this.itemsStorageMode!==o.FixedEncrypted)||this.writeEncryptedStorageToDisk();case 3:case"end":return e.stop()}},e,this)})),function(e,t,n){return d.apply(this,arguments)})},{key:"getItem",value:(l=(0,y.default)($.default.mark(function e(t,n){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getItemSync(t,n));case 1:case"end":return e.stop()}},e,this)})),function(e,t){return l.apply(this,arguments)})},{key:"getItemSync",value:function(e,t){return this.getVault(t).getItem(e)}},{key:"removeItem",value:(u=(0,y.default)($.default.mark(function e(t,n){var r;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.getVault(n),e.abrupt("return",r.removeItem(t));case 2:case"end":return e.stop()}},e,this)})),function(e,t){return u.apply(this,arguments)})},{key:"clear",value:(c=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.memoryStorage.clear(),localStorage.clear();case 2:case"end":return e.stop()}},e,this)})),function(){return c.apply(this,arguments)})},{key:"storageAsHash",value:function(){for(var e={},t=this.storage.length,n=0;n<t;n++){var r=this.storage.key(n);e[r]=this.storage.getItem(r)}return e}},{key:"setKeys",value:function(e,t){this.encryptedStorageKeys=e,this.encryptedStorageAuthParams=t}},{key:"writeEncryptedStorageToDisk",value:function(){var t=this,e=new N;e.content.storage=this.storageAsHash(),new SFItemParams(e,this.encryptedStorageKeys,this.encryptedStorageAuthParams).paramsForSync().then(function(e){t.setItem("encryptedStorage",JSON.stringify(e),o.Fixed)})}},{key:"decryptStorage",value:(s=(0,y.default)($.default.mark(function e(){var t,n,r,i,a;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=JSON.parse(this.getItemSync("encryptedStorage",o.Fixed)),e.next=3,SFJS.itemTransformer.decryptItem(t,this.encryptedStorageKeys);case 3:for(n=new N(t),r=0,i=Object.keys(n.content.storage);r<i.length;r++)a=i[r],this.setItem(a,n.storage[a]);case 5:case"end":return e.stop()}},e,this)})),function(){return s.apply(this,arguments)})},{key:"hasPasscode",value:function(){return null!==this.getItemSync("encryptedStorage",o.Fixed)}},{key:"bestStorageMode",value:function(){return this.hasPasscode()?o.FixedEncrypted:o.Fixed}},{key:"setModelStorageMode",value:function(e){e!=this.modelStorageMode&&(e==o.Ephemeral&&this.dbManager.clearAllModels(null),this.modelStorageMode=e)}},{key:"getAllModels",value:(a=(0,y.default)($.default.mark(function e(){var n=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){n.modelStorageMode==o.Fixed?n.dbManager.getAllModels(e):e()}));case 1:case"end":return e.stop()}},e)})),function(){return a.apply(this,arguments)})},{key:"saveModel",value:(i=(0,y.default)($.default.mark(function e(t){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.saveModels([t]));case 1:case"end":return e.stop()}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"saveModels",value:(r=(0,y.default)($.default.mark(function e(n,t,r){var i=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){i.modelStorageMode==o.Fixed?i.dbManager.saveModels(n,e,t):e()}));case 1:case"end":return e.stop()}},e)})),function(e,t,n){return r.apply(this,arguments)})},{key:"deleteModel",value:(n=(0,y.default)($.default.mark(function e(n){var r=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){r.modelStorageMode==o.Fixed?r.dbManager.deleteModel(n,e):e()}));case 1:case"end":return e.stop()}},e)})),function(e){return n.apply(this,arguments)})},{key:"clearAllModels",value:(t=(0,y.default)($.default.mark(function e(){var n=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){n.dbManager.clearAllModels(e)}));case 1:case"end":return e.stop()}},e)})),function(){return t.apply(this,arguments)})},{key:"memoryStorage",get:function(){return this._memoryStorage||(this._memoryStorage=new me),this._memoryStorage}}]),o}(SFStorageManager);ve.FixedEncrypted="FixedEncrypted",ve.Ephemeral="Ephemeral",ve.Fixed="Fixed",angular.module("app").service("storageManager",ve);var ge=function(e){function c(e,t,n,r,i,a,o){var s;return(0,v.default)(this,c),(s=(0,g.default)(this,(0,k.default)(c).call(this,e,t,n,r,i))).$rootScope=o,s.$compile=a,s.contentTypeLoadPriority=["SN|UserPreferences","SN|Privileges","SN|Component","SN|Theme"],s}return c.$inject=["modelManager","storageManager","httpManager","$timeout","$interval","$compile","$rootScope"],(0,p.default)(c,e),(0,f.default)(c,[{key:"presentConflictResolutionModal",value:function(e,t){var n=this.$rootScope.$new(!0);n.item1=e[0],n.item2=e[1],n.callback=t;var r=this.$compile("<conflict-resolution-modal item1='item1' item2='item2' callback='callback' class='sk-modal'></conflict-resolution-modal>")(n);angular.element(document.body).append(r)}}]),c}(SFSyncManager);angular.module("app").service("syncManager",ge);var ye,ke,be=function(){function o(e,t,n,r,i){var a=this;(0,v.default)(this,o),this.componentManager=e,this.storageManager=n,this.desktopManager=t,this.activeThemes=[],o.CachedThemesKey="cachedThemes",this.registerObservers(),r.addPasscodeChangeObserver(function(){a.cacheThemes()}),t.isDesktop?i.$on("desktop-did-set-ext-server-host",function(){a.activateCachedThemes()}):this.activateCachedThemes()}var e,t;return o.$inject=["componentManager","desktopManager","storageManager","passcodeManager","$rootScope"],(0,f.default)(o,[{key:"activateCachedThemes",value:function(){var e=this.getCachedThemes(),t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;this.activateTheme(o,!1)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"registerObservers",value:function(){var t=this;this.desktopManager.registerUpdateObserver(function(e){e.active&&e.isTheme()&&(t.deactivateTheme(e),setTimeout(function(){t.activateTheme(e)},10))}),this.componentManager.registerHandler({identifier:"themeManager",areas:["themes"],activationHandler:function(e){e.active?t.activateTheme(e):t.deactivateTheme(e)}})}},{key:"hasActiveTheme",value:function(){return 0<this.componentManager.getActiveThemes().length}},{key:"deactivateAllThemes",value:function(){var e=this.componentManager.getActiveThemes(),t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;o&&this.componentManager.deactivateComponent(o)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}this.decacheThemes()}},{key:"activateTheme",value:function(e,t){var n=!(1<arguments.length&&void 0!==t)||t;if(!_.find(this.activeThemes,{uuid:e.uuid})){this.activeThemes.push(e);var r=this.componentManager.urlForComponent(e),i=document.createElement("link");i.href=r,i.type="text/css",i.rel="stylesheet",i.media="screen,print",i.id=e.uuid,document.getElementsByTagName("head")[0].appendChild(i),n&&this.cacheThemes()}}},{key:"deactivateTheme",value:function(e){var t=document.getElementById(e.uuid);t&&(t.disabled=!0,t.parentNode.removeChild(t)),_.remove(this.activeThemes,{uuid:e.uuid}),this.cacheThemes()}},{key:"cacheThemes",value:(t=(0,y.default)($.default.mark(function e(){var t,n;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(this.activeThemes.map(function(){var t=(0,y.default)($.default.mark(function e(t){var n,r;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=new SFItemParams(t),e.next=3,n.paramsForLocalStorage();case 3:return r=e.sent,e.abrupt("return",r);case 5:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}()));case 2:return t=e.sent,n=JSON.stringify(t),e.abrupt("return",this.storageManager.setItem(o.CachedThemesKey,n,ve.Fixed));case 5:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"decacheThemes",value:(e=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.storageManager.removeItem(o.CachedThemesKey,ve.Fixed));case 1:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"getCachedThemes",value:function(){var e=this.storageManager.getItemSync(o.CachedThemesKey,ve.Fixed);return e?JSON.parse(e).map(function(e){return new q(e)}):[]}}]),o}();angular.module("app").service("themeManager",be),angular.module("app").filter("appDate",["$filter",function(t){return function(e){return e?t("date")(new Date(e),"MM/dd/yyyy","UTC"):""}}]).filter("appDateTime",["$filter",function(t){return function(e){return"undefined"!=typeof Intl&&Intl.DateTimeFormat?(ke||(ye=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,ke=new Intl.DateTimeFormat(ye,{year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit"})),ke.format(e)):e?t("date")(new Date(e),"MM/dd/yyyy h:mm a"):""}}]),angular.module("app").filter("trusted",["$sce",function(t){return function(e){return t.trustAsResourceUrl(e)}}]),angular.module("app").directive("snAutofocus",["$timeout",function(n){return{restrict:"A",scope:{shouldFocus:"="},link:function(e,t){n(function(){e.shouldFocus&&t[0].focus()})}}}]),angular.module("app").directive("clickOutside",["$document",function(i){return{restrict:"A",replace:!1,link:function(t,e,n){var r=!1;e.bind("click",function(e){r=!1,n.isOpen&&e.stopPropagation()}),i.bind("click",function(e){e.target.closest(".sk-modal")||r||(t.$apply(n.clickOutside),r=!0)})}}}]),angular.module("app").directive("delayHide",["$timeout",function(i){return{restrict:"A",scope:{show:"=",delay:"@"},link:function(t,n){function r(e){e?n.css({display:""}):n.css({display:"none"})}r(!1),t.$watch("show",function(e){e?function(){t.hidePromise&&(i.cancel(t.hidePromise),t.hidePromise=null);r(!0)}():function(){t.hidePromise=i(r.bind(this,!1),function(){var e=parseInt(t.delay);return angular.isNumber(e)?e:200}())}()})}}}]),angular.module("app").directive("elemReady",["$parse",function(r){return{restrict:"A",link:function(e,t,n){t.ready(function(){e.$apply(function(){r(n.elemReady)(e)})})}}}]),angular.module("app").directive("fileChange",function(){return{restrict:"A",scope:{handler:"&"},link:function(t,e){e.on("change",function(e){t.$apply(function(){t.handler({files:e.target.files})})})}}}),angular.module("app").directive("infiniteScroll",["$rootScope","$window","$timeout",function(e,t,n){return{link:function(e,t,n){var r=parseInt(n.threshold)||0,i=t[0];t.on("scroll",function(){e.$eval(n.canLoad)&&i.scrollTop+i.offsetHeight>=i.scrollHeight-r&&e.$apply(n.infiniteScroll)})}}}]),angular.module("app").directive("lowercase",function(){return{require:"ngModel",link:function(e,t,n,r){function i(e){null==e&&(e="");var t=e.toLowerCase();return t!==e&&(r.$setViewValue(t),r.$render()),t}r.$parsers.push(i),i(e[n.ngModel])}}}),angular.module("app").directive("selectOnClick",["$window",function(n){return{restrict:"A",link:function(e,t){t.on("focus",function(){n.getSelection().toString()||this.setSelectionRange(0,this.value.length)})}}}]),angular.module("app").directive("snEnter",function(){return function(t,e,n){e.bind("keydown keypress",function(e){13===e.which&&(t.$apply(function(){t.$eval(n.snEnter,{event:e})}),e.preventDefault())})}});var we=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/account-menu.html",this.scope={onSuccessfulAuth:"&",closeFunction:"&"}}return(0,f.default)(e,[{key:"controller",value:["$scope","$rootScope","authManager","modelManager","syncManager","storageManager","dbManager","passcodeManager","$timeout","$compile","archiveManager","privilegesManager","appVersion","alertManager",function(r,n,i,d,f,a,e,o,s,t,c,u,l,p){r.appVersion="v"+(window.electronAppVersion||l),r.formData={mergeLocal:!0,ephemeral:!1},r.user=i.user,f.getServerURL().then(function(e){s(function(){r.server=e,r.formData.url=e})}),i.checkForSecurityUpdate().then(function(e){r.securityUpdateAvailable=e}),r.close=function(){s(function(){r.closeFunction()()})},r.encryptedBackupsAvailable=function(){return i.user||o.hasPasscode()},r.canAddPasscode=!i.isEphemeralSession(),r.syncStatus=f.syncStatus,r.submitMfaForm=function(){var e={};e[r.formData.mfa.payload.mfa_key]=r.formData.userMfaCode,r.login(e)},r.submitAuthForm=function(){r.formData.email&&r.formData.user_password&&(r.formData.showLogin?r.login():r.register())},r.login=function(e){f.lockSyncing(),r.formData.status="Generating Login Keys...",r.formData.authenticating=!0,s(function(){i.login(r.formData.url,r.formData.email,r.formData.user_password,r.formData.ephemeral,r.formData.strictSignin,e).then(function(t){s(function(){if(!t||t.error){f.unlockSyncing(),r.formData.status=null;var e=t?t.error:{message:"An unknown error occured."};"mfa-required"==e.tag||"mfa-invalid"==e.tag?(r.formData.showLogin=!1,r.formData.mfa=e):(r.formData.showLogin=!0,r.formData.mfa=null,e.message&&p.alert({text:e.message})),r.formData.authenticating=!1}else r.onAuthSuccess(function(){f.unlockSyncing(),f.sync({performIntegrityCheck:!0})})})})})},r.register=function(){r.formData.password_conf===r.formData.user_password?(r.formData.confirmPassword=!1,r.formData.status="Generating Account Keys...",r.formData.authenticating=!0,s(function(){i.register(r.formData.url,r.formData.email,r.formData.user_password,r.formData.ephemeral).then(function(t){s(function(){if(!t||t.error){r.formData.status=null;var e=t?t.error:{message:"An unknown error occured."};r.formData.authenticating=!1,p.alert({text:e.message})}else r.onAuthSuccess(function(){f.sync()})})})})):p.alert({text:"The two passwords you entered do not match. Please try again."})},r.mergeLocalChanged=function(){r.formData.mergeLocal||p.confirm({text:"Unchecking this option means any of the notes you have written while you were signed out will be deleted. Are you sure you want to discard these notes?",destructive:!0,onCancel:function(){r.formData.mergeLocal=!0}})},r.onAuthSuccess=function(e){function t(){s(function(){r.formData.authenticating=!1,r.onSuccessfulAuth()(),f.refreshErroredItems(),e&&e()})}r.formData.mergeLocal?(n.$broadcast("major-data-change"),r.clearDatabaseAndRewriteAllItems(!0,t)):(d.removeAllItemsFromMemory(),a.clearAllModels().then(function(){t()}))},r.openPasswordWizard=function(e){r.close(),i.presentPasswordWizard(e)},r.openPrivilegesModal=(0,y.default)($.default.mark(function e(){var t;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r.close(),t=function(){s(function(){u.presentPrivilegesManagementModal()})},e.next=4,u.actionRequiresPrivilege(de.ActionManagePrivileges);case 4:if(!e.sent){e.next=8;break}u.presentPrivilegesModal(de.ActionManagePrivileges,function(){t()}),e.next=9;break;case 8:t();case 9:case"end":return e.stop()}},e)})),r.clearDatabaseAndRewriteAllItems=function(e,t){a.clearAllModels().then(function(){f.markAllItemsDirtyAndSaveOffline(e).then(function(){t&&t()})})},r.destroyLocalData=function(){p.confirm({text:"Are you sure you want to end your session? This will delete all local items and extensions.",destructive:!0,onConfirm:function(){i.signout(!0).then(function(){window.location.reload()})}})},r.archiveFormData={encrypted:!!r.encryptedBackupsAvailable()},r.user=i.user,r.submitImportPassword=function(){r.performImport(r.importData.data,r.importData.password)},r.performImport=function(e,t){r.importData.loading=!0,s(function(){r.importJSONData(e,t,function(t,n){s(function(){r.importData.loading=!1,r.importData=null,setTimeout(function(){if(t&&t.error)p.alert({text:"There was an error importing your data. Please try again."});else if(0<n){var e="Import complete. ".concat(n," items were not imported because there was an error decrypting them. Make sure the password is correct and try again.");p.alert({text:e})}else p.alert({text:"Your data has been successfully imported."})},10)})})})},r.importFileSelected=function(){var t=(0,y.default)($.default.mark(function e(n){var t;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){s(function(){r.importData={};var e=n[0],t=new FileReader;t.onload=function(e){try{var t=JSON.parse(e.target.result);s(function(){t.auth_params?(r.importData.requestPassword=!0,r.importData.data=t,s(function(){var e=document.getElementById("import-password-request");e&&e.scrollIntoView(!1)})):r.performImport(t,null)})}catch(e){p.alert({text:"Unable to open file. Ensure it is a proper JSON file and try again."})}},t.readAsText(e)})},e.next=3,u.actionRequiresPrivilege(de.ActionManageBackups);case 3:if(!e.sent){e.next=7;break}u.presentPrivilegesModal(de.ActionManageBackups,function(){t()}),e.next=8;break;case 7:t();case 8:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),r.importJSONData=function(u,e,l){var n=function(){var t=(0,y.default)($.default.mark(function e(t){var n,r,i,a,o,s,c;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.importItems(u.items);case 2:for(n=e.sent,i=!(r=!0),a=void 0,e.prev=6,o=n[Symbol.iterator]();!(r=(s=o.next()).done);r=!0)"SN|Component"==(c=s.value).content_type&&(c.active=!1);e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),i=!0,a=e.t0;case 14:e.prev=14,e.prev=15,r||null==o.return||o.return();case 17:if(e.prev=17,i)throw a;e.next=20;break;case 20:return e.finish(17);case 21:return e.finish(14);case 22:f.sync().then(function(e){l(e,t)});case 23:case"end":return e.stop()}},e,null,[[6,10,14,22],[15,,17,21]])}));return function(e){return t.apply(this,arguments)}}();u.auth_params?SFJS.crypto.computeEncryptionKeysForUser(e,u.auth_params).then(function(e){try{SFJS.itemTransformer.decryptMultipleItems(u.items,e,!1).then(function(){u.items.forEach(function(e){e.enc_item_key=null,e.auth_hash=null});var t=0;u.items=u.items.filter(function(e){return!e.errorDecrypting||(t++,!1)}),n(t)})}catch(e){return console.log("Error decrypting",e),p.alert({text:"There was an error decrypting your items. Make sure the password you entered is correct and try again."}),void l(null)}}):n()},r.downloadDataArchive=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:c.downloadBackup(r.archiveFormData.encrypted);case 1:case"end":return e.stop()}},e)})),r.notesAndTagsCount=function(){return d.allItemsMatchingTypes(["Note","Tag"]).length},r.encryptionStatusForNotes=function(){var e=r.notesAndTagsCount();return e+"/"+e+" notes and tags encrypted"},r.encryptionEnabled=function(){return o.hasPasscode()||!i.offline()},r.encryptionSource=function(){return i.offline()?o.hasPasscode()?"Local Passcode":null:"Account keys"},r.encryptionStatusString=function(){return i.offline()?o.hasPasscode()?"Encryption is enabled. Your data is encrypted using your passcode before saving to your device storage.":"Encryption is not enabled. Sign in, register, or add a passcode lock to enable encryption.":"End-to-end encryption is enabled. Your data is encrypted before syncing to your private account."},r.passcodeAutoLockOptions=o.getAutoLockIntervalOptions(),r.reloadAutoLockInterval=function(){o.getAutoLockInterval().then(function(e){s(function(){r.selectedAutoLockInterval=e})})},r.reloadAutoLockInterval(),r.selectAutoLockInterval=function(){var t=(0,y.default)($.default.mark(function e(t){var n;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(){var e=(0,y.default)($.default.mark(function e(){return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.setAutoLockInterval(t);case 2:s(function(){r.reloadAutoLockInterval()});case 3:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),e.next=3,u.actionRequiresPrivilege(de.ActionManagePasscode);case 3:if(!e.sent){e.next=7;break}u.presentPrivilegesModal(de.ActionManagePasscode,function(){n()}),e.next=8;break;case 7:n();case 8:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),r.hasPasscode=function(){return o.hasPasscode()},r.addPasscodeClicked=function(){r.formData.showPasscodeForm=!0},r.submitPasscodeForm=function(){var e=r.formData.passcode;e===r.formData.confirmPasscode?(r.formData.changingPasscode?o.changePasscode.bind(o):o.setPasscode.bind(o))(e,function(){s(function(){r.formData.passcode=null,r.formData.confirmPasscode=null,r.formData.showPasscodeForm=!1,i.offline()&&(n.$broadcast("major-data-change"),r.clearDatabaseAndRewriteAllItems(!1))})}):p.alert({text:"The two passcodes you entered do not match. Please try again."})},r.changePasscodePressed=(0,y.default)($.default.mark(function e(){var t;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){s(function(){r.formData.changingPasscode=!0,r.addPasscodeClicked()})},e.next=3,u.actionRequiresPrivilege(de.ActionManagePasscode);case 3:if(!e.sent){e.next=7;break}u.presentPrivilegesModal(de.ActionManagePasscode,function(){t()}),e.next=8;break;case 7:t();case 8:case"end":return e.stop()}},e)})),r.removePasscodePressed=(0,y.default)($.default.mark(function e(){var t;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){s(function(){var e="Are you sure you want to remove your local passcode?";i.offline()&&(e+=" This will remove encryption from your local data."),p.confirm({text:e,destructive:!0,onConfirm:function(){o.clearPasscode(),i.offline()&&f.markAllItemsDirtyAndSaveOffline()}})})},e.next=3,u.actionRequiresPrivilege(de.ActionManagePasscode);case 3:if(!e.sent){e.next=7;break}u.presentPrivilegesModal(de.ActionManagePasscode,function(){t()}),e.next=8;break;case 7:t();case 8:case"end":return e.stop()}},e)})),r.isDesktopApplication=function(){return G()}}]}]),e}();angular.module("app").directive("accountMenu",function(){return new we});var xe=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/actions-menu.html",this.scope={item:"="}}return(0,f.default)(e,[{key:"controller",value:["$scope","modelManager","actionsManager",function(i,e,a){i.extensions=a.extensions.sort(function(e,t){return e.name.toLowerCase()<t.name.toLowerCase()?-1:1});var t=!0,n=!1,r=void 0;try{for(var o,s=function(){var t=o.value;t.loading=!0,a.loadExtensionInContextOfItem(t,i.item,function(e){t.loading=!1})},c=i.extensions[Symbol.iterator]();!(t=(o=c.next()).done);t=!0)s()}catch(e){n=!0,r=e}finally{try{t||null==c.return||c.return()}finally{if(n)throw r}}i.executeAction=function(n,r,e){"nested"!=n.verb?(n.running=!0,a.executeAction(n,r,i.item,function(e,t){t||(n.running=!1,i.handleActionResponse(n,e),a.loadExtensionInContextOfItem(r,i.item,function(e){}))})):n.subrows?n.subrows=null:n.subrows=i.subRowsForAction(n,r)},i.handleActionResponse=function(e,t){switch(e.verb){case"render":var n=t.item;a.presentRevisionPreviewModal(n.uuid,n.content)}},i.subRowsForAction=function(t,n){var r=this;return t.subactions?t.subactions.map(function(e){return{onClick:function(){r.executeAction(e,n,t)},label:e.label,subtitle:e.desc,spinnerClass:e.running?"info":null}}):null}}]}]),e}();angular.module("app").directive("actionsMenu",function(){return new xe});var Se=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/component-modal.html",this.scope={show:"=",component:"=",callback:"=",onDismiss:"&"}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.el=t}},{key:"controller",value:["$scope","$timeout","componentManager",function(t){t.dismiss=function(e){t.el.remove(),t.$destroy(),t.onDismiss&&t.onDismiss()&&t.onDismiss()(t.component),e&&e()}}]}]),e}();angular.module("app").directive("componentModal",function(){return new Se});var $e=function(){function a(e,t,n,r,i){(0,v.default)(this,a),this.restrict="E",this.templateUrl="directives/component-view.html",this.scope={component:"=",onLoad:"=?",manualDealloc:"=?"},this.desktopManager=n}return(0,f.default)(a,[{key:"link",value:function(t,e,n,r){t.el=e,t.componentValid=!0,t.updateObserver=this.desktopManager.registerUpdateObserver(function(e){e==t.component&&e.active&&t.reloadComponent()}),t.$watch("component",function(e,t){r.componentValueChanging(e,t)})}},{key:"controller",value:["$scope","$rootScope","$timeout","componentManager","desktopManager","themeManager",function(a,o,s,c,e,t){a.onVisibilityChange=function(){"hidden"!=document.visibilityState&&a.issueLoading&&a.reloadComponent()},a.themeHandlerIdentifier="component-view-"+Math.random(),c.registerHandler({identifier:a.themeHandlerIdentifier,areas:["themes"],activationHandler:function(){a.reloadThemeStatus()}}),a.identifier="component-view-"+Math.random(),c.registerHandler({identifier:a.identifier,areas:[a.component.area],activationHandler:function(e){e===a.component&&s(function(){a.handleActivation()})},actionHandler:function(e,t,n){"set-size"==t&&c.handleSetSizeEvent(e,n)}}),a.handleActivation=function(){var n=a.component;if(n.active){var r=c.iframeForComponent(n);r&&(a.loading=!0,a.loadTimeout&&s.cancel(a.loadTimeout),a.loadTimeout=s(function(){a.loading&&(a.loading=!1,a.issueLoading=!0,a.didAttemptReload?document.addEventListener("visibilitychange",a.onVisibilityChange):(a.didAttemptReload=!0,a.reloadComponent()))},3500),r.onload=function(e){var t=!1;try{!G()||null!=r.contentWindow.origin&&"null"!=r.contentWindow.origin||(t=!0)}catch(e){}s.cancel(a.loadTimeout),c.registerComponentWindow(n,r.contentWindow).then(function(){s(function(){a.loading=!1,a.issueLoading=t,a.onLoad&&a.onLoad(a.component)},7)})})}},this.componentValueChanging=function(e,t){t&&e!==t&&c.deactivateComponent(t,!0),e&&(c.activateComponent(e,!0),a.reloadStatus())},a.$on("ext-reload-complete",function(){a.reloadStatus(!1)}),a.reloadComponent=function(){a.componentValid=!1,c.reloadComponent(a.component).then(function(){a.reloadStatus()})},a.reloadStatus=function(){var e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],t=a.component;a.reloading=!0;var n=a.componentValid,r=t.offlineOnly&&!G(),i=!G()&&!t.hasValidHostedUrl()||G()&&!t.local_url&&!t.hasValidHostedUrl();a.expired=t.valid_until&&t.valid_until<=new Date,t.lockReadonly||(t.readonly=a.expired),a.componentValid=!r&&!i,a.componentValid||(a.loading=!1),a.error=r?"offline-restricted":i?"url-missing":null,a.componentValid!==n&&a.componentValid&&c.reloadComponent(t,!0),a.expired&&e&&o.$broadcast("reload-ext-data"),a.reloadThemeStatus(),s(function(){a.reloading=!1},500)},a.reloadThemeStatus=function(){a.component.acceptsThemes()||(t.hasActiveTheme()?a.dismissedNoThemesMessage||(a.showNoThemesMessage=!0):a.showNoThemesMessage=!1)},a.noThemesMessageDismiss=function(){a.showNoThemesMessage=!1,a.dismissedNoThemesMessage=!0},a.disableActiveTheme=function(){t.deactivateAllThemes(),a.noThemesMessageDismiss()},a.getUrl=function(){var e=c.urlForComponent(a.component);return a.component.runningLocally=e==a.component.local_url,e},a.destroy=function(){c.deregisterHandler(a.themeHandlerIdentifier),c.deregisterHandler(a.identifier),a.component&&!a.manualDealloc&&c.deactivateComponent(a.component,!0),e.deregisterUpdateObserver(a.updateObserver),document.removeEventListener("visibilitychange",a.onVisibilityChange)},a.$on("$destroy",function(){a.destroy()})}]}]),a}();angular.module("app").directive("componentView",["$rootScope","componentManager","desktopManager","$timeout",function(e,t,n,r){return new $e(e,t,n,r)}]);var _e=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/conflict-resolution-modal.html",this.scope={item1:"=",item2:"=",callback:"="}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.dismiss=function(){t.remove()}}},{key:"controller",value:["$scope","modelManager","syncManager","archiveManager","alertManager",function(e,t,n,r,i){e.createContentString=function(e){return JSON.stringify(Object.assign({created_at:e.created_at,updated_at:e.updated_at},e.content),null,2)},e.contentType=e.item1.content_type,e.item1Content=e.createContentString(e.item1),e.item2Content=e.createContentString(e.item2),e.keepItem1=function(){i.confirm({text:"Are you sure you want to delete the item on the right?",destructive:!0,onConfirm:function(){t.setItemToBeDeleted(e.item2),n.sync().then(function(){e.applyCallback()}),e.dismiss()}})},e.keepItem2=function(){i.confirm({text:"Are you sure you want to delete the item on the left?",destructive:!0,onConfirm:function(){t.setItemToBeDeleted(e.item1),n.sync().then(function(){e.applyCallback()}),e.dismiss()}})},e.keepBoth=function(){e.applyCallback(),e.dismiss()},e.export=function(){r.downloadBackupOfItems([e.item1,e.item2],!0)},e.applyCallback=function(){e.callback&&e.callback()}}]}]),e}();angular.module("app").directive("conflictResolutionModal",function(){return new _e});var Me=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/editor-menu.html",this.scope={callback:"&",selectedEditor:"=",currentItem:"="}}return(0,f.default)(e,[{key:"controller",value:["$scope","componentManager","syncManager","modelManager","$timeout",function(n,r,i,a,t){n.formData={},n.editors=r.componentsForArea("editor-editor").sort(function(e,t){return e.name.toLowerCase()<t.name.toLowerCase()?-1:1}),n.isDesktop=G(),n.defaultEditor=n.editors.filter(function(e){return e.isDefaultEditor()})[0],n.selectComponent=function(e){e&&e.content.conflict_of&&(e.content.conflict_of=null,a.setItemDirty(e,!0),i.sync()),t(function(){n.callback()(e)})},n.toggleDefaultForEditor=function(e){n.defaultEditor==e?n.removeEditorDefault(e):n.makeEditorDefault(e)},n.offlineAvailableForComponent=function(e){return e.local_url&&G()},n.makeEditorDefault=function(e){var t=r.componentsForArea("editor-editor").filter(function(e){return e.isDefaultEditor()})[0];t&&(t.setAppDataItem("defaultEditor",!1),a.setItemDirty(t,!0)),e.setAppDataItem("defaultEditor",!0),a.setItemDirty(e,!0),i.sync(),n.defaultEditor=e},n.removeEditorDefault=function(e){e.setAppDataItem("defaultEditor",!1),a.setItemDirty(e,!0),i.sync(),n.defaultEditor=null},n.shouldDisplayRunningLocallyLabel=function(e){return!!e.runningLocally&&e==n.selectedEditor}}]}]),e}();angular.module("app").directive("editorMenu",function(){return new Me});var Ie=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/input-modal.html",this.scope={type:"=",title:"=",message:"=",placeholder:"=",callback:"&"}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.el=t}},{key:"controller",value:["$scope","modelManager","archiveManager","authManager","syncManager","$timeout",function(e){e.formData={},e.dismiss=function(){e.el.remove(),e.$destroy()},e.submit=function(){e.callback()(e.formData.input),e.dismiss()}}]}]),e}();angular.module("app").directive("inputModal",function(){return new Ie});var Ce=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.transclude=!0,this.templateUrl="directives/menu-row.html",this.scope={action:"&",circle:"=",circleAlign:"=",label:"=",subtitle:"=",hasButton:"=",buttonText:"=",buttonClass:"=",buttonAction:"&",spinnerClass:"=",subRows:"=",faded:"=",desc:"=",disabled:"=",stylekitClass:"="}}return(0,f.default)(e,[{key:"controller",value:["$scope","componentManager",function(t){t.onClick=function(e){t.disabled||(e.stopPropagation(),t.action())},t.clickButton=function(e){t.disabled||(e.stopPropagation(),t.buttonAction())}}]}]),e}();angular.module("app").directive("menuRow",function(){return new Ce});var Ae=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/panel-resizer.html",this.scope={index:"=",panelId:"=",onResize:"&",defaultWidth:"=",onResizeFinish:"&",control:"=",alwaysVisible:"=",minWidth:"=",property:"=",hoverable:"=",collapsable:"="}}return(0,f.default)(e,[{key:"link",value:function(t,e){t.elem=e,t.control.setWidth=function(e){t.setWidth(e,!0)},t.control.setLeft=function(e){t.setLeft(e)},t.control.flash=function(){t.flash()},t.control.isCollapsed=function(){return t.isCollapsed()}}},{key:"controller",value:["$scope","$element","modelManager","actionsManager","$timeout","$compile",function(o,e,t,n,r,i){var s=document.getElementById(o.panelId);s||console.log("Panel not found for",o.panelId);var a,c=e[0],u=c.offsetWidth,l=o.minWidth||u,d=!1,f=s.scrollWidth,p=0,h=f,m=s.offsetLeft,v=m;o.isAtMaxWidth=function(){return Math.round(h+v)==Math.round(y().width)},o.isCollapsed=function(){return h<=l};var g=0;function y(){return s.parentNode.getBoundingClientRect()}if(c.ondblclick=function(){r(function(){var e=o.isCollapsed();e?o.setWidth(g||o.defaultWidth):(g=h,o.setWidth(l)),o.finishSettingWidth();var t=!e;o.onResizeFinish()(h,v,o.isAtMaxWidth(),t)})},"right"==o.property){var k=function(r,i,a){var o;return function(){var e=this,t=arguments,n=a&&!o;clearTimeout(o),o=setTimeout(function(){o=null,a||r.apply(e,t)},i),n&&r.apply(e,t)}}(function(e){b(),w(),r(function(){o.finishSettingWidth()})},250);window.addEventListener("resize",k),o.$on("$destroy",function(){window.removeEventListener("resize",k)})}function b(){f=o.isAtMaxWidth()?y().width:s.scrollWidth,h=f,a=document.getElementById("app").getBoundingClientRect()}function w(e){var t;e?t=e.clientX:p=t=0;var n=f+(t-p);o.setWidth(n,!1),o.onResize()&&o.onResize()(h,s)}b(),o.alwaysVisible&&c.classList.add("always-visible"),o.hoverable&&c.classList.add("hoverable"),o.setWidth=function(e,t){e<l&&(e=l);var n=y();e>n.width&&(e=n.width);var r=a.width-s.getBoundingClientRect().x;r<e&&(e=r),Math.round(e+v)==Math.round(n.width)?(s.style.width="calc(100% - ".concat(v,"px)"),s.style.flexBasis="calc(100% - ".concat(v,"px)")):(s.style.flexBasis=e+"px",s.style.width=e+"px"),h=e,t&&o.finishSettingWidth()},o.setLeft=function(e){s.style.left=e+"px",v=e},o.finishSettingWidth=function(){o.collapsable&&(o.isCollapsed()?c.classList.add("collapsed"):c.classList.remove("collapsed"))},o.addInvisibleOverlay=function(){o.overlay||(o.overlay=i("<div id='resizer-overlay'></div>")(o),angular.element(document.body).prepend(o.overlay))},o.removeInvisibleOverlay=function(){o.overlay&&(o.overlay.remove(),o.overlay=null)},o.flash=function(){c.classList.add("animate-opacity"),r(function(){c.classList.remove("animate-opacity")},3e3)},c.addEventListener("mousedown",function(e){o.addInvisibleOverlay(),d=!0,p=e.clientX,f=s.scrollWidth,m=s.offsetLeft,s.classList.add("no-selection"),o.hoverable&&c.classList.add("dragging")}),document.addEventListener("mousemove",function(e){d&&(e.preventDefault(),o.property&&"left"==o.property?function(e){var t=s.getBoundingClientRect(),n=(e.clientX||t.x)-p,r=m+n;r<0&&(r=0,n=-m);var i=y(),a=f-n;a<l&&(a=l);a>i.width&&(a=i.width);r+a>i.width&&(r=i.width-a);o.setLeft(r,!1),o.setWidth(a,!1)}(e):w(e))}),document.addEventListener("mouseup",function(e){if(o.removeInvisibleOverlay(),d){d=!1,c.classList.remove("dragging"),s.classList.remove("no-selection");var t=o.isAtMaxWidth();o.onResizeFinish&&o.onResizeFinish()(h,v,t,o.isCollapsed()),o.finishSettingWidth()}})}]}]),e}();angular.module("app").directive("panelResizer",function(){return new Ae});var Re=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/password-wizard.html",this.scope={type:"="}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.el=t}},{key:"controller",value:["$scope","modelManager","archiveManager","authManager","syncManager","$timeout","alertManager",function(s,e,t,c,u,l,d){window.onbeforeunload=function(e){return!0},s.$on("$destroy",function(){window.onbeforeunload=null}),s.dismiss=function(){s.lockContinue?d.alert({text:"Cannot close window until pending tasks are complete."}):(s.el.remove(),s.$destroy())},s.syncStatus=u.syncStatus,s.formData={};s.continueTitle="Continue",s.step=0,s.titleForStep=function(e){switch(e){case 1:return"Download a backup of your data";case 2:return"Sign out of all your devices";case 3:return s.changePassword?"Password information":"Enter your current password";case 4:return"Encrypt and sync data with new keys";case 5:return"Sign back in to your devices";default:return null}},s.configure=void("change-pw"==s.type?(s.title="Change Password",s.changePassword=!0):"upgrade-security"==s.type&&(s.title="Security Update",s.securityUpdate=!0)),s.continue=function(){if(!s.lockContinue&&!s.isContinuing)if(s.isContinuing=!0,5!=s.step){var e=function(){s.step+=1,s.initializeStep(s.step),s.isContinuing=!1},t=s.preprocessorForStep(s.step);t?t(function(){e()},function(){s.isContinuing=!1}):e()}else s.dismiss()},s.downloadBackup=function(e){t.downloadBackup(e)},s.preprocessorForStep=function(e){if(3==e)return function(t,n){s.showSpinner=!0,s.continueTitle="Generating Keys...",l(function(){s.validateCurrentPassword(function(e){s.showSpinner=!1,s.continueTitle="Continue",e?t():n&&n()})})}};var n="There was an error re-encrypting your items. Your password was changed, but not all your items were properly re-encrypted and synced. You should try syncing again. If all else fails, you should restore your notes from backup.";s.initializeStep=function(e){4==e?(s.lockContinue=!0,s.formData.status="Processing encryption keys...",s.formData.processing=!0,s.processPasswordChange(function(e){s.formData.statusError=!e,(s.formData.processing=e)?(s.formData.status="Encrypting and syncing data with new keys...",s.resyncData(function(e){s.formData.statusError=!e,s.formData.processing=!e,e?(s.lockContinue=!1,s.changePassword?s.formData.status="Successfully changed password and synced all items.":s.securityUpdate&&(s.formData.status="Successfully performed security update and synced all items.")):s.formData.status=n})):s.formData.status="Unable to process your password. Please try again."})):5==e&&(s.continueTitle="Finish")},s.validateCurrentPassword=function(){var t=(0,y.default)($.default.mark(function e(r){var t,n,i,a,o=this;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=s.formData.currentPassword,n=s.securityUpdate?t:s.formData.newPassword,t&&0!=t.length){e.next=6;break}return d.alert({text:"Please enter your current password."}),r(!1),e.abrupt("return");case 6:if(!s.changePassword){e.next=16;break}if(n&&0!=n.length){e.next=11;break}return d.alert({text:"Please enter a new password."}),r(!1),e.abrupt("return");case 11:if(n!=s.formData.newPasswordConfirmation)return d.alert({text:"Your new password does not match its confirmation."}),s.formData.status=null,r(!1),e.abrupt("return");e.next=16;break;case 16:if(c.user.email){e.next=21;break}return d.alert({text:"We don't have your email stored. Please log out then log back in to fix this issue."}),s.formData.status=null,r(!1),e.abrupt("return");case 21:return e.next=23,c.getAuthParams();case 23:i=e.sent,a=s.formData.currentPassword,SFJS.crypto.computeEncryptionKeysForUser(a,i).then(function(){var t=(0,y.default)($.default.mark(function e(t){var n;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=t.mk,e.next=3,c.keys();case 3:e.t1=e.sent.mk,(n=e.t0===e.t1)?o.currentServerPw=t.pw:d.alert({text:"The current password you entered is not correct. Please try again."}),l(function(){return r(n)});case 7:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}());case 26:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),s.resyncData=function(t){e.setAllItemsDirty(),u.sync().then(function(e){!e||e.error?(d.alert({text:n}),l(function(){return t(!1)})):l(function(){return t(!0)})})},s.processPasswordChange=function(){var t=(0,y.default)($.default.mark(function e(t){var n,r,i,a,o;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=s.securityUpdate?s.formData.currentPassword:s.formData.newPassword,r=this.currentServerPw,e.next=4,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(c.user.email,n);case 4:return i=e.sent,a=i.keys,o=i.authParams,e.next=9,u.sync();case 9:return e.sent,e.t0=c,e.next=13,u.getServerURL();case 13:e.t1=e.sent,e.t2=c.user.email,e.t3=r,e.t4=a,e.t5=o,e.t6=function(e){e.error?(d.alert({text:e.error.message?e.error.message:"There was an error changing your password. Please try again."}),l(function(){return t(!1)})):l(function(){return t(!0)})},e.t0.changePassword.call(e.t0,e.t1,e.t2,e.t3,e.t4,e.t5).then(e.t6);case 20:case"end":return e.stop()}},e,this)}));return function(e){return t.apply(this,arguments)}}()}]}]),e}();angular.module("app").directive("passwordWizard",function(){return new Re});var De=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/permissions-modal.html",this.scope={show:"=",component:"=",permissionsString:"=",callback:"="}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.dismiss=function(){t.remove()},e.accept=function(){e.callback(!0),e.dismiss()},e.deny=function(){e.callback(!1),e.dismiss()}}},{key:"controller",value:["$scope","modelManager",function(){}]}]),e}();angular.module("app").directive("permissionsModal",function(){return new De});var Ee=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/privileges-auth-modal.html",this.scope={action:"=",onSuccess:"=",onCancel:"="}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.dismiss=function(){t.remove()}}},{key:"controller",value:["$scope","privilegesManager","passcodeManager","authManager","$timeout",function(c,t,e,n,r){c.authenticationParameters={},c.sessionLengthOptions=t.getSessionLengthOptions(),t.getSelectedSessionLength().then(function(e){r(function(){c.selectedSessionLength=e})}),c.selectSessionLength=function(e){c.selectedSessionLength=e},t.netCredentialsForAction(c.action).then(function(e){r(function(){c.requiredCredentials=e.sort()})}),c.promptForCredential=function(e){return t.displayInfoForCredential(e).prompt},c.cancel=function(){c.dismiss(),c.onCancel&&c.onCancel()},c.isCredentialInFailureState=function(t){return!!c.failedCredentials&&null!=c.failedCredentials.find(function(e){return e==t})},c.validate=function(){var e=[],t=!0,n=!1,r=void 0;try{for(var i,a=c.requiredCredentials[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=c.authenticationParameters[o];s&&0!=s.length||e.push(o)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}return 0==(c.failedCredentials=e).length},c.submit=function(){c.validate()&&t.authenticateAction(c.action,c.authenticationParameters).then(function(e){r(function(){e.success?(t.setSessionLength(c.selectedSessionLength),c.onSuccess(),c.dismiss()):c.failedCredentials=e.failedCredentials})})}}]}]),e}();angular.module("app").directive("privilegesAuthModal",function(){return new Ee});var Oe=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/privileges-management-modal.html",this.scope={}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.dismiss=function(){t.remove()}}},{key:"controller",value:["$scope","privilegesManager","passcodeManager","authManager","$timeout",function(c,u,e,t,l){c.dummy={},c.hasPasscode=e.hasPasscode(),c.hasAccount=!t.offline(),c.displayInfoForCredential=function(e){var t=u.displayInfoForCredential(e);return e==de.CredentialLocalPasscode?t.availability=c.hasPasscode:e==de.CredentialAccountPassword?t.availability=c.hasAccount:t.availability=!0,t},c.displayInfoForAction=function(e){return u.displayInfoForAction(e).label},c.isCredentialRequiredForAction=function(e,t){return!!c.privileges&&c.privileges.isCredentialRequiredForAction(e,t)},c.clearSession=function(){u.clearSession().then(function(){c.reloadPrivileges()})},c.reloadPrivileges=(0,y.default)($.default.mark(function e(){var t,n,r,i,a,o,s;return $.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return c.availableActions=u.getAvailableActions(),c.availableCredentials=u.getAvailableCredentials(),e.next=4,u.getSessionExpirey();case 4:for(t=e.sent,c.sessionExpirey=t.toLocaleString(),c.sessionExpired=new Date>=t,c.credentialDisplayInfo={},r=!(n=!0),i=void 0,e.prev=11,a=c.availableCredentials[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)s=o.value,c.credentialDisplayInfo[s]=c.displayInfoForCredential(s);e.next=19;break;case 15:e.prev=15,e.t0=e.catch(11),r=!0,i=e.t0;case 19:e.prev=19,e.prev=20,n||null==a.return||a.return();case 22:if(e.prev=22,r)throw i;e.next=25;break;case 25:return e.finish(22);case 26:return e.finish(19);case 27:u.getPrivileges().then(function(e){l(function(){c.privileges=e})});case 28:case"end":return e.stop()}},e,null,[[11,15,19,27],[20,,22,26]])})),c.checkboxValueChanged=function(e,t){c.privileges.toggleCredentialForAction(e,t),u.savePrivileges()},c.reloadPrivileges(),c.cancel=function(){c.dismiss(),c.onCancel&&c.onCancel()}}]}]),e}();angular.module("app").directive("privilegesManagementModal",function(){return new Oe});var Pe=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/revision-preview-modal.html",this.scope={uuid:"=",content:"="}}return(0,f.default)(e,[{key:"link",value:function(e,t){e.el=t}},{key:"controller",value:["$scope","modelManager","syncManager","componentManager","$timeout","alertManager",function(i,a,o,e,t,n){i.dismiss=function(){i.el.remove(),i.$destroy()},i.$on("$destroy",function(){i.identifier&&e.deregisterHandler(i.identifier)}),i.note=new SFItem({content:i.content,content_type:"Note"}),i.note.uuid=i.uuid;var r=e.editorForNote(i.note);if(i.note.uuid=SFJS.crypto.generateUUIDSync(),r){var s=new I({content:r.content});s.readonly=!0,s.lockReadonly=!0,i.identifier=s.uuid,e.registerHandler({identifier:i.identifier,areas:["editor-editor"],contextRequestHandler:function(e){if(e==i.editor)return i.note},componentForSessionKeyHandler:function(e){if(e==i.editor.sessionKey)return i.editor}}),i.editor=s}i.restore=function(r){function e(){var e;if(r){var t=Object.assign({},i.content);t.title&&(t.title+=" (copy)"),e=a.createItem({content_type:"Note",content:t}),a.addItem(e)}else{var n=i.uuid;(e=a.findItem(n)).content=Object.assign({},i.content),a.mapResponseItemsToLocalModels([e],SFModelManager.MappingSourceRemoteActionRetrieved)}a.setItemDirty(e,!0),o.sync(),i.dismiss()}r?e():n.confirm({text:"Are you sure you want to replace the current note's contents with what you see in this preview?",destructive:!0,onConfirm:function(){e()}})}}]}]),e}();angular.module("app").directive("revisionPreviewModal",function(){return new Pe});var Te=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/session-history-menu.html",this.scope={item:"="}}return(0,f.default)(e,[{key:"controller",value:["$scope","modelManager","sessionHistory","actionsManager","$timeout","alertManager",function(t,e,n,r,i,a){t.diskEnabled=n.diskEnabled,t.autoOptimize=n.autoOptimize,t.reloadHistory=function(){var e=n.historyForItem(t.item);t.entries=e.entries.slice(0).sort(function(e,t){return e.item.updated_at<t.item.updated_at?1:-1}),t.history=e},t.reloadHistory(),t.openRevision=function(e){r.presentRevisionPreviewModal(e.item.uuid,e.item.content)},t.classForRevision=function(e){var t=e.operationVector();return 0==t?"default":1==t?"success":-1==t?"danger":void 0},t.clearItemHistory=function(){a.confirm({text:"Are you sure you want to delete the local session history for this note?",destructive:!0,onConfirm:function(){n.clearHistoryForItem(t.item).then(function(){i(function(){t.reloadHistory()})})}})},t.clearAllHistory=function(){a.confirm({text:"Are you sure you want to delete the local session history for all notes?",destructive:!0,onConfirm:function(){n.clearAllHistory().then(function(){i(function(){t.reloadHistory()})})}})},t.toggleDiskSaving=function(){function e(){n.toggleDiskSaving().then(function(){i(function(){t.diskEnabled=n.diskEnabled})})}n.diskEnabled?e():a.confirm({text:"Are you sure you want to save history to disk? This will decrease general performance, especially as you type. You are advised to disable this feature if you experience any lagging.",destructive:!0,onConfirm:function(){e()}})},t.toggleAutoOptimize=function(){n.toggleAutoOptimize().then(function(){i(function(){t.autoOptimize=n.autoOptimize})})}}]}]),e}();angular.module("app").directive("sessionHistoryMenu",function(){return new Te});var Fe=function(){function e(){(0,v.default)(this,e),this.restrict="E",this.templateUrl="directives/sync-resolution-menu.html",this.scope={closeFunction:"&"}}return(0,f.default)(e,[{key:"controller",value:["$scope","modelManager","syncManager","archiveManager","$timeout",function(t,e,n,r,i){t.status={},t.close=function(){i(function(){t.closeFunction()()})},t.downloadBackup=function(e){r.downloadBackup(e),t.status.backupFinished=!0},t.skipBackup=function(){t.status.backupFinished=!0},t.performSyncResolution=function(){t.status.resolving=!0,n.resolveOutOfSync().then(function(){t.status.resolving=!1,t.status.attemptedResolution=!0,n.isOutOfSync()?t.status.fail=!0:t.status.success=!0})}}]}]),e}();angular.module("app").directive("syncResolutionMenu",function(){return new Fe})},{"@babel/runtime/helpers/asyncToGenerator":3,"@babel/runtime/helpers/classCallCheck":4,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/get":6,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":10,"@babel/runtime/helpers/typeof":13,"@babel/runtime/regenerator":15,"standard-file-js":16}],2:[function(e,t,n){t.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},{}],3:[function(e,t,n){function c(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}t.exports=function(s){return function(){var e=this,o=arguments;return new Promise(function(t,n){var r=s.apply(e,o);function i(e){c(r,t,n,i,a,"next",e)}function a(e){c(r,t,n,i,a,"throw",e)}i(void 0)})}}},{}],4:[function(e,t,n){t.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},{}],5:[function(e,t,n){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}t.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},{}],6:[function(e,r,t){var a=e("./superPropBase");function i(e,t,n){return"undefined"!=typeof Reflect&&Reflect.get?r.exports=i=Reflect.get:r.exports=i=function(e,t,n){var r=a(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}},i(e,t,n||e)}r.exports=i},{"./superPropBase":12}],7:[function(e,t,n){function r(e){return t.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}t.exports=r},{}],8:[function(e,t,n){var r=e("./setPrototypeOf");t.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},{"./setPrototypeOf":11}],9:[function(e,t,n){t.exports=function(e){return e&&e.__esModule?e:{default:e}}},{}],10:[function(e,t,n){var r=e("../helpers/typeof"),i=e("./assertThisInitialized");t.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?i(e):t}},{"../helpers/typeof":13,"./assertThisInitialized":2}],11:[function(e,n,t){function r(e,t){return n.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(e,t)}n.exports=r},{}],12:[function(e,t,n){var r=e("./getPrototypeOf");t.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e}},{"./getPrototypeOf":7}],13:[function(e,t,n){function r(e){return(r="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 i(e){return"function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?t.exports=i=function(e){return r(e)}:t.exports=i=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)},i(e)}t.exports=i},{}],14:[function(e,t,n){var r=function(a){"use strict";var c,e=Object.prototype,u=e.hasOwnProperty,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",n=t.asyncIterator||"@@asyncIterator",r=t.toStringTag||"@@toStringTag";function o(e,t,n,r){var i=t&&t.prototype instanceof s?t:s,a=Object.create(i.prototype),o=new I(r||[]);return a._invoke=function(a,o,s){var c=d;return function(e,t){if(c===p)throw new Error("Generator is already running");if(c===h){if("throw"===e)throw t;return A()}for(s.method=e,s.arg=t;;){var n=s.delegate;if(n){var r=$(n,s);if(r){if(r===m)continue;return r}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(c===d)throw c=h,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);c=p;var i=l(a,o,s);if("normal"===i.type){if(c=s.done?h:f,i.arg===m)continue;return{value:i.arg,done:s.done}}"throw"===i.type&&(c=h,s.method="throw",s.arg=i.arg)}}}(e,n,o),a}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}a.wrap=o;var d="suspendedStart",f="suspendedYield",p="executing",h="completed",m={};function s(){}function v(){}function g(){}var y={};y[i]=function(){return this};var k=Object.getPrototypeOf,b=k&&k(k(C([])));b&&b!==e&&u.call(b,i)&&(y=b);var w=g.prototype=s.prototype=Object.create(y);function x(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function S(c){var t;this._invoke=function(n,r){function e(){return new Promise(function(e,t){!function t(e,n,r,i){var a=l(c[e],c,n);if("throw"!==a.type){var o=a.arg,s=o.value;return s&&"object"==typeof s&&u.call(s,"__await")?Promise.resolve(s.__await).then(function(e){t("next",e,r,i)},function(e){t("throw",e,r,i)}):Promise.resolve(s).then(function(e){o.value=e,r(o)},function(e){return t("throw",e,r,i)})}i(a.arg)}(n,r,e,t)})}return t=t?t.then(e,e):e()}}function $(e,t){var n=e.iterator[t.method];if(n===c){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=c,$(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 r=l(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,m;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=c),t.delegate=null,m):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function _(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 I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function C(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(u.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=c,e.done=!0,e};return r.next=r}}return{next:A}}function A(){return{value:c,done:!0}}return v.prototype=w.constructor=g,g.constructor=v,g[r]=v.displayName="GeneratorFunction",a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,r in e||(e[r]="GeneratorFunction")),e.prototype=Object.create(w),e},a.awrap=function(e){return{__await:e}},x(S.prototype),S.prototype[n]=function(){return this},a.AsyncIterator=S,a.async=function(e,t,n,r){var i=new S(o(e,t,n,r));return a.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},x(w),w[r]="Generator",w[i]=function(){return this},w.toString=function(){return"[object Generator]"},a.keys=function(n){var r=[];for(var e in n)r.push(e);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in n)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=C,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=c,this.done=!1,this.delegate=null,this.method="next",this.arg=c,this.tryEntries.forEach(M),!e)for(var t in this)"t"===t.charAt(0)&&u.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=c)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function e(e,t){return a.type="throw",a.arg=n,r.next=e,t&&(r.method="next",r.arg=c),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var i=this.tryEntries[t],a=i.completion;if("root"===i.tryLoc)return e("end");if(i.tryLoc<=this.prev){var o=u.call(i,"catchLoc"),s=u.call(i,"finallyLoc");if(o&&s){if(this.prev<i.catchLoc)return e(i.catchLoc,!0);if(this.prev<i.finallyLoc)return e(i.finallyLoc)}else if(o){if(this.prev<i.catchLoc)return e(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return e(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&u.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),M(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;M(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=c),m}},a}("object"==typeof t?t.exports:{});try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},{}],15:[function(e,t,n){t.exports=e("regenerator-runtime")},{"regenerator-runtime":14}],16:[function(d,t,r){(function(n){!function(e){if("object"==typeof r&&void 0!==t)t.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:this).SF=e()}}(function(){return function a(o,s,c){function u(t,e){if(!s[t]){if(!o[t]){var n="function"==typeof d&&d;if(!e&&n)return n(t,!0);if(l)return l(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var i=s[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,a,o,s,c)}return s[t].exports}for(var l="function"==typeof d&&d,e=0;e<c.length;e++)u(c[e]);return u}({1:[function(e,t,we){(function(e){var t,c,n,r,i,u,a,C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);c=(t=C).lib.WordArray,t.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp(),e=[];for(var i=0;i<n;i+=3)for(var a=(t[i>>>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;o<4&&i+.75*o<n;o++)e.push(r.charAt(a>>>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,n=this._map;!(r=n.charAt(64))||-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,a=0;a<t;a++)if(a%4){var o=n.indexOf(e.charAt(a-1))<<a%4*2,s=n.indexOf(e.charAt(a))>>>6-a%4*2;r[i>>>2]|=(o|s)<<24-i%4*8,i++}return c.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(a){function S(e,t,n,r,i,a,o){return((e=e+(t&n|~t&r)+i+o)<<a|e>>>32-a)+t}function $(e,t,n,r,i,a,o){return((e=e+(t&r|n&~r)+i+o)<<a|e>>>32-a)+t}function _(e,t,n,r,i,a,o){return((e=e+(t^n^r)+i+o)<<a|e>>>32-a)+t}function M(e,t,n,r,i,a,o){return((e=e+(n^(t|~r))+i+o)<<a|e>>>32-a)+t}for(var e=C,t=(r=e.lib).WordArray,n=r.Hasher,r=e.algo,I=[],i=0;i<64;i++)I[i]=4294967296*a.abs(a.sin(i+1))|0;r=r.MD5=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=e[o=t+n];e[o]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}n=this._hash.words;var i,a,o=e[t+0],s=(r=e[t+1],e[t+2]),c=e[t+3],u=e[t+4],l=e[t+5],d=e[t+6],f=e[t+7],p=e[t+8],h=e[t+9],m=e[t+10],v=e[t+11],g=e[t+12],y=e[t+13],k=e[t+14],b=e[t+15],w=n[0],x=M(x=M(x=M(x=M(x=_(x=_(x=_(x=_(x=$(x=$(x=$(x=$(x=S(x=S(x=S(x=S(x=n[1],a=S(a=n[2],i=S(i=n[3],w=S(w,x,a,i,o,7,I[0]),x,a,r,12,I[1]),w,x,s,17,I[2]),i,w,c,22,I[3]),a=S(a,i=S(i,w=S(w,x,a,i,u,7,I[4]),x,a,l,12,I[5]),w,x,d,17,I[6]),i,w,f,22,I[7]),a=S(a,i=S(i,w=S(w,x,a,i,p,7,I[8]),x,a,h,12,I[9]),w,x,m,17,I[10]),i,w,v,22,I[11]),a=S(a,i=S(i,w=S(w,x,a,i,g,7,I[12]),x,a,y,12,I[13]),w,x,k,17,I[14]),i,w,b,22,I[15]),a=$(a,i=$(i,w=$(w,x,a,i,r,5,I[16]),x,a,d,9,I[17]),w,x,v,14,I[18]),i,w,o,20,I[19]),a=$(a,i=$(i,w=$(w,x,a,i,l,5,I[20]),x,a,m,9,I[21]),w,x,b,14,I[22]),i,w,u,20,I[23]),a=$(a,i=$(i,w=$(w,x,a,i,h,5,I[24]),x,a,k,9,I[25]),w,x,c,14,I[26]),i,w,p,20,I[27]),a=$(a,i=$(i,w=$(w,x,a,i,y,5,I[28]),x,a,s,9,I[29]),w,x,f,14,I[30]),i,w,g,20,I[31]),a=_(a,i=_(i,w=_(w,x,a,i,l,4,I[32]),x,a,p,11,I[33]),w,x,v,16,I[34]),i,w,k,23,I[35]),a=_(a,i=_(i,w=_(w,x,a,i,r,4,I[36]),x,a,u,11,I[37]),w,x,f,16,I[38]),i,w,m,23,I[39]),a=_(a,i=_(i,w=_(w,x,a,i,y,4,I[40]),x,a,o,11,I[41]),w,x,c,16,I[42]),i,w,d,23,I[43]),a=_(a,i=_(i,w=_(w,x,a,i,h,4,I[44]),x,a,g,11,I[45]),w,x,b,16,I[46]),i,w,s,23,I[47]),a=M(a,i=M(i,w=M(w,x,a,i,o,6,I[48]),x,a,f,10,I[49]),w,x,k,15,I[50]),i,w,l,21,I[51]),a=M(a,i=M(i,w=M(w,x,a,i,g,6,I[52]),x,a,c,10,I[53]),w,x,m,15,I[54]),i,w,r,21,I[55]),a=M(a,i=M(i,w=M(w,x,a,i,p,6,I[56]),x,a,b,10,I[57]),w,x,d,15,I[58]),i,w,y,21,I[59]),a=M(a,i=M(i,w=M(w,x,a,i,u,6,I[60]),x,a,v,10,I[61]),w,x,s,15,I[62]),i,w,h,21,I[63]);n[0]=n[0]+w|0,n[1]=n[1]+x|0,n[2]=n[2]+a|0,n[3]=n[3]+i|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var i=a.floor(n/4294967296);for(t[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,n=0;n<4;n++)r=t[n],t[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return e},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),e.MD5=n._createHelper(r),e.HmacMD5=n._createHmacHelper(r)}(Math),i=(n=(r=C).lib).Base,u=n.WordArray,a=(n=r.algo).EvpKDF=i.extend({cfg:i.extend({keySize:4,hasher:n.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(o=this.cfg).hasher.create(),r=u.create(),i=r.words,a=o.keySize,o=o.iterations;i.length<a;){s&&n.update(s);var s=n.update(e).finalize(t);n.reset();for(var c=1;c<o;c++)s=n.finalize(s),n.reset();r.concat(s)}return r.sigBytes=4*a,r}}),r.EvpKDF=function(e,t,n){return a.create(n).compute(e,t)},C.lib.Cipher||function(){var e=(f=C).lib,t=e.Base,o=e.WordArray,n=e.BufferedBlockAlgorithm,r=f.enc.Base64,i=f.algo.EvpKDF,a=e.Cipher=n.extend({cfg:t.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(r){return{encrypt:function(e,t,n){return("string"==typeof t?p:d).encrypt(r,e,t,n)},decrypt:function(e,t,n){return("string"==typeof t?p:d).decrypt(r,e,t,n)}}}});e.StreamCipher=a.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});function s(e,t,n){var r=this._iv;r?this._iv=void 0:r=this._prevBlock;for(var i=0;i<n;i++)e[t+i]^=r[i]}var c=f.mode={},u=(e.BlockCipherMode=t.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();u.Encryptor=u.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize;s.call(this,e,t,r),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+r)}}),u.Decryptor=u.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=e.slice(t,t+r);n.decryptBlock(e,t),s.call(this,e,t,r),this._prevBlock=i}}),c=c.CBC=u,u=(f.pad={}).Pkcs7={pad:function(e,t){for(var n,r=(n=(n=4*t)-e.sigBytes%n)<<24|n<<16|n<<8|n,i=[],a=0;a<n;a+=4)i.push(r);n=o.create(i,n),e.concat(n)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},e.BlockCipher=a.extend({cfg:a.cfg.extend({mode:c,padding:u}),reset:function(){a.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 l=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),d=(c=(f.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?o.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=o.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return l.create({ciphertext:e,salt:n})}},e.SerializableCipher=t.extend({cfg:t.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,l.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}})),f=(f.kdf={}).OpenSSL={execute:function(e,t,n,r){return r=r||o.random(8),e=i.create({keySize:t+n}).compute(e,r),n=o.create(e.words.slice(t),4*n),e.sigBytes=4*t,l.create({key:e,iv:n,salt:r})}},p=e.PasswordBasedCipher=d.extend({cfg:d.cfg.extend({kdf:f}),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=C,t=e.lib.BlockCipher,n=e.algo,o=[],r=[],i=[],a=[],s=[],c=[],u=[],l=[],d=[],f=[],p=[],h=0;h<256;h++)p[h]=h<128?h<<1:h<<1^283;var m=0,v=0;for(h=0;h<256;h++){var g=(g=v^v<<1^v<<2^v<<3^v<<4)>>>8^255&g^99;o[m]=g;var y=p[r[g]=m],k=p[y],b=p[k],w=257*p[g]^16843008*g;i[m]=w<<24|w>>>8,a[m]=w<<16|w>>>16,s[m]=w<<8|w>>>24,c[m]=w,w=16843009*b^65537*k^257*y^16843008*m,u[g]=w<<24|w>>>8,l[g]=w<<16|w>>>16,d[g]=w<<8|w>>>24,f[g]=w,m?(m=y^p[p[p[b^y]]],v^=p[p[v]]):m=v=1}var x=[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),r=this._keySchedule=[],i=0;i<n;i++)if(i<t)r[i]=e[i];else{var a=r[i-1];i%t?6<t&&4==i%t&&(a=o[a>>>24]<<24|o[a>>>16&255]<<16|o[a>>>8&255]<<8|o[255&a]):(a=o[(a=a<<8|a>>>24)>>>24]<<24|o[a>>>16&255]<<16|o[a>>>8&255]<<8|o[255&a],a^=x[i/t|0]<<24),r[i]=r[i-t]^a}for(e=this._invKeySchedule=[],t=0;t<n;t++)i=n-t,a=t%4?r[i]:r[i-4],e[t]=t<4||i<=4?a:u[o[a>>>24]]^l[o[a>>>16&255]]^d[o[a>>>8&255]]^f[o[255&a]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,a,s,c,o)},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,u,l,d,f,r),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 c=this._nRounds,u=e[t]^n[0],l=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],p=4,h=1;h<c;h++){var m=r[u>>>24]^i[l>>>16&255]^a[d>>>8&255]^o[255&f]^n[p++],v=r[l>>>24]^i[d>>>16&255]^a[f>>>8&255]^o[255&u]^n[p++],g=r[d>>>24]^i[f>>>16&255]^a[u>>>8&255]^o[255&l]^n[p++];f=r[f>>>24]^i[u>>>16&255]^a[l>>>8&255]^o[255&d]^n[p++],u=m,l=v,d=g}m=(s[u>>>24]<<24|s[l>>>16&255]<<16|s[d>>>8&255]<<8|s[255&f])^n[p++],v=(s[l>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[255&u])^n[p++],g=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[u>>>8&255]<<8|s[255&l])^n[p++],f=(s[f>>>24]<<24|s[u>>>16&255]<<16|s[l>>>8&255]<<8|s[255&d])^n[p++],e[t]=m,e[t+1]=v,e[t+2]=g,e[t+3]=f},keySize:8});e.AES=t._createHelper(n)}();var o,l;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);!function(i){function e(e){return 4294967296*(e-(0|e))|0}for(var t=C,n=(a=t.lib).WordArray,r=a.Hasher,a=t.algo,o=[],h=[],s=2,c=0;c<64;){var u;e:{u=s;for(var l=i.sqrt(u),d=2;d<=l;d++)if(!(u%d)){u=!1;break e}u=!0}u&&(c<8&&(o[c]=e(i.pow(s,.5))),h[c]=e(i.pow(s,1/3)),c++),s++}var m=[];a=a.SHA256=r.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],u=n[6],l=n[7],d=0;d<64;d++){if(d<16)m[d]=0|e[t+d];else{var f=m[d-15],p=m[d-2];m[d]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+m[d-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+m[d-16]}f=l+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&c^~s&u)+h[d]+m[d],p=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&a^i&a),l=u,u=c,c=s,s=o+f|0,o=a,a=i,i=r,r=f+p|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+u|0,n[7]=n[7]+l|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+(64+r>>>9<<4)]=i.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.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),l=(o=C).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=l.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,s=a.words,c=0;c<n;c++)o[c]^=1549556828,s[c]^=909522486;i.sigBytes=a.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}});var s,d,f,p,h,m;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);d=(s=C).lib,f=d.Base,p=d.WordArray,(s=s.x64={}).Word=f.extend({init:function(e,t){this.high=e,this.low=t}}),s.WordArray=f.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r<t;r++){var i=e[r];n.push(i.high),n.push(i.low)}return p.create(n,this.sigBytes)},clone:function(){for(var e=f.clone.call(this),t=e.words=this.words.slice(0),n=t.length,r=0;r<n;r++)t[r]=t[r].clone();return e}}),function(){function e(){return r.create.apply(r,arguments)}for(var t=C,n=t.lib.Hasher,r=(a=t.x64).Word,i=a.WordArray,a=t.algo,te=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],ne=[],o=0;o<80;o++)ne[o]=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=(u=this._hash.words)[0],r=u[1],i=u[2],a=u[3],o=u[4],s=u[5],c=u[6],u=u[7],l=n.high,d=n.low,f=r.high,p=r.low,h=i.high,m=i.low,v=a.high,g=a.low,y=o.high,k=o.low,b=s.high,w=s.low,x=c.high,S=c.low,$=u.high,_=u.low,M=l,I=d,C=f,A=p,R=h,D=m,E=v,O=g,P=y,T=k,F=b,L=w,N=x,B=S,H=$,j=_,U=0;U<80;U++){var z=ne[U];if(U<16)var V=z.high=0|e[t+2*U],K=z.low=0|e[t+2*U+1];else{V=((K=(V=ne[U-15]).high)>>>1|(q=V.low)<<31)^(K>>>8|q<<24)^K>>>7;var q=(q>>>1|K<<31)^(q>>>8|K<<24)^(q>>>7|K<<25),W=((K=(W=ne[U-2]).high)>>>19|(J=W.low)<<13)^(K<<3|J>>>29)^K>>>6,J=(J>>>19|K<<13)^(J<<3|K>>>29)^(J>>>6|K<<26),G=(K=ne[U-7]).high,Y=(X=ne[U-16]).high,X=X.low;V=(V=(V=V+G+((K=q+K.low)>>>0<q>>>0?1:0))+W+((K=K+J)>>>0<J>>>0?1:0))+Y+((K=K+X)>>>0<X>>>0?1:0);z.high=V,z.low=K}G=P&F^~P&N,X=T&L^~T&B,z=M&C^M&R^C&R;var Z=I&A^I&D^A&D,Q=(q=(M>>>28|I<<4)^(M<<30|I>>>2)^(M<<25|I>>>7),W=(I>>>28|M<<4)^(I<<30|M>>>2)^(I<<25|M>>>7),(J=te[U]).high),ee=J.low;Y=H+((P>>>14|T<<18)^(P>>>18|T<<14)^(P<<23|T>>>9))+((J=j+((T>>>14|P<<18)^(T>>>18|P<<14)^(T<<23|P>>>9)))>>>0<j>>>0?1:0),H=N,j=B,N=F,B=L,F=P,L=T,P=E+(Y=(Y=(Y=Y+G+((J=J+X)>>>0<X>>>0?1:0))+Q+((J=J+ee)>>>0<ee>>>0?1:0))+V+((J=J+K)>>>0<K>>>0?1:0))+((T=O+J|0)>>>0<O>>>0?1:0)|0,E=R,O=D,R=C,D=A,C=M,A=I,M=Y+(z=q+z+((K=W+Z)>>>0<W>>>0?1:0))+((I=J+K|0)>>>0<J>>>0?1:0)|0}d=n.low=d+I,n.high=l+M+(d>>>0<I>>>0?1:0),p=r.low=p+A,r.high=f+C+(p>>>0<A>>>0?1:0),m=i.low=m+D,i.high=h+R+(m>>>0<D>>>0?1:0),g=a.low=g+O,a.high=v+E+(g>>>0<O>>>0?1:0),k=o.low=k+T,o.high=y+P+(k>>>0<T>>>0?1:0),w=s.low=w+L,s.high=b+F+(w>>>0<L>>>0?1:0),S=c.low=S+B,c.high=x+N+(S>>>0<B>>>0?1:0),_=u.low=_+j,u.high=$+H+(_>>>0<j>>>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+(128+r>>>10<<5)]=Math.floor(n/4294967296),t[31+(128+r>>>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)}(),m=(h=C).enc.Utf8,h.algo.HMAC=h.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=m.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,s=a.words,c=0;c<n;c++)o[c]^=1549556828,s[c]^=909522486;i.sigBytes=a.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}});var v,g,y,k,b,w,x,S,$,M,I,A,R;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);g=(b=(v=C).lib).WordArray,y=b.Hasher,k=[],b=v.algo.SHA1=y.extend({_doReset:function(){this._hash=new g.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=0;c<80;c++){if(c<16)k[c]=0|e[t+c];else{var u=k[c-3]^k[c-8]^k[c-14]^k[c-16];k[c]=u<<1|u>>>31}u=(r<<5|r>>>27)+s+k[c],u=c<20?u+(1518500249+(i&a|~i&o)):c<40?u+(1859775393+(i^a^o)):c<60?u+((i&a|i&o|a&o)-1894007588):u+((i^a^o)-899497514),s=o,o=a,a=i<<30|i>>>2,i=r,r=u}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|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+(64+r>>>9<<4)]=Math.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=y.clone.call(this);return e._hash=this._hash.clone(),e}}),v.SHA1=y._createHelper(b),v.HmacSHA1=y._createHmacHelper(b),x=(w=C).enc.Utf8,w.algo.HMAC=w.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=x.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,s=a.words,c=0;c<n;c++)o[c]^=1549556828,s[c]^=909522486;i.sigBytes=a.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}}),M=(S=($=C).lib).Base,I=S.WordArray,A=(S=$.algo).HMAC,R=S.PBKDF2=M.extend({cfg:M.extend({keySize:4,hasher:S.SHA1,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){var n=this.cfg,r=A.create(n.hasher,e),i=I.create(),a=I.create([1]),o=i.words,s=a.words,c=n.keySize;for(n=n.iterations;o.length<c;){var u=r.update(t).finalize(a);r.reset();for(var l=u.words,d=l.length,f=u,p=1;p<n;p++){f=r.finalize(f),r.reset();for(var h=f.words,m=0;m<d;m++)l[m]^=h[m]}i.concat(u),s[0]++}return i.sigBytes=4*c,i}}),$.PBKDF2=function(e,t,n){return R.create(n).compute(e,t)};var D,E,O,P,T;C=C||function(s){function n(){}var e={},t=e.lib={},r=t.Base={extend:function(e){n.prototype=this;var t=new n;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=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)}},c=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).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<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=s.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(4294967296*s.random()|0);return new c.init(t,e)}}),i=e.enc={},a=i.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[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<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new c.init(n,t)}},u=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,a=r/(4*i);if(e=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*i,r=s.min(4*e,r),e){for(var o=0;o<e;o+=i)this._doProcessBlock(n,o);o=n.splice(0,e),t.sigBytes-=r}return new c.init(o,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,t){return new n.init(t).finalize(e)}},_createHmacHelper:function(n){return function(e,t){return new d.HMAC.init(n,t).finalize(e)}}});var d=e.algo={};return e}(Math);function F(e,t){return!t||"object"!==H(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&B(e,t)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function H(e){return(H="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 U(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function z(s){return function(){var e=this,o=arguments;return new Promise(function(t,n){var r=s.apply(e,o);function i(e){U(r,t,n,i,a,"next",e)}function a(e){U(r,t,n,i,a,"throw",e)}i(void 0)})}}function V(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function K(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function q(e,t,n){return t&&K(e.prototype,t),n&&K(e,n),e}E=(T=(D=C).lib).WordArray,O=T.Hasher,P=[],T=D.algo.SHA1=O.extend({_doReset:function(){this._hash=new E.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=0;c<80;c++){if(c<16)P[c]=0|e[t+c];else{var u=P[c-3]^P[c-8]^P[c-14]^P[c-16];P[c]=u<<1|u>>>31}u=(r<<5|r>>>27)+s+P[c],u=c<20?u+(1518500249+(i&a|~i&o)):c<40?u+(1859775393+(i^a^o)):c<60?u+((i&a|i&o|a&o)-1894007588):u+((i^a^o)-899497514),s=o,o=a,a=i<<30|i>>>2,i=r,r=u}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|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+(64+r>>>9<<4)]=Math.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=O.clone.call(this);return e._hash=this._hash.clone(),e}}),D.SHA1=O._createHelper(T),D.HmacSHA1=O._createHmacHelper(T),Object.defineProperty(we,"__esModule",{value:!0}),we.StandardFile=we.SFItemTransformer=we.SFCryptoWeb=we.SFCryptoJS=we.SFAbstractCrypto=we.SFItemHistoryEntry=we.SFItemHistory=we.SFHistorySession=we.SFPrivileges=we.SFPredicate=we.SFItemParams=we.SFItem=we.SFSyncManager=we.SFStorageManager=we.SFSingletonManager=we.SFSessionHistoryManager=we.SFPrivilegesManager=we.SFModelManager=we.SFMigrationManager=we.SFHttpManager=we.SFAuthManager=we.SFAlertManager=void 0;var W=function(){function e(){V(this,e)}var t,n;return q(e,[{key:"alert",value:(n=z(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){window.alert(n.text),e()}));case 1:case"end":return e.stop()}},e)})),function(e){return n.apply(this,arguments)})},{key:"confirm",value:(t=z(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){window.confirm(n.text)?e():t()}));case 1:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)})}]),e}();we.SFAlertManager=W;var J=function(){function k(e,t,n,r){V(this,k),k.DidSignOutEvent="DidSignOutEvent",k.WillSignInEvent="WillSignInEvent",k.DidSignInEvent="DidSignInEvent",this.httpManager=t,this.storageManager=e,this.alertManager=n||new W,this.$timeout=r||setTimeout.bind(window),this.eventHandlers=[]}var a,o,s,r,e,t,n,i,c,u;return q(k,[{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:(u=z(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 u.apply(this,arguments)})},{key:"signout",value:(c=z(regeneratorRuntime.mark(function e(t){var n=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys=null,this._authParams=null,t)return e.abrupt("return",this.storageManager.clearAllData().then(function(){n.notifyEvent(k.DidSignOutEvent)}));e.next=6;break;case 6:this.notifyEvent(k.DidSignOutEvent);case 7:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"keys",value:(i=z(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 i.apply(this,arguments)})},{key:"getAuthParams",value:(n=z(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)return e.next=8,this.defaultProtocolVersion();e.next=9;break;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 n.apply(this,arguments)})},{key:"defaultProtocolVersion",value:(t=z(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)return e.abrupt("return","002");e.next=7;break;case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"protocolVersion",value:(e=z(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)return e.abrupt("return",t.version);e.next=5;break;case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"getAuthParamsForEmail",value:(r=z(regeneratorRuntime.mark(function e(r,t,n){var i,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:t},n)).api=Y.getApiVersion(),e.abrupt("return",new Promise(function(t,e){var n=r+"/auth/params";a.httpManager.getAbsolute(n,i,function(e){t(e)},function(e){console.error("Error getting auth params",e),"object"!==H(e)&&(e={error:{message:"A server error occurred while trying to sign in. Please try again."}}),t(e)})}));case 3:case"end":return e.stop()}},e)})),function(e,t,n){return r.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:(s=z(regeneratorRuntime.mark(function e(p,h,m,v,g){var y=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a,o,s,c,u,l,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.keys();case 2:if(null!=e.sent)return n({error:{message:"Cannot log in because already signed in."}}),e.abrupt("return");e.next=6;break;case 6:if(y.isLocked())return n({error:{message:"Login already in progress."}}),e.abrupt("return");e.next=9;break;case 9:return y.lock(),y.notifyEvent(k.WillSignInEvent),e.next=13,y.getAuthParamsForEmail(p,h,g);case 13:if((r=e.sent).identifier=h,r.error)return y.unlockAndResolve(n,r),e.abrupt("return");e.next=18;break;case 18:if(r&&r.pw_cost){e.next=21;break}return y.unlockAndResolve(n,{error:{message:"Invalid email or password."}}),e.abrupt("return");case 21:if(SFJS.supportedVersions().includes(r.version)){e.next=25;break}return i=SFJS.isVersionNewerThanLibraryVersion(r.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.",y.unlockAndResolve(n,{error:{message:i}}),e.abrupt("return");case 25:if(SFJS.isProtocolVersionOutdated(r.version))return a="The encryption version for your account, ".concat(r.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."),o=!1,e.next=30,y.alertManager.confirm({title:"Update Needed",text:a,confirmButtonText:"Sign In"}).catch(function(){y.unlockAndResolve(n,{error:{}}),o=!0});e.next=32;break;case 30:if(o)return e.abrupt("return");e.next=32;break;case 32:if(SFJS.supportsPasswordDerivationCost(r.pw_cost)){e.next=36;break}return"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.",y.unlockAndResolve(n,{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."}}),e.abrupt("return");case 36:if(s=SFJS.costMinimumForVersion(r.version),r.pw_cost<s)return"Unable to login due to insecure password parameters. Please visit standardnotes.org/help/security for more information.",y.unlockAndResolve(n,{error:{message:"Unable to login due to insecure password parameters. Please visit standardnotes.org/help/security for more information."}}),e.abrupt("return");e.next=41;break;case 41:if(!v){e.next=47;break}if(c=SFJS.version(),r.version!==c)return u="Strict sign in refused server sign in parameters. The latest security version is ".concat(c,", but your account is reported to have version ").concat(r.version,". If you'd like to proceed with sign in anyway, please disable strict sign in and try again."),y.unlockAndResolve(n,{error:{message:u}}),e.abrupt("return");e.next=47;break;case 47:return e.next=49,SFJS.crypto.computeEncryptionKeysForUser(m,r);case 49:l=e.sent,d=p+"/auth/sign_in",(f=_.merge({password:l.pw,email:h},g)).api=Y.getApiVersion(),y.httpManager.postAbsolute(d,f,function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.handleAuthResponse(t,h,p,r,l);case 2:y.notifyEvent(k.DidSignInEvent),y.$timeout(function(){return y.unlockAndResolve(n,t)});case 4:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){console.error("Error logging in",e),"object"!==H(e)&&(e={error:{message:"A server error occurred while trying to sign in. Please try again."}}),y.$timeout(function(){return y.unlockAndResolve(n,e)})});case 54:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return e.stop()}},e)})),function(e,t,n,r,i){return s.apply(this,arguments)})},{key:"register",value:function(u,l,d){var f=this;return new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a,o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(f.isLocked())return n({error:{message:"Register already in progress."}}),e.abrupt("return");e.next=3;break;case 3:if(8,d.length<8)return r="Your password must be at least ".concat(8," characters in length. For your security, please choose a longer password or, ideally, a passphrase, and try again."),n({error:{message:r}}),e.abrupt("return");e.next=8;break;case 8:return f.lock(),e.next=11,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(l,d);case 11:i=e.sent,a=i.keys,o=i.authParams,s=u+"/auth",(c=_.merge({password:a.pw,email:l},o)).api=Y.getApiVersion(),f.httpManager.postAbsolute(s,c,function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.handleAuthResponse(t,l,u,o,a);case 2:f.unlockAndResolve(n,t);case 3:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){console.error("Registration error",e),"object"!==H(e)&&(e={error:{message:"A server error occurred while trying to register. Please try again."}}),f.unlockAndResolve(n,e)});case 18:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}())}},{key:"changePassword",value:(o=z(regeneratorRuntime.mark(function e(o,s,c,u,l){var d=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(d.isLocked())return n({error:{message:"Change password already in progress."}}),e.abrupt("return");e.next=3;break;case 3:d.lock(),r=u.pw,i=o+"/auth/change_pw",(a=_.merge({new_password:r,current_password:c},l)).api=Y.getApiVersion(),d.httpManager.postAuthenticatedAbsolute(i,a,function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.handleAuthResponse(t,s,null,l,u);case 2:d.unlockAndResolve(n,t);case 3:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),function(e){"object"!==H(e)&&(e={error:{message:"Something went wrong while changing your password. Your password was not changed. Please try again."}}),d.unlockAndResolve(n,e)});case 9:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return e.stop()}},e)})),function(e,t,n,r,i){return o.apply(this,arguments)})},{key:"handleAuthResponse",value:(a=z(regeneratorRuntime.mark(function e(t,n,r,i,a){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r)return e.next=3,this.storageManager.setItem("server",r);e.next=3;break;case 3:return this._authParams=i,e.next=6,this.storageManager.setItem("auth_params",JSON.stringify(i));case 6:return e.next=8,this.storageManager.setItem("jwt",t.token);case 8:return e.abrupt("return",this.saveKeys(a));case 9:case"end":return e.stop()}},e,this)})),function(e,t,n,r,i){return a.apply(this,arguments)})}]),k}();we.SFAuthManager=J;var G="undefined"!=typeof window?window:void 0!==e?e:null,Y=function(){function n(e,t){V(this,n),this.$timeout=e||setTimeout.bind(G)}var a,i,o,s,c,t;return q(n,null,[{key:"getApiVersion",value:function(){return"20190520"}}]),q(n,[{key:"setJWTRequestHandler",value:function(e){this.jwtRequestHandler=e}},{key:"setAuthHeadersForRequest",value:(t=z(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.jwtRequestHandler();case 2:(n=e.sent)&&t.setRequestHeader("Authorization","Bearer "+n);case 4:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"postAbsolute",value:(c=z(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.httpRequest("post",t,n,r,i));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return c.apply(this,arguments)})},{key:"postAuthenticatedAbsolute",value:(s=z(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.httpRequest("post",t,n,r,i,!0));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return s.apply(this,arguments)})},{key:"patchAbsolute",value:(o=z(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.httpRequest("patch",t,n,r,i));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return o.apply(this,arguments)})},{key:"getAbsolute",value:(i=z(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.httpRequest("get",t,n,r,i));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return i.apply(this,arguments)})},{key:"httpRequest",value:(a=z(regeneratorRuntime.mark(function e(i,a,o,s,c){var u,l=this,t=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return u=5<t.length&&void 0!==t[5]&&t[5],e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(t,n){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((r=new XMLHttpRequest).onreadystatechange=function(){if(4==r.readyState){var e=r.responseText;if(e)try{e=JSON.parse(e)}catch(e){}200<=r.status&&r.status<=299?l.$timeout(function(){s(e),t(e)}):(console.error("Request error:",e),l.$timeout(function(){c(e,r.status),n(e)}))}},"get"==i&&0<Object.keys(o).length&&(a=l.urlForUrlAndParams(a,o)),r.open(i,a,!0),r.setRequestHeader("Content-type","application/json"),u)return e.next=8,l.setAuthHeadersForRequest(r);e.next=8;break;case 8:"post"==i||"patch"==i?r.send(JSON.stringify(o)):r.send();case 9:case"end":return e.stop()}},e)}));return function(e,t){return n.apply(this,arguments)}}()));case 2:case"end":return e.stop()}},e)})),function(e,t,n,r,i){return a.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}}]),n}();we.SFHttpManager=Y;var X=function(){function r(e,t,n,f){var p=this;V(this,r),this.modelManager=e,this.syncManager=t,this.storageManager=n,this.completionHandlers=[],this.loadMigrations();var h=!1,m=f.addEventHandler(function(e){e==J.DidSignInEvent&&(h=!0)});this.receivedLocalDataEvent=t.initialDataLoaded(),this.syncManager.addEventHandler(function(){var n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i="sync:completed"==t,!(r="local-data-loaded"==t)&&!i){e.next=40;break}if(r?p.receivedLocalDataEvent=!0:i&&(p.receivedSyncCompletedEvent=!0),!p.receivedLocalDataEvent||!p.receivedSyncCompletedEvent){e.next=40;break}if(h)return h=!1,f.removeEventHandler(m),e.next=10,p.getCompletedMigrations();e.next=39;break;case 10:a=e.sent.slice(),s=!(o=!0),c=void 0,e.prev=14,u=a[Symbol.iterator]();case 16:if(o=(l=u.next()).done){e.next=25;break}return d=l.value,e.next=20,p.migrationForEncodedName(d);case 20:e.sent.runOnlyOnce||_.pull(p._completed,d);case 22:o=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),s=!0,c=e.t0;case 31:e.prev=31,e.prev=32,o||null==u.return||u.return();case 34:if(e.prev=34,s)throw c;e.next=37;break;case 37:return e.finish(34);case 38:return e.finish(31);case 39:p.runPendingMigrations();case 40:case"end":return e.stop()}},e,null,[[14,27,31,39],[32,,34,38]])}));return function(e,t){return n.apply(this,arguments)}}())}var n,t,e,i,a,o,s,c;return q(r,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:(c=z(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 c.apply(this,arguments)})},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:(s=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C;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=!(n=!0),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)throw i;e.next=20;break;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!(c=!0),l=void 0,e.prev=25,d=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(c=(f=d.next()).done){e.next=51;break}for(p=f.value,m=!(h=!0),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)throw v;e.next=46;break;case 46:return e.finish(43);case 47:return e.finish(40);case 48:c=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),u=!0,l=e.t2;case 57:e.prev=57,e.prev=58,c||null==d.return||d.return();case 60:if(e.prev=60,u)throw l;e.next=63;break;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!(k=!0),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&&0<s.items.length||s.customHandler)return e.next=75,this.runMigration(s,s.items);e.next=77;break;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)throw w;e.next=93;break;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!($=!0),M=void 0,e.prev=98,I=this.completionHandlers[Symbol.iterator]();!($=(C=I.next()).done);$=!0)(0,C.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),_=!0,M=e.t4;case 106:e.prev=106,e.prev=107,$||null==I.return||I.return();case 109:if(e.prev=109,_)throw M;e.next=112;break;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=z(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=z(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=z(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:(e=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c;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=[],i=!(r=!0),a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=22;break}return c=s.value,e.t0=t,e.next=14,this.encode(c.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(c);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)throw a;e.next=34;break;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 e.apply(this,arguments)})},{key:"markMigrationCompleted",value:(t=z(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 t.apply(this,arguments)})},{key:"runMigration",value:(n=z(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)return e.abrupt("return");e.next=2;break;case 2:if(console.log("Running migration:",t.name),t.running=!0,t.customHandler)return e.abrupt("return",t.customHandler().then(function(){r.markMigrationCompleted(t)}));e.next=8;break;case 8:return e.abrupt("return",t.handler(n).then(function(){r.markMigrationCompleted(t)}));case 9:case"end":return e.stop()}},e)})),function(e,t){return n.apply(this,arguments)})}]),r}();we.SFMigrationManager=X;var Z=function(){function A(e){V(this,A),A.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",A.MappingSourceRemoteSaved="MappingSourceRemoteSaved",A.MappingSourceLocalSaved="MappingSourceLocalSaved",A.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",A.MappingSourceLocalDirtied="MappingSourceLocalDirtied",A.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",A.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",A.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",A.MappingSourceFileImport="MappingSourceFileImport",A.isMappingSourceRetrieved=function(e){return[A.MappingSourceRemoteRetrieved,A.MappingSourceComponentRetrieved,A.MappingSourceRemoteActionRetrieved].includes(e)},this.$timeout=e||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var e,i,r,t,n,a,o,s,c,u,l,d;return q(A,[{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:(d=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.createItem(t),e.next=3,SFJS.crypto.generateUUID();case 3:for(n.uuid=e.sent,n.informReferencesOfUUIDChange(t.uuid,n.uuid),this.informModelsOfUUIDChangeForItem(n,t.uuid,n.uuid),i=!(r=!0),a=void 0,e.prev=9,o=t.referencingObjects[Symbol.iterator]();!(r=(s=o.next()).done);r=!0)(c=s.value).setIsNoLongerBeingReferencedBy(t),t.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(n);e.next=17;break;case 13:e.prev=13,e.t0=e.catch(9),i=!0,a=e.t0;case 17:e.prev=17,e.prev=18,r||null==o.return||o.return();case 20:if(e.prev=20,i)throw a;e.next=23;break;case 23:return e.finish(20);case 24:return e.finish(17);case 25:return this.setItemsDirty(t.referencingObjects,!0),this.resolveReferencesForItem(n),this.loggingEnabled&&console.log(t.uuid,"--\x3e",n.uuid),t.deleted=!0,t.content.references=[],this.setItemDirty(t,!1,!1,A.MappingSourceLocalSaved),e.next=33,this.mapResponseItemsToLocalModels([t],A.MappingSourceLocalSaved);case 33:return this.addItem(n),this.setItemDirty(n,!0,!0,A.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(t,n),e.abrupt("return",n);case 37:case"end":return e.stop()}},e,this,[[9,13,17,25],[18,,20,24]])})),function(e){return d.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(e){this.notifySyncObserversOfModels(e,A.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:(l=z(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 l.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsOmittingFields",value:(u=z(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 u.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsWithOptions",value:(c=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C,A,R,D,E,O,P,T,F,L,N,B,H;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=[],c=[],l=!(u=!0),d=void 0,e.prev=5,f=n[Symbol.iterator]();case 7:if(u=(p=f.next()).done){e.next=58;break}if(h=p.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(m=!h.content&&!h.errorDecrypting,!(!h.content_type||!h.uuid)&&!m||h.deleted){e.next=16;break}return console.error("Server response item is corrupt:",h),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(g=!(v=!0),y=void 0,e.prev=20,k=r[Symbol.iterator]();!(v=(b=k.next()).done);v=!0)w=b.value,delete h[w];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),g=!0,y=e.t0;case 28:e.prev=28,e.prev=29,v||null==k.return||k.return();case 31:if(e.prev=31,g)throw y;e.next=34;break;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((x=this.findItem(h.uuid))&&(x.updateFromJSON(h),x.dummy=!1),S=h.content_type||x&&x.content_type,this.acceptableContentTypes&&!this.acceptableContentTypes.includes(S))return e.abrupt("continue",55);e.next=42;break;case 42:if($=!1,1!=h.deleted){e.next=50;break}if(!h.dirty){e.next=48;break}$=!0,e.next=50;break;case 48:return x&&(o.push(x),c.push(x),this.removeItemLocally(x)),e.abrupt("continue",55);case 50:x=x||this.createItem(h),this.addItem(x,$),x.errorDecrypting||c.push(x),o.push(x),s.push(h);case 55:u=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,d=e.t1;case 64:e.prev=64,e.prev=65,u||null==f.return||f.return();case 67:if(e.prev=67,l)throw d;e.next=70;break;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(M=!(_=!0),I=void 0,e.prev=75,C=s.entries()[Symbol.iterator]();!(_=(A=C.next()).done);_=!0)R=j(A.value,2),D=R[0],E=R[1],O=o[D],E.content&&this.resolveReferencesForItem(O),O.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),M=!0,I=e.t2;case 83:e.prev=83,e.prev=84,_||null==C.return||C.return();case 86:if(e.prev=86,M)throw I;e.next=89;break;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(P=this.popMissedReferenceStructsForObjects(s),F=!(T=!0),L=void 0,e.prev=95,N=function(){var t=H.value,e=o.find(function(e){return e.uuid==t.reference_uuid});e&&t.for_item.addItemAsRelationship(e)},B=P[Symbol.iterator]();!(T=(H=B.next()).done);T=!0)N();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),F=!0,L=e.t3;case 104:e.prev=104,e.prev=105,T||null==B.return||B.return();case 107:if(e.prev=107,F)throw L;e.next=110;break;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(c,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);a<o.length;a++){var s=o[a];r.includes(s.substring(0,i))&&(t.push(this.missedReferences[s]),n.push(s))}for(var c=0,u=n;c<u.length;c++){var l=u[c];delete this.missedReferences[l]}return t}},{key:"resolveReferencesForItem",value:function(e,t){var n=1<arguments.length&&void 0!==t&&t;if(!e.errorDecrypting){var r=e.contentObject;if(e.updateLocalRelationships(),r.references){var i=r.references.slice().map(function(e){return e.uuid}),a=this.findItems(i,!0),o=!0,s=!1,c=void 0;try{for(var u,l=a.entries()[Symbol.iterator]();!(o=(u=l.next()).done);o=!0){var d=j(u.value,2),f=d[0],p=d[1];if(p)e.addItemAsRelationship(p),n&&this.setItemDirty(p,!0);else{var h=i[f],m=this.missedReferenceBuildKey(h,e.uuid);if(!this.missedReferences[m]){var v={reference_uuid:h,for_item:e};this.missedReferences[m]=v}}}}catch(e){s=!0,c=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw c}}}}}},{key:"notifySyncObserversOfModels",value:(s=z(regeneratorRuntime.mark(function e(d,f,p){var t,n,r,i,a,o,h,m=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.itemSyncObservers.sort(function(e,t){return e.priority<t.priority?-1:1}),r=!(n=!0),i=void 0,e.prev=4,a=regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(t=h.value,n=t.types.includes("*")?d:d.filter(function(e){return t.types.includes(e.content_type)}),r=[],i=[],o=!(a=!0),s=void 0,e.prev=6,c=n[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)(l=u.value).deleted?i.push(l):r.push(l);e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),o=!0,s=e.t0;case 14:e.prev=14,e.prev=15,a||null==c.return||c.return();case 17:if(e.prev=17,o)throw s;e.next=20;break;case 20:return e.finish(17);case 21:return e.finish(14);case 22:if(0<n.length)return e.next=25,m._callSyncObserverCallbackWithTimeout(t,n,r,i,f,p);e.next=25;break;case 25:case"end":return e.stop()}},e,null,[[6,10,14,22],[15,,17,21]])}),o=t[Symbol.iterator]();case 7:if(n=(h=o.next()).done){e.next=12;break}return e.delegateYield(a(),"t0",9);case 9:n=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),r=!0,i=e.t1;case 18:e.prev=18,e.prev=19,n||null==o.return||o.return();case 21:if(e.prev=21,r)throw i;e.next=24;break;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 s.apply(this,arguments)})},{key:"_callSyncObserverCallbackWithTimeout",value:(o=z(regeneratorRuntime.mark(function e(n,r,i,a,o,s){var c=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){c.$timeout(function(){try{n.callback(r,i,a,o,s)}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 o.apply(this,arguments)})},{key:"setItemDirty",value:function(e,t,n,r,i){var a=!(1<arguments.length&&void 0!==t)||t,o=2<arguments.length?n:void 0,s=3<arguments.length?r:void 0,c=4<arguments.length?i:void 0;this.setItemsDirty([e],a,o,s,c)}},{key:"setItemsDirty",value:function(e,t,n,r,i){var a=!(1<arguments.length&&void 0!==t)||t,o=2<arguments.length?n:void 0,s=3<arguments.length?r:void 0,c=4<arguments.length?i:void 0,u=!0,l=!1,d=void 0;try{for(var f,p=e[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){f.value.setDirty(a,o)}}catch(e){l=!0,d=e}finally{try{u||null==p.return||p.return()}finally{if(l)throw d}}this.notifySyncObserversOfModels(e,s||A.MappingSourceLocalDirtied,c)}},{key:"createItem",value:function(e){var t=A.ContentTypeClassMapping&&A.ContentTypeClassMapping[e.content_type];return new(t=t||ce)(e)}},{key:"createDuplicateItemFromResponseItem",value:(a=z(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)return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);e.next=3;break;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 a.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,t){var n=1<arguments.length&&void 0!==t&&t;this.addItems([e],n)}},{key:"addItems",value:function(e,t){var n=this;e.forEach(function(e){n.itemsHash[e.uuid]||(n.itemsHash[e.uuid]=e,n.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 c=!0,u=!1,l=void 0;try{for(var d,f=e.referencingObjects[Symbol.iterator]();!(c=(d=f.next()).done);c=!0){var p=d.value;p.removeItemAsRelationship(e),this.setItemDirty(p,!0)}}catch(e){u=!0,l=e}finally{try{c||null==f.return||f.return()}finally{if(u)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:(n=z(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 n.apply(this,arguments)})},{key:"allItemsMatchingTypes",value:function(t){return this.allItems.filter(function(e){return(_.includes(t,e.content_type)||_.includes(t,"*"))&&!e.dummy})}},{key:"invalidItems",value:function(){return this.allItems.filter(function(e){return e.errorDecrypting})}},{key:"validItemsForContentType",value:function(t){return this.allItems.filter(function(e){return e.content_type==t&&!e.errorDecrypting})}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e,t){var n=1<arguments.length&&void 0!==t&&t,r=[],i=!0,a=!1,o=void 0;try{for(var s,c=e[Symbol.iterator]();!(i=(s=c.next()).done);i=!0){var u=s.value,l=this.itemsHash[u];(l||n)&&r.push(l)}}catch(e){a=!0,o=e}finally{try{i||null==c.return||c.return()}finally{if(a)throw o}}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,s){return e.filter(function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=s[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;if(!e.satisfiesPredicate(o))return!1}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}return!0})}},{key:"importItems",value:(t=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=[],r={},a=!(i=!0),o=void 0,e.prev=5,s=t[Symbol.iterator]();case 7:if(i=(c=s.next()).done){e.next=18;break}if(u=c.value,l=this.findItem(u.uuid)){e.next=13;break}return r[u.uuid]={},e.abrupt("continue",15);case 13:d=this.duplicateItemWithoutAdding(l),r[u.uuid]={frozenValue:d,itemRef:l};case 15:i=!0,e.next=7;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(5),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)throw o;e.next=30;break;case 30:return e.finish(27);case 31:return e.finish(24);case 32:p=!(f=!0),h=void 0,e.prev=35,m=t[Symbol.iterator]();case 37:if(f=(v=m.next()).done){e.next=52;break}if(g=v.value,y=r[g.uuid],k=y.frozenValue,b=y.itemRef,k&&!b.errorDecrypting)return e.next=43,this.createDuplicateItemFromResponseItem(g);e.next=47;break;case 43:w=e.sent,g.deleted||k.isItemContentEqualWith(w)||(this.addDuplicatedItemAsConflict({duplicate:w,duplicateOf:b}),n.push(w)),e.next=49;break;case 47:n.push(g),b&&b.errorDecrypting&&(b.errorDecrypting=!1);case 49:f=!0,e.next=37;break;case 52:e.next=58;break;case 54:e.prev=54,e.t1=e.catch(35),p=!0,h=e.t1;case 58:e.prev=58,e.prev=59,f||null==m.return||m.return();case 61:if(e.prev=61,p)throw h;e.next=64;break;case 64:return e.finish(61);case 65:return e.finish(58);case 66:return e.next=68,this.mapResponseItemsToLocalModels(n,A.MappingSourceFileImport);case 68:for(x=e.sent,$=!(S=!0),_=void 0,e.prev=72,M=x[Symbol.iterator]();!(S=(I=M.next()).done);S=!0)C=I.value,this.setItemDirty(C,!0,!1),C.deleted=!1;e.next=80;break;case 76:e.prev=76,e.t2=e.catch(72),$=!0,_=e.t2;case 80:e.prev=80,e.prev=81,S||null==M.return||M.return();case 83:if(e.prev=83,$)throw _;e.next=86;break;case 86:return e.finish(83);case 87:return e.finish(80);case 88:return e.abrupt("return",x);case 89:case"end":return e.stop()}},e,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 t.apply(this,arguments)})},{key:"getAllItemsJSONData",value:(r=z(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:(i=z(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 ue(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,n,r){return i.apply(this,arguments)})},{key:"computeDataIntegrityHash",value:(e=z(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 e.apply(this,arguments)})},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter(function(e){return!e.dummy})}}]),A}();we.SFModelManager=Z;var Q=function(){function l(e,t,n){V(this,l),this.modelManager=e,this.syncManager=t,this.singletonManager=n,this.loadPrivileges(),l.CredentialAccountPassword="CredentialAccountPassword",l.CredentialLocalPasscode="CredentialLocalPasscode",l.ActionManageExtensions="ActionManageExtensions",l.ActionManageBackups="ActionManageBackups",l.ActionViewProtectedNotes="ActionViewProtectedNotes",l.ActionManagePrivileges="ActionManagePrivileges",l.ActionManagePasscode="ActionManagePasscode",l.ActionDeleteNote="ActionDeleteNote",l.SessionExpiresAtKey="SessionExpiresAtKey",l.SessionLengthKey="SessionLengthKey",l.SessionLengthNone=0,l.SessionLengthFiveMinutes=300,l.SessionLengthOneHour=3600,l.SessionLengthOneWeek=604800,this.availableActions=[l.ActionViewProtectedNotes,l.ActionDeleteNote,l.ActionManagePasscode,l.ActionManageBackups,l.ActionManageExtensions,l.ActionManagePrivileges],this.availableCredentials=[l.CredentialAccountPassword,l.CredentialLocalPasscode],this.sessionLengths=[l.SessionLengthNone,l.SessionLengthFiveMinutes,l.SessionLengthOneHour,l.SessionLengthOneWeek,l.SessionLengthIndefinite]}var n,r,e,t,i,a,o,s,c,u,d,f;return q(l,[{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:(f=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:e.t0=t,n=e.sent.getCredentialsForAction(e.t0),r=[],a=!(i=!0),o=void 0,e.prev=8,s=n[Symbol.iterator]();case 10:if(i=(c=s.next()).done){e.next=27;break}if((u=c.value)==l.CredentialAccountPassword)return e.next=15,this.delegate.isOffline();e.next=19;break;case 15:e.sent||r.push(u),e.next=24;break;case 19:if(u==l.CredentialLocalPasscode)return e.next=22,this.delegate.hasLocalPasscode();e.next=24;break;case 22:e.sent&&r.push(u);case 24:i=!0,e.next=10;break;case 27:e.next=33;break;case 29:e.prev=29,e.t1=e.catch(8),a=!0,o=e.t1;case 33:e.prev=33,e.prev=34,i||null==s.return||s.return();case 36:if(e.prev=36,a)throw o;e.next=39;break;case 39:return e.finish(36);case 40:return e.finish(33);case 41:return e.abrupt("return",r);case 42:case"end":return e.stop()}},e,this,[[8,29,33,41],[34,,36,40]])})),function(e){return f.apply(this,arguments)})},{key:"loadPrivileges",value:(d=z(regeneratorRuntime.mark(function e(){var a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.loadPromise)return e.abrupt("return",this.loadPromise);e.next=2;break;case 2:return this.loadPromise=new Promise(function(r,e){var i=de.contentType(),t=new le("content_type","=",i);a.singletonManager.registerSingleton([t],function(e){a.privileges=e,r(e)},function(){var t=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new de({content_type:i}),SFJS.crypto.generateUUIDSync){e.next=4;break}return e.next=4,n.initUUID();case 4:a.modelManager.addItem(n),a.modelManager.setItemDirty(n,!0),a.syncManager.sync(),t(n),r(n);case 9:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}())}),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}},e,this)})),function(){return d.apply(this,arguments)})},{key:"getPrivileges",value:(u=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.privileges)return e.abrupt("return",this.privileges);e.next=4;break;case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}},e,this)})),function(){return u.apply(this,arguments)})},{key:"displayInfoForCredential",value:function(e){var t={};return t[l.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},t[l.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},t[e]}},{key:"displayInfoForAction",value:function(e){var t={};return t[l.ActionManageExtensions]={label:"Manage Extensions"},t[l.ActionManageBackups]={label:"Download/Import Backups"},t[l.ActionViewProtectedNotes]={label:"View Protected Notes"},t[l.ActionManagePrivileges]={label:"Manage Privileges"},t[l.ActionManagePasscode]={label:"Manage Passcode"},t[l.ActionDeleteNote]={label:"Delete Notes"},t[e]}},{key:"getSessionLengthOptions",value:function(){return[{value:l.SessionLengthNone,label:"Don't Remember"},{value:l.SessionLengthFiveMinutes,label:"5 Minutes"},{value:l.SessionLengthOneHour,label:"1 Hour"},{value:l.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:(c=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){var t=new Date;return t.setSeconds(t.getSeconds()+e),t}(t),e.abrupt("return",Promise.all([this.delegate.saveToStorage(l.SessionExpiresAtKey,JSON.stringify(n)),this.delegate.saveToStorage(l.SessionLengthKey,JSON.stringify(t))]));case 3:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"clearSession",value:(s=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.setSessionLength(l.SessionLengthNone));case 1:case"end":return e.stop()}},e,this)})),function(){return s.apply(this,arguments)})},{key:"getSelectedSessionLength",value:(o=z(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delegate.getFromStorage(l.SessionLengthKey);case 2:if(t=e.sent)return e.abrupt("return",JSON.parse(t));e.next=7;break;case 7:return e.abrupt("return",l.SessionLengthNone);case 8:case"end":return e.stop()}},e,this)})),function(){return o.apply(this,arguments)})},{key:"getSessionExpirey",value:(a=z(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delegate.getFromStorage(l.SessionExpiresAtKey);case 2:if(t=e.sent)return e.abrupt("return",new Date(JSON.parse(t)));e.next=7;break;case 7:return e.abrupt("return",new Date);case 8:case"end":return e.stop()}},e,this)})),function(){return a.apply(this,arguments)})},{key:"actionHasPrivilegesConfigured",value:(i=z(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",0<e.t0);case 4:case"end":return e.stop()}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"actionRequiresPrivilege",value:(t=z(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)return e.abrupt("return",!1);e.next=5;break;case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",0<n.length);case 9:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"savePrivileges",value:(e=z(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 e.apply(this,arguments)})},{key:"authenticateAction",value:(r=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l,d;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=[],s=!(o=!0),c=void 0,e.prev=7,u=r[Symbol.iterator]();case 9:if(o=(l=u.next()).done){e.next=18;break}return d=l.value,e.next=13,this._verifyAuthenticationParameters(d,n[d]);case 13:e.sent?i.push(d):a.push(d);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,c=e.t0;case 24:e.prev=24,e.prev=25,o||null==u.return||u.return();case 27:if(e.prev=27,s)throw c;e.next=30;break;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:(n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),i=function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),t==l.CredentialAccountPassword)return e.abrupt("return",r(n));e.next=6;break;case 6:if(t==l.CredentialLocalPasscode)return e.abrupt("return",i(n));e.next=8;break;case 8:case"end":return e.stop()}},e)})),function(e,t){return n.apply(this,arguments)})}]),l}();we.SFPrivilegesManager=Q;var ee="sessionHistory_persist",te="sessionHistory_revisions",ne="sessionHistory_autoOptimize",re=function(){function a(e,t,n,r,i){var d=this;V(this,a),this.modelManager=e,this.storageManager=t,this.$timeout=i||setTimeout.bind(window),this.keyRequestHandler=n,this.loadFromDisk().then(function(){d.modelManager.addItemSyncObserver("session-history",r,function(e,t,n,r,i){if(r!==Z.MappingSourceLocalDirtied){var a=!0,o=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var l=c.value;try{d.addHistoryEntryForItem(l)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){o=!0,s=e}finally{try{a||null==u.return||u.return()}finally{if(o)throw s}}}})})}var e,t,n,r,i,o,s;return q(a,[{key:"encryptionParams",value:(s=z(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=z(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:(i=z(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(te));case 2:case"end":return e.stop()}},e,this)})),function(){return i.apply(this,arguments)})},{key:"toggleDiskSaving",value:(r=z(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(ee,JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem(ee,JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem(te));case 8:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})},{key:"saveToDisk",value:(n=z(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 ue(this.historySession,t.keys,t.auth_params).paramsForSync().then(function(e){n.storageManager.setItem(te,JSON.stringify(e))});case 7:case"end":return e.stop()}},e,this)})),function(){return n.apply(this,arguments)})},{key:"loadFromDisk",value:(t=z(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(ee);case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem(te);case 6:if(n=e.sent)return n=JSON.parse(n),e.next=11,this.encryptionParams();e.next=18;break;case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:i=new fe(n),this.historySession=i,e.next=19;break;case 18:this.historySession=new fe;case 19:return e.next=21,this.storageManager.getItem(ne);case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"toggleAutoOptimize",value:(e=z(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(ne,JSON.stringify(!0)):this.storageManager.setItem(ne,JSON.stringify(!1));case 2:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})}]),a}();we.SFSessionHistoryManager=re;var ie=function(){function t(i,e){var c=this;V(this,t),this.syncManager=e,this.modelManager=i,this.singletonHandlers=[],i.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,t,n,r){r!==Z.MappingSourceLocalDirtied&&c.resolveSingletons(i.allNondummyItems,null,!0)}}),e.addEventHandler(function(e,t){if("local-data-loaded"==e)c.resolveSingletons(i.allNondummyItems,null,!0),c.initialDataLoaded=!0;else if("sync:completed"==e){if(!c.initialDataLoaded)return;c.resolveSingletons(t.retrievedItems,t.savedItems)}}),i.addModelUuidChangeObserver("singleton-manager",function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=c.singletonHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.singleton&&le.ItemSatisfiesPredicates(t,s.predicates)&&(s.singleton=null,c.resolveSingletons([t]))}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}})}return q(t,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(v,g,y){var k=this;v=v||[],g=g||[];var e=!0,t=!1,n=void 0;try{function r(){function e(){t.createBlock&&(t.pendingCreateBlockCallback=!0,t.createBlock(function(e){t.singleton=e,t.pendingCreateBlockCallback=!1,t.resolutionCallback&&t.resolutionCallback(e)}))}var t=b.value,n=t.predicates.slice(),r=k.modelManager.filterItemsWithPredicates(v,n),i=k.modelManager.filterItemsWithPredicates(g,n).length;if(0<r.length||0<i){var a=k.modelManager.itemsMatchingPredicates(n);if(2<=a.length){var o=a.sort(function(e,t){return e.errorDecrypting?1:t.errorDecrypting?-1:e.created_at<t.created_at?-1:1}),s=o[0],c=o.slice(1,o.length),u=!0,l=!1,d=void 0;try{for(var f,p=c[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){var h=f.value;k.modelManager.setItemToBeDeleted(h)}}catch(e){l=!0,d=e}finally{try{u||null==p.return||p.return()}finally{if(l)throw d}}k.syncManager.sync(),t.singleton=s,t.resolutionCallback&&t.resolutionCallback(s)}else if(1==a.length){var m=a[0];m.errorDecrypting?(k.modelManager.setItemToBeDeleted(m),e()):t.singleton&&t.singleton===m||(t.singleton=m,t.resolutionCallback&&t.resolutionCallback(m))}}else t.singleton||y||t.pendingCreateBlockCallback||e()}for(var b,i=this.singletonHandlers[Symbol.iterator]();!(e=(b=i.next()).done);e=!0)r()}catch(e){t=!0,n=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}}}]),t}();we.SFSingletonManager=ie;var ae=function(){function e(){V(this,e)}var t,n,r,i,a,o,s,c,u,l;return q(e,[{key:"setItem",value:(l=z(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e,t){return l.apply(this,arguments)})},{key:"getItem",value:(u=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return u.apply(this,arguments)})},{key:"removeItem",value:(c=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return c.apply(this,arguments)})},{key:"clear",value:(s=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(){return s.apply(this,arguments)})},{key:"getAllModels",value:(o=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(){return o.apply(this,arguments)})},{key:"saveModel",value:(a=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.saveModels([t]));case 1:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"saveModels",value:(i=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return i.apply(this,arguments)})},{key:"deleteModel",value:(r=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"clearAllModels",value:(n=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)})),function(){return n.apply(this,arguments)})},{key:"clearAllData",value:(t=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([this.clear(),this.clearAllModels()]));case 1:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})}]),e}();we.SFStorageManager=ae;var oe,se=function(){function P(e,t,n,r,i){V(this,P),P.KeyRequestLoadLocal="KeyRequestLoadLocal",P.KeyRequestSaveLocal="KeyRequestSaveLocal",P.KeyRequestLoadSaveAccount="KeyRequestLoadSaveAccount",this.httpManager=n,this.modelManager=e,this.storageManager=t,this.$interval=i||setInterval.bind(window),this.$timeout=r||setTimeout.bind(window),this.syncStatus={},this.syncStatusObservers=[],this.eventHandlers=[],this.PerSyncItemUploadLimit=150,this.ServerItemDownloadLimit=150,this.MajorDataChangeThreshold=15,this.MaxDiscordanceBeforeOutOfSync=5,this.syncDiscordance=0,this.outOfSync=!1}var e,t,n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x;return q(P,[{key:"handleServerIntegrityHash",value:(x=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!=t.length){e.next=2;break}return e.abrupt("return",!0);case 2:return e.next=4,this.modelManager.computeDataIntegrityHash();case 4:if(n=e.sent){e.next=7;break}return e.abrupt("return",!0);case 7:if(n!==t)return this.syncDiscordance++,this.syncDiscordance>=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);e.next=13;break;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 x.apply(this,arguments)})},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:(w=z(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 w.apply(this,arguments)})},{key:"getSyncURL",value:(b=z(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 b.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 t=this;this.syncStatusObservers.forEach(function(e){e.callback(t.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:(k=z(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 k.apply(this,arguments)})},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var o=this;return e.sort(function(e,t){var n=new Date(t.updated_at)-new Date(e.updated_at),r=o.contentTypeLoadPriority,i=0,a=0;return r&&(i=r.indexOf(e.content_type),a=r.indexOf(t.content_type),-1==i&&(i=r.length),-1==a&&(a=r.length)),i==a?n:i<a?-1:1})}},{key:"loadLocalItems",value:(y=z(regeneratorRuntime.mark(function e(){var t,c,u,n,r,l=this,i=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(c=(t=0<i.length&&void 0!==i[0]?i[0]:{}).incrementalCallback,u=t.batchSize,(n=t.options)&&n.simulateHighLatency)return r=n.simulatedLatency||1e3,e.next=5,this._awaitSleep(r);e.next=5;break;case 5:if(this.loadLocalDataPromise)return e.abrupt("return",this.loadLocalDataPromise);e.next=7;break;case 7:return u=u||100,this.loadLocalDataPromise=this.storageManager.getAllModels().then(function(r){var i=(r=(r=l._sortLocalItems(r)).filter(function(e){var t=l.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate})).length,a=0,o=[],s=function(){var e=z(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.slice(a,a+u),e.next=3,l.handleItemsResponse(t,null,Z.MappingSourceLocalRetrieved,P.KeyRequestLoadLocal);case 3:if(n=e.sent,o.push(n),(a+=t.length)<i)return e.abrupt("return",new Promise(function(e,t){l.$timeout(function(){l.notifyEvent("local-data-incremental-load"),c&&c(a,i),s().then(e)})}));e.next=10;break;case 10:l._initialDataLoaded=!0,l.notifyEvent("local-data-loaded");case 12:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return s()}),e.abrupt("return",this.loadLocalDataPromise);case 10:case"end":return e.stop()}},e,this)})),function(){return y.apply(this,arguments)})},{key:"writeItemsToLocalStorage",value:(g=z(regeneratorRuntime.mark(function e(p,h){var m=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0==p.length)return e.abrupt("return");e.next=2;break;case 2:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(r=[],i=[],o=!(a=!0),s=void 0,e.prev=4,c=p[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)!0!==(l=u.value).deleted||l.dirty?r.push(l):i.push(l);e.next=12;break;case 8:e.prev=8,e.t0=e.catch(4),o=!0,s=e.t0;case 12:e.prev=12,e.prev=13,a||null==c.return||c.return();case 15:if(e.prev=15,o)throw s;e.next=18;break;case 18:return e.finish(15);case 19:return e.finish(12);case 20:if(0<i.length)return e.next=23,Promise.all(i.map(function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",m.storageManager.deleteModel(t));case 1:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}()));e.next=23;break;case 23:return e.next=25,m.getActiveKeyInfo(P.KeyRequestSaveLocal);case 25:if(d=e.sent,0<r.length)return e.next=29,Promise.all(r.map(function(){var t=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=new ue(t,d.keys,d.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,h&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}())).catch(function(e){return n(e)});e.next=33;break;case 29:return f=e.sent,e.next=32,m.storageManager.saveModels(f).catch(function(e){console.error("Error writing items",e),m.syncStatus.localError=e,m.syncStatusDidChange(),n()});case 32:m.syncStatus.localError&&(m.syncStatus.localError=null,m.syncStatusDidChange());case 33:t();case 34:case"end":return e.stop()}},e,null,[[4,8,12,20],[13,,15,19]])}));return function(e,t){return n.apply(this,arguments)}}()));case 3:case"end":return e.stop()}},e)})),function(e,t){return g.apply(this,arguments)})},{key:"syncOffline",value:(v=z(regeneratorRuntime.mark(function e(s){var t,n,r,i,a,c=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!(t=!0),r=void 0,e.prev=3,i=s[Symbol.iterator]();!(t=(a=i.next()).done);t=!0)a.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),n=!0,r=e.t0;case 11:e.prev=11,e.prev=12,t||null==i.return||i.return();case 14:if(e.prev=14,n)throw r;e.next=17;break;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(s,!0).then(function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=s[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;o.deleted&&c.modelManager.removeItemLocally(o)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}return c.modelManager.clearDirtyItems(s),c.modelManager.didSyncModelsOffline(s),c.notifyEvent("sync:completed",{savedItems:s}),{saved_items:s}}));case 20:case"end":return e.stop()}},e,this,[[3,7,11,19],[12,,14,18]])})),function(e){return v.apply(this,arguments)})},{key:"markAllItemsDirtyAndSaveOffline",value:(m=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,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(),i=!(r=!0),a=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(s=o.next()).done){e.next=14;break}return c=s.value,e.next=11,this.modelManager.alternateUUIDForItem(c);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)throw a;e.next=26;break;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(u=this.modelManager.allNondummyItems,d=!(l=!0),f=void 0,e.prev=32,p=u[Symbol.iterator]();!(l=(h=p.next()).done);l=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),d=!0,f=e.t1;case 40:e.prev=40,e.prev=41,l||null==p.return||p.return();case 43:if(e.prev=43,d)throw f;e.next=46;break;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(u,!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:(h=z(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 h.apply(this,arguments)})},{key:"getSyncToken",value:(p=z(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 p.apply(this,arguments)})},{key:"setCursorToken",value:(f=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t)return e.next=4,this.storageManager.setItem("cursorToken",t);e.next=6;break;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 f.apply(this,arguments)})},{key:"getCursorToken",value:(d=z(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 d.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(){5<(new Date-this.syncStatus.syncStart)/1e3&&(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:(l=z(regeneratorRuntime.mark(function e(){var g,y=this,t=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(g=0<t.length&&void 0!==t[0]?t[0]:{},this.syncLocked)return console.log("Sync Locked, Returning;"),e.abrupt("return");e.next=4;break;case 4:return e.abrupt("return",new Promise(function(){var n=z(regeneratorRuntime.mark(function e(n,t){var r,i,a,o,s,c,u,l,d,f,p,h,m,v;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return g=g||{},r=y.modelManager.getDirtyItems(),i=r.filter(function(e){return!y.lastDirtyItemsSave||e.dirtiedDate>y.lastDirtyItemsSave}),e.next=5,y.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 5:if(a=e.sent,o=y.syncStatus.syncOpInProgress,s=y.initialDataLoaded(),o||!s)return y.performSyncAgainOnCompletion=!0,y.lastDirtyItemsSave=new Date,e.next=13,y.writeItemsToLocalStorage(i,!1);e.next=16;break;case 13:return o&&(y.queuedCallbacks.push(n),y.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),s||(y.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),n()),e.abrupt("return");case 16:if(y.syncStatus.syncOpInProgress=!0,a.offline)return e.abrupt("return",y.syncOffline(r).then(function(e){y.syncStatus.syncOpInProgress=!1,n(e)}).catch(function(e){y.notifyEvent("sync-exception",e)}));e.next=19;break;case 19:if(y.initialDataLoaded()){e.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),e.abrupt("return");case 22:return y.loggingEnabled&&console.log("Syncing online user."),c=y.syncStatus.needsMoreSync,y.syncStatus.syncStart=new Date,y.beginCheckingIfSyncIsTakingTooLong(),u=y.PerSyncItemUploadLimit,(l=r.slice(0,u)).length<r.length?y.syncStatus.needsMoreSync=!0:y.syncStatus.needsMoreSync=!1,c||(y.syncStatus.total=r.length,y.syncStatus.current=0),y.syncStatus.current>y.syncStatus.total&&(y.syncStatus.total=y.syncStatus.current),y.syncStatusDidChange(),e.next=34,y.writeItemsToLocalStorage(i,!1);case 34:return y.lastDirtyItemsSave=new Date,g.onPreSyncSave&&g.onPreSyncSave(),y.allRetreivedItems||(y.allRetreivedItems=[]),y.allSavedItems||(y.allSavedItems=[]),(d={}).limit=y.ServerItemDownloadLimit,g.performIntegrityCheck&&(d.compute_integrity=!0),e.prev=41,e.next=44,Promise.all(l.map(function(e){var t=new ue(e,a.keys,a.auth_params);return t.additionalFields=g.additionalFields,t.paramsForSync()})).then(function(e){d.items=e});case 44:e.next=49;break;case 46:e.prev=46,e.t0=e.catch(41),y.notifyEvent("sync-exception",e.t0);case 49:for(p=!(f=!0),h=void 0,e.prev=52,m=l[Symbol.iterator]();!(f=(v=m.next()).done);f=!0)v.value.dirtyCount=0;e.next=60;break;case 56:e.prev=56,e.t1=e.catch(52),p=!0,h=e.t1;case 60:e.prev=60,e.prev=61,f||null==m.return||m.return();case 63:if(e.prev=63,p)throw h;e.next=66;break;case 66:return e.finish(63);case 67:return e.finish(60);case 68:return e.next=70,y.getSyncToken();case 70:return d.sync_token=e.sent,e.next=73,y.getCursorToken();case 73:return d.cursor_token=e.sent,d.api=Y.getApiVersion(),y.loggingEnabled&&console.log("Syncing with params",d),e.prev=76,e.t2=y.httpManager,e.next=80,y.getSyncURL();case 80:e.t3=e.sent,e.t4=d,e.t5=function(e){y.handleSyncSuccess(l,e,g).then(function(){n(e)}).catch(function(t){console.log("Caught sync success exception:",t),y.handleSyncError(t,null,r).then(function(e){y.notifyEvent("sync-exception",t),n(e)})})},e.t6=function(e,t){y.handleSyncError(e,t,r).then(function(e){n(e)})},e.t2.postAuthenticatedAbsolute.call(e.t2,e.t3,e.t4,e.t5,e.t6),e.next=90;break;case 87:e.prev=87,e.t7=e.catch(76),console.log("Sync exception caught:",e.t7);case 90:case"end":return e.stop()}},e,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])}));return function(e,t){return n.apply(this,arguments)}}()));case 5:case"end":return e.stop()}},e,this)})),function(){return l.apply(this,arguments)})},{key:"_awaitSleep",value:(u=z(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",n),e.abrupt("return",new Promise(function(e,t){setTimeout(function(){e()},n)}));case 2:case"end":return e.stop()}},e)})),function(e){return u.apply(this,arguments)})},{key:"handleSyncSuccess",value:(c=z(regeneratorRuntime.mark(function e(t,n,r){var i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r.simulateHighLatency)return i=r.simulatedLatency||1e3,e.next=4,this._awaitSleep(i);e.next=4;break;case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",n),a=this.allSavedItems.map(function(e){return e.uuid}),o=n.saved_items.map(function(e){return e.uuid}),n.retrieved_items=n.retrieved_items.filter(function(e){var t=a.includes(e.uuid),n=o.includes(e.uuid);if(t||n)return!1;var r=b.modelManager.findItem(e.uuid);return!r||!r.dirty}),s=[],u=!(c=!0),l=void 0,e.prev=13,d=t[Symbol.iterator]();!(c=(f=d.next()).done);c=!0)0==(p=f.value).dirtyCount&&s.push(p);e.next=21;break;case 17:e.prev=17,e.t0=e.catch(13),u=!0,l=e.t0;case 21:e.prev=21,e.prev=22,c||null==d.return||d.return();case 24:if(e.prev=24,u)throw l;e.next=27;break;case 27:return e.finish(24);case 28:return e.finish(21);case 29:return this.modelManager.clearDirtyItems(s),e.next=32,this.handleItemsResponse(n.retrieved_items,null,Z.MappingSourceRemoteRetrieved,P.KeyRequestLoadSaveAccount);case 32:return h=e.sent,this.allRetreivedItems=this.allRetreivedItems.concat(h),this.syncStatus.retrievedCount=this.allRetreivedItems.length,m=["content","auth_hash"],e.next=38,this.handleItemsResponse(n.saved_items,m,Z.MappingSourceRemoteSaved,P.KeyRequestLoadSaveAccount);case 38:return v=e.sent,this.allSavedItems=this.allSavedItems.concat(v),g=n.unsaved,e.next=43,this.deprecated_handleUnsavedItemsResponse(g);case 43:return e.next=45,this.handleConflictsResponse(n.conflicts);case 45:if(y=e.sent,k=y&&0<y.length,y)return e.next=50,this.writeItemsToLocalStorage(y,!1);e.next=50;break;case 50:return e.next=52,this.writeItemsToLocalStorage(v,!1);case 52:return e.next=54,this.writeItemsToLocalStorage(h,!1);case 54:if(n.integrity_hash&&!n.cursor_token)return e.next=57,this.handleServerIntegrityHash(n.integrity_hash);e.next=59;break;case 57:e.sent||this.syncDiscordance<this.MaxDiscordanceBeforeOutOfSync&&(this.performSyncAgainOnCompletion=!0);case 59:return this.syncStatus.syncOpInProgress=!1,this.syncStatus.current+=t.length,this.syncStatusDidChange(),this.setSyncToken(n.sync_token),this.setCursorToken(n.cursor_token),this.stopCheckingIfSyncIsTakingTooLong(),e.next=67,this.getCursorToken();case 67:if(e.sent||this.syncStatus.needsMoreSync)return e.abrupt("return",new Promise(function(e,t){setTimeout(function(){this.sync(r).then(e)}.bind(b),10)}));e.next=72;break;case 72:if(k)return this.performSyncAgainOnCompletion=!1,e.abrupt("return",new Promise(function(e,t){setTimeout(function(){b.sync(r).then(e)},10)}));e.next=77;break;case 77:return this.syncStatus.retrievedCount=0,this.syncStatus.current=0,this.syncStatus.total=0,this.syncStatusDidChange(),(this.allRetreivedItems.length>=this.majorDataChangeThreshold||v.length>=this.majorDataChangeThreshold||g&&g.length>=this.majorDataChangeThreshold||y&&y.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(){b.sync(r)},10)),e.abrupt("return",n);case 88:case"end":return e.stop()}},e,this,[[13,17,21,29],[22,,24,28]])})),function(e,t,n){return c.apply(this,arguments)})},{key:"handleSyncError",value:(s=z(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 s.apply(this,arguments)})},{key:"handleItemsResponse",value:(o=z(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,0<(s=o.filter(function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t})).length&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}},e,this)})),function(e,t,n,r){return o.apply(this,arguments)})},{key:"refreshErroredItems",value:(a=z(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0<(t=this.modelManager.allNondummyItems.filter(function(e){return 1==e.errorDecrypting})).length)return e.abrupt("return",this.handleItemsResponse(t,null,Z.MappingSourceLocalRetrieved,P.KeyRequestLoadSaveAccount));e.next=3;break;case 3:case"end":return e.stop()}},e,this)})),function(){return a.apply(this,arguments)})},{key:"handleConflictsResponse",value:(i=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d,f,p,h,m,v,g,y,k,b,w,x,S,$,_,M,I,C,A,R,D,E,O;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!=t.length){e.next=2;break}return e.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",t),n={},i=!(r=!0),a=void 0,e.prev=7,o=t[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=21;break}if(c=s.value,u=c.server_item||c.unsaved_item,l=this.modelManager.findItem(u.uuid)){e.next=16;break}return n[u.uuid]={},e.abrupt("continue",18);case 16:d=l.getContentCopy(),n[u.uuid]={frozenContent:d,itemRef:l};case 18:r=!0,e.next=9;break;case 21:e.next=27;break;case 23:e.prev=23,e.t0=e.catch(7),i=!0,a=e.t0;case 27:e.prev=27,e.prev=28,r||null==o.return||o.return();case 30:if(e.prev=30,i)throw a;e.next=33;break;case 33:return e.finish(30);case 34:return e.finish(27);case 35:f=[],h=!(p=!0),m=void 0,e.prev=39,v=t[Symbol.iterator]();case 41:if(p=(g=v.next()).done){e.next=91;break}return y=g.value,k=y.server_item||y.unsaved_item,e.t1=SFJS.itemTransformer,e.t2=[k],e.next=48,this.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 48:return e.t3=e.sent.keys,e.next=51,e.t1.decryptMultipleItems.call(e.t1,e.t2,e.t3);case 51:if(b=n[k.uuid],w=b.frozenContent,x=b.itemRef){e.next=54;break}return e.abrupt("continue",88);case 54:if(f.push(x),"uuid_conflict"===y.type)return e.next=58,this.modelManager.alternateUUIDForItem(x);e.next=62;break;case 58:S=e.sent,f.push(S),e.next=88;break;case 62:if("sync_conflict"===y.type)return e.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);e.next=86;break;case 65:if($=e.sent,_=this.modelManager.duplicateItemWithCustomContent({content:w,duplicateOf:x}),M=!_.isItemContentEqualWith($),I=!x.isItemContentEqualWith($),D=R=A=C=!1,k.deleted||x.deleted?D=!0:M?(20,(new Date-x.client_updated_at)/1e3<20?A=R=!0:D=C=!0):I?(E=!ce.AreItemContentsEqual({leftContent:x.content,rightContent:$.content,keysToIgnore:x.keysToIgnoreWhenCheckingContentEquality().concat(["references"]),appDataKeysToIgnore:x.appDataKeysToIgnoreWhenCheckingContentEquality()}),!E?R=!0:D=C=!0):D=!0,C)return e.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:w,duplicateOf:x});e.next=79;break;case 77:O=e.sent,f.push(O);case 79:if(A&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:$,duplicateOf:x}),f.push($)),D)return e.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([k],null,Z.MappingSourceRemoteRetrieved);e.next=83;break;case 83:R&&(x.updated_at=$.updated_at,x.setDirty(!0)),e.next=88;break;case 86:return console.error("Unsupported conflict type",y.type),e.abrupt("continue",88);case 88:p=!0,e.next=41;break;case 91:e.next=97;break;case 93:e.prev=93,e.t4=e.catch(39),h=!0,m=e.t4;case 97:e.prev=97,e.prev=98,p||null==v.return||v.return();case 100:if(e.prev=100,h)throw m;e.next=103;break;case 103:return e.finish(100);case 104:return e.finish(97);case 105:return e.abrupt("return",f);case 106:case"end":return e.stop()}},e,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])})),function(e){return i.apply(this,arguments)})},{key:"deprecated_handleUnsavedItemsResponse",value:(r=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u,l,d;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!=t.length){e.next=2;break}return e.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Unsaved Items:",t),r=!(n=!0),i=void 0,e.prev=6,a=t[Symbol.iterator]();case 8:if(n=(o=a.next()).done){e.next=35;break}return s=o.value,c=s.item,e.t0=SFJS.itemTransformer,e.t1=[c],e.next=15,this.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 15:return e.t2=e.sent.keys,e.next=18,e.t0.decryptMultipleItems.call(e.t0,e.t1,e.t2);case 18:if(u=this.modelManager.findItem(c.uuid)){e.next=21;break}return e.abrupt("continue",32);case 21:if("uuid_conflict"===(l=s.error).tag)return e.next=25,this.modelManager.alternateUUIDForItem(u);e.next=27;break;case 25:e.next=32;break;case 27:if("sync_conflict"===l.tag)return e.next=30,this.modelManager.createDuplicateItemFromResponseItem(c);e.next=32;break;case 30:d=e.sent,c.deleted||u.isItemContentEqualWith(d)||this.modelManager.addDuplicatedItemAsConflict({duplicate:d,duplicateOf:u});case 32:n=!0,e.next=8;break;case 35:e.next=41;break;case 37:e.prev=37,e.t3=e.catch(6),r=!0,i=e.t3;case 41:e.prev=41,e.prev=42,n||null==a.return||a.return();case 44:if(e.prev=44,r)throw i;e.next=47;break;case 47:return e.finish(44);case 48:return e.finish(41);case 49:case"end":return e.stop()}},e,this,[[6,37,41,49],[42,,44,48]])})),function(e){return r.apply(this,arguments)})},{key:"stateless_downloadAllItems",value:function(e){var a=this,o=0<arguments.length&&void 0!==e?e:{};return new Promise(function(){var n=z(regeneratorRuntime.mark(function e(i,n){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t={limit:o.limit||500,sync_token:o.syncToken,cursor_token:o.cursorToken,content_type:o.contentType,event:o.event,api:Y.getApiVersion()},e.prev=1,e.t0=a.httpManager,e.next=5,a.getSyncURL();case 5:e.t1=e.sent,e.t2=t,e.t3=function(){var t=z(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o.retrievedItems||(o.retrievedItems=[]),n=t.retrieved_items,e.next=4,a.getActiveKeyInfo(P.KeyRequestLoadSaveAccount);case 4:return r=e.sent.keys,e.next=7,SFJS.itemTransformer.decryptMultipleItems(n,r);case 7:o.retrievedItems=o.retrievedItems.concat(n.map(function(e){return a.modelManager.createItem(e)})),o.syncToken=t.sync_token,o.cursorToken=t.cursor_token,o.cursorToken?a.stateless_downloadAllItems(o).then(i):i(o.retrievedItems);case 11:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}(),e.t4=function(e,t){n(e)},e.t0.postAuthenticatedAbsolute.call(e.t0,e.t1,e.t2,e.t3,e.t4),e.next=16;break;case 12:e.prev=12,e.t5=e.catch(1),console.log("Download all items exception caught:",e.t5),n(e.t5);case 16:case"end":return e.stop()}},e,null,[[1,12]])}));return function(e,t){return n.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:(n=z(regeneratorRuntime.mark(function e(){var l=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 t=z(regeneratorRuntime.mark(function e(t){var n,r,i,a,o,s,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=[],i=!(r=!0),a=void 0,e.prev=4,o=t[Symbol.iterator]();case 6:if(r=(s=o.next()).done){e.next=18;break}if(c=s.value,!(u=l.modelManager.findItem(c.uuid))){e.next=14;break}if(!c.isItemContentEqualWith(u))return e.next=14,l.modelManager.duplicateItemAndAddAsConflict(u);e.next=14;break;case 14:n.push(c);case 15:r=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),i=!0,a=e.t0;case 24:e.prev=24,e.prev=25,r||null==o.return||o.return();case 27:if(e.prev=27,i)throw a;e.next=30;break;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,l.modelManager.mapResponseItemsToLocalModelsWithOptions({items:n,source:Z.MappingSourceRemoteRetrieved});case 34:return e.next=36,l.writeItemsToLocalStorage(l.modelManager.allNondummyItems);case 36:return e.abrupt("return",l.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}},e,null,[[4,20,24,32],[25,,27,31]])}));return function(e){return t.apply(this,arguments)}}()));case 1:case"end":return e.stop()}},e,this)})),function(){return n.apply(this,arguments)})},{key:"handleSignout",value:(t=z(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 t.apply(this,arguments)})},{key:"clearSyncToken",value:(e=z(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 e.apply(this,arguments)})},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),P}();we.SFSyncManager=se;var ce=function(){function o(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};V(this,o),this.content={},this.referencingObjects=[],this.updateFromJSON(e),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==H(this.content)||this.content.references||(this.content.references=[])}var e;return q(o,[{key:"initUUID",value:(e=z(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 e.apply(this,arguments)})},{key:"updateFromJSON",value:function(e){if(e){this.deleted=e.deleted,this.uuid=e.uuid,this.enc_item_key=e.enc_item_key,this.auth_hash=e.auth_hash,this.auth_params=e.auth_params;for(var t=0,n=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];t<n.length;t++){var r=n[t];void 0!==e[r]&&(this[r]=e[r])}if(this.dirtiedDate&&"string"==typeof this.dirtiedDate&&(this.dirtiedDate=new Date(this.dirtiedDate)),this.content_type||(this.content_type=e.content_type),e.errorDecrypting)this.content=e.content;else try{var i="string"==typeof e.content?JSON.parse(e.content):e.content;o.deepMerge(this.contentObject,i)}catch(e){console.log("Error while updating item from json",e)}e.created_at&&(this.created_at=e.created_at),e.updated_at&&(this.updated_at=e.updated_at),this.created_at?this.created_at=new Date(this.created_at):this.created_at=new Date,this.updated_at?this.updated_at=new Date(this.updated_at):this.updated_at=new Date(0),this._client_updated_at=null,e.content?this.mapContentToLocalProperties(this.contentObject):1==e.deleted&&this.handleDeletedContent()}}},{key:"mapContentToLocalProperties",value:function(){}},{key:"createContentJSONFromProperties",value:function(){var e=this.structureParams();return o.deepMerge(this.contentObject,e),e}},{key:"structureParams",value:function(){return this.getContentCopy()}},{key:"handleDeletedContent",value:function(){}},{key:"setDirty",value:function(e,t){this.dirty=e,this.dirtyCount||(this.dirtyCount=0),e?this.dirtyCount++:this.dirtyCount=0,this.dirtiedDate=new Date,e&&t?this.client_updated_at=new Date:this.hasRawClientUpdatedAtValue()||(this.client_updated_at=new Date(this.updated_at))}},{key:"updateLocalRelationships",value:function(){}},{key:"addItemAsRelationship",value:function(e){if(e.setIsBeingReferencedBy(this),!this.hasRelationshipWithItem(e)){var t=this.content.references||[];t.push({uuid:e.uuid,content_type:e.content_type}),this.content.references=t}}},{key:"removeItemAsRelationship",value:function(e){e.setIsNoLongerBeingReferencedBy(this),this.removeReferenceWithUuid(e.uuid)}},{key:"setIsBeingReferencedBy",value:function(e){_.find(this.referencingObjects,{uuid:e.uuid})||this.referencingObjects.push(e)}},{key:"setIsNoLongerBeingReferencedBy",value:function(e){_.remove(this.referencingObjects,{uuid:e.uuid}),this.hasRelationshipWithItem(e)&&(this.removeReferenceWithUuid(e.uuid),this.setDirty(!0))}},{key:"removeReferenceWithUuid",value:function(t){var e=this.content.references||[];e=e.filter(function(e){return e.uuid!=t}),this.content.references=e}},{key:"hasRelationshipWithItem",value:function(t){return null!=this.content.references.find(function(e){return e.uuid==t.uuid})}},{key:"isBeingRemovedLocally",value:function(){}},{key:"didFinishSyncing",value:function(){}},{key:"informReferencesOfUUIDChange",value:function(){}},{key:"potentialItemOfInterestHasChangedItsUUID",value:function(e,t,n){if(!this.errorDecrypting){var r=!0,i=!1,a=void 0;try{for(var o,s=this.content.references[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var c=o.value;c.uuid==t&&(c.uuid=n,this.setDirty(!0))}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}}},{key:"doNotEncrypt",value:function(){return!1}},{key:"setDomainDataItem",value:function(e,t,n){if(n){if(!this.errorDecrypting){this.content.appData||(this.content.appData={});var r=this.content.appData[n];(r=r||{})[e]=t,this.content.appData[n]=r}}else console.error("SFItem.AppDomain needs to be set.")}},{key:"getDomainDataItem",value:function(e,t){if(t){if(!this.errorDecrypting){this.content.appData||(this.content.appData={});var n=this.content.appData[t];return n?n[e]:null}}else console.error("SFItem.AppDomain needs to be set.")}},{key:"setAppDataItem",value:function(e,t){this.setDomainDataItem(e,t,o.AppDomain)}},{key:"getAppDataItem",value:function(e){return this.getDomainDataItem(e,o.AppDomain)}},{key:"hasRawClientUpdatedAtValue",value:function(){return null!=this.getAppDataItem("client_updated_at")}},{key:"keysToIgnoreWhenCheckingContentEquality",value:function(){return[]}},{key:"appDataKeysToIgnoreWhenCheckingContentEquality",value:function(){return["client_updated_at"]}},{key:"getContentCopy",value:function(){return JSON.parse(JSON.stringify(this.content))}},{key:"isItemContentEqualWith",value:function(e){return o.AreItemContentsEqual({leftContent:this.content,rightContent:e.content,keysToIgnore:this.keysToIgnoreWhenCheckingContentEquality(),appDataKeysToIgnore:this.appDataKeysToIgnoreWhenCheckingContentEquality()})}},{key:"satisfiesPredicate",value:function(e){return le.ItemSatisfiesPredicate(this,e)}},{key:"createdAtString",value:function(){return this.dateToLocalizedString(this.created_at)}},{key:"updatedAtString",value:function(){return this.dateToLocalizedString(this.client_updated_at)}},{key:"updatedAtTimestamp",value:function(){return this.updated_at.getTime()}},{key:"dateToLocalizedString",value:function(e){if("undefined"!=typeof Intl&&Intl.DateTimeFormat){if(!oe){var t=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language;oe=new Intl.DateTimeFormat(t,{year:"numeric",month:"short",day:"2-digit",weekday:"long",hour:"2-digit",minute:"2-digit"})}return oe.format(e)}return e.toDateString()+" "+e.toLocaleTimeString()}},{key:"contentObject",get:function(){if(this.errorDecrypting)return this.content;if(!this.content)return this.content={},this.content;if(null!==this.content&&"object"===H(this.content))return this.content;try{var e=JSON.parse(this.content);return this.content=e,this.content}catch(e){return console.log("Error parsing json",e,this),this.content={},this.content}}},{key:"pinned",get:function(){return this.getAppDataItem("pinned")}},{key:"archived",get:function(){return this.getAppDataItem("archived")}},{key:"locked",get:function(){return this.getAppDataItem("locked")}},{key:"displayName",get:function(){return"Item"}},{key:"client_updated_at",get:function(){if(!this._client_updated_at){var e=this.getAppDataItem("client_updated_at");this._client_updated_at=e?new Date(e):new Date(this.updated_at)}return this._client_updated_at},set:function(e){this._client_updated_at=e,this.setAppDataItem("client_updated_at",e)}}],[{key:"deepMerge",value:function(e,t){return _.mergeWith(e,t,function(e,t){if(_.isArray(e))return t}),e}},{key:"AreItemContentsEqual",value:function(e){function t(e,t){if(!e)return e;var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){delete e[a.value]}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return e}var n=e.leftContent,r=e.rightContent,i=e.keysToIgnore,a=e.appDataKeysToIgnore;return(n=JSON.parse(JSON.stringify(n))).appData&&t(n.appData[o.AppDomain],a),n=t(n,i),(r=JSON.parse(JSON.stringify(r))).appData&&t(r.appData[o.AppDomain],a),r=t(r,i),JSON.stringify(n)===JSON.stringify(r)}}]),o}();we.SFItem=ce;var ue=function(){function r(e,t,n){if(V(this,r),this.item=e,this.keys=t,this.auth_params=n,this.keys&&!this.auth_params)throw"SFItemParams.auth_params must be supplied if supplying keys.";if(this.auth_params&&!this.auth_params.version)throw"SFItemParams.auth_params is missing version"}var e,t,n,i,a;return q(r,[{key:"paramsForExportFile",value:(a=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.forExportFile=!0,t)return e.abrupt("return",this.__params());e.next=5;break;case 5:return e.next=7,this.__params();case 7:return n=e.sent,e.abrupt("return",_.omit(n,["deleted"]));case 9:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"paramsForExtension",value:(i=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.paramsForExportFile());case 1:case"end":return e.stop()}},e,this)})),function(){return i.apply(this,arguments)})},{key:"paramsForLocalStorage",value:(n=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.additionalFields=["dirty","dirtiedDate","errorDecrypting"],this.forExportFile=!0,e.abrupt("return",this.__params());case 3:case"end":return e.stop()}},e,this)})),function(){return n.apply(this,arguments)})},{key:"paramsForSync",value:(t=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.__params());case 1:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"__params",value:(e=z(regeneratorRuntime.mark(function e(){var t,n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t={uuid:this.item.uuid,content_type:this.item.content_type,deleted:this.item.deleted,created_at:this.item.created_at,updated_at:this.item.updated_at},this.item.errorDecrypting){e.next=23;break}if(n=this.item.doNotEncrypt()&&!this.forExportFile,this.keys&&!n)return e.next=6,SFJS.itemTransformer.encryptItem(this.item,this.keys,this.auth_params);e.next=11;break;case 6:r=e.sent,_.merge(t,r),"001"!==this.auth_params.version&&(t.auth_hash=null),e.next=21;break;case 11:if(!this.forExportFile){e.next=15;break}e.t0=this.item.createContentJSONFromProperties(),e.next=19;break;case 15:return e.next=17,SFJS.crypto.base64(JSON.stringify(this.item.createContentJSONFromProperties()));case 17:e.t1=e.sent,e.t0="000"+e.t1;case 19:t.content=e.t0,this.forExportFile||(t.enc_item_key=null,t.auth_hash=null);case 21:e.next=26;break;case 23:t.content=this.item.content,t.enc_item_key=this.item.enc_item_key,t.auth_hash=this.item.auth_hash;case 26:return this.additionalFields&&_.merge(t,_.pick(this.item,this.additionalFields)),e.abrupt("return",t);case 28:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})}]),r}();we.SFItemParams=ue;var le=function(){function v(e,t,n){V(this,v),this.keypath=e,this.operator=t,this.value=n,v.IsRecursiveOperator(this.operator)&&(this.value=this.value.map(v.fromArray))}return q(v,null,[{key:"fromArray",value:function(e){return new v(e[0],e[1],e[2])}},{key:"ObjectSatisfiesPredicate",value:function(e,t){if(Array.isArray(t)&&(t=this.fromArray(t)),v.IsRecursiveOperator(t.operator)){if("and"===t.operator){var n=!0,r=!1,i=void 0;try{for(var a,o=t.value[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!this.ObjectSatisfiesPredicate(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}if("or"===t.operator){var c=!0,u=!1,l=void 0;try{for(var d,f=t.value[Symbol.iterator]();!(c=(d=f.next()).done);c=!0){s=d.value;if(this.ObjectSatisfiesPredicate(e,s))return!0}}catch(e){u=!0,l=e}finally{try{c||null==f.return||f.return()}finally{if(u)throw l}}return!1}}var p=t.value;"string"==typeof p&&p.includes(".ago")&&(p=this.DateFromString(p));var h=t.keypath.split(".").reduce(function(e,t){return e&&e[t]},e),m=[!1,"",null,void 0,NaN];return null==h?"!="==t.operator?!m.includes(t.value):m.includes(t.value):"="==t.operator?Array.isArray(h)?JSON.stringify(h)==JSON.stringify(p):h==p:"!="==t.operator?Array.isArray(h)?JSON.stringify(h)!=JSON.stringify(p):h!==p:"<"==t.operator?h<p:">"==t.operator?p<h:"<="==t.operator?h<=p:">="==t.operator?p<=h:"startsWith"==t.operator?h.startsWith(p):"in"==t.operator?-1!=p.indexOf(h):"includes"==t.operator?this.resolveIncludesPredicate(h,p):"matches"==t.operator&&new RegExp(p).test(h)}},{key:"resolveIncludesPredicate",value:function(e,t){if("string"==typeof t)return e.includes(t);var n;n=Array.isArray(t)?v.fromArray(t):t;var r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var c=o.value;if(this.ObjectSatisfiesPredicate(c,n))return!0}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return!1}},{key:"ItemSatisfiesPredicate",value:function(e,t){return Array.isArray(t)&&(t=v.fromArray(t)),this.ObjectSatisfiesPredicate(e,t)}},{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)}}]),v}();we.SFPredicate=le;var de=function(){function n(e){var t;return V(this,n),(t=F(this,L(n).call(this,e))).content.desktopPrivileges||(t.content.desktopPrivileges={}),t}return N(n,ce),q(n,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),q(n,[{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)}}]),n}();we.SFPrivileges=de;var fe=function(){function r(e){var n;return V(this,r),(n=F(this,L(r).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 pe(t)}),n}return N(r,ce),q(r,[{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 pe)}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var t=this.historyForItem(e);t.entries.length>r.LargeItemEntryAmountThreshold&&t.optimize()}}]),r}();(we.SFHistorySession=fe).LargeItemEntryAmountThreshold=60;var pe=function(){function c(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};if(V(this,c),this.entries||(this.entries=[]),e.entries){var t=!0,n=!1,r=void 0;try{for(var i,a=e.entries[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.createEntryForItem(o.item);s.setPreviousEntry(this.getLastEntry()),this.entries.push(s)}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}}return q(c,[{key:"createEntryForItem",value:function(e){var t=c.HistoryEntryClassMapping&&c.HistoryEntryClassMapping[e.content_type];return new(t=t||he)(e)}},{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(){function i(e){return e.deltaSize()>c.LargeEntryDeltaThreshold}function r(e,t,n){if(n?o.push(e):-1!==(t=o.indexOf(e))&&o.splice(t,1),n&&i(e)&&-1==e.operationVector()){var r=a.entries[t-1];r&&o.push(r)}}var a=this,o=[];this.entries.forEach(function(e,t){if(0==t||t==a.entries.length-1)r(e,t,!0);else{var n=i(e);r(e,t,n)}}),this.entries=this.entries.filter(function(e,t){return-1!==o.indexOf(e)})}}]),c}();(we.SFItemHistory=pe).LargeEntryDeltaThreshold=15;var he=function(){function t(e){V(this,t),this.item=ce.deepMerge({},e),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return q(t,[{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 ce(this.item),n=new ce(e.item);return t.isItemContentEqualWith(n)}}]),t}();we.SFItemHistoryEntry=he;G="undefined"!=typeof window?window:void 0!==e?e:null;var me=function(){function e(){V(this,e),this.DefaultPBKDF2Length=768}var n,r,t,i,a,o,s,c,u,l,d,f,p,h,m;return q(e,[{key:"generateUUIDSync",value:function(){var e=G.crypto||G.msCrypto;if(e){var n=new Uint32Array(4);e.getRandomValues(n);var r=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=n[++r>>3]>>r%8*4&15;return("x"==e?t:3&t|8).toString(16)})}var i=(new Date).getTime();return G.performance&&"function"==typeof G.performance.now&&(i+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=(i+16*Math.random())%16|0;return i=Math.floor(i/16),("x"==e?t:3&t|8).toString(16)})}},{key:"generateUUID",value:(m=z(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 n=String(e),r=String(t),i=n.length,a=0;i!==r.length&&(r=n,a=1);for(var o=0;o<i;o++)a|=n.charCodeAt(o)^r.charCodeAt(o);return 0===a}},{key:"decryptText",value:(h=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d,f=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=(t=0<f.length&&void 0!==f[0]?f[0]:{}).ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,(1<f.length?f[1]:void 0)&&!o)return console.error("Auth hash is required."),e.abrupt("return");e.next=5;break;case 5:if(o)return e.next=8,this.hmac256(n,s);e.next=12;break;case 8:if(c=e.sent,!1===this.timingSafeEqual(o,c))return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);e.next=12;break;case 12:return u=C.enc.Hex.parse(i),l=C.enc.Hex.parse(a||""),d=C.AES.decrypt(r,u,{iv:l,mode:C.mode.CBC,padding:C.pad.Pkcs7}),e.abrupt("return",d.toString(C.enc.Utf8));case 16:case"end":return e.stop()}},e,this)})),function(){return h.apply(this,arguments)})},{key:"encryptText",value:(p=z(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=C.enc.Hex.parse(n),a=C.enc.Hex.parse(r||""),o=C.AES.encrypt(t,i,{iv:a,mode:C.mode.CBC,padding:C.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}},e)})),function(e,t,n){return p.apply(this,arguments)})},{key:"generateRandomKey",value:(f=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",C.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}},e)})),function(e){return f.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(d=z(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 d.apply(this,arguments)})},{key:"firstHalfOfKey",value:(l=z(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 l.apply(this,arguments)})},{key:"secondHalfOfKey",value:(u=z(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 u.apply(this,arguments)})},{key:"base64",value:(c=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",G.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=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",G.atob(t));case 1:case"end":return e.stop()}},e)})),function(e){return s.apply(this,arguments)})},{key:"sha256",value:(o=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",C.SHA256(t).toString());case 1:case"end":return e.stop()}},e)})),function(e){return o.apply(this,arguments)})},{key:"hmac256",value:(a=z(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=C.enc.Hex.parse(n),i=C.enc.Utf8.parse(t),a=C.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=z(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:(t=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=(t=0<d.length&&void 0!==d[0]?d[0]:{}).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,c=a.slice(0,s),u=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[c,u,l]);case 10:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"computeEncryptionKeysForUser",value:(r=z(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 r.apply(this,arguments)})},{key:"generateInitialKeysAndAuthParamsForUser",value:(n=z(regeneratorRuntime.mark(function e(n,t){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(n,r,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:o,pw_cost:i}).then(function(e){var t={pw_nonce:a,pw_cost:i,identifier:n,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:t}}));case 9:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})}]),e}();we.SFAbstractCrypto=me;var ve=function(){function e(){return V(this,e),F(this,L(e).apply(this,arguments))}var i;return N(e,me),q(e,[{key:"pbkdf2",value:(i=z(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:C.algo.SHA512,iterations:r},e.abrupt("return",C.PBKDF2(t,n,a).toString());case 2:case"end":return e.stop()}},e)})),function(e,t,n,r){return i.apply(this,arguments)})}]),e}();we.SFCryptoJS=ve;var ge=(G="undefined"!=typeof window?window:void 0!==e?e:null).crypto?G.crypto.subtle:null,ye=function(){function e(){return V(this,e),F(this,L(e).apply(this,arguments))}var t,n,r,i,a,o,s,c,u,l,d,f,p,h;return N(e,me),q(e,[{key:"pbkdf2",value:(h=z(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 h.apply(this,arguments)})},{key:"generateRandomKey",value:(p=z(regeneratorRuntime.mark(function e(t){var r=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return!0,e.abrupt("return",ge.generateKey({name:"AES-CBC",length:t},!0,["encrypt","decrypt"]).then(function(e){return ge.exportKey("raw",e).then(function(){var t=z(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(e){return t.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 p.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(f=z(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return 256,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 f.apply(this,arguments)})},{key:"encryptText",value:(d=z(regeneratorRuntime.mark(function e(t,n,r){var i,a,o,s,c,u=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r)return e.next=3,this.hexStringToArrayBuffer(r);e.next=6;break;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 c=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,c).then(function(){var t=z(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}},e)}));return function(e){return t.apply(this,arguments)}}()));case 19:case"end":return e.stop()}},e,this)})),function(e,t,n){return d.apply(this,arguments)})},{key:"decryptText",value:(l=z(regeneratorRuntime.mark(function e(){var t,n,r,i,a,o,s,c,u,l,d,f,p,h=this,m=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=(t=0<m.length&&void 0!==m[0]?m[0]:{}).ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,(1<m.length?m[1]:void 0)&&!o)return console.error("Auth hash is required."),e.abrupt("return");e.next=5;break;case 5:if(o)return e.next=8,this.hmac256(n,s);e.next=12;break;case 8:if(c=e.sent,!1===this.timingSafeEqual(o,c))return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(c)),e.abrupt("return",null);e.next=12;break;case 12:if(a)return e.next=15,this.hexStringToArrayBuffer(a);e.next=18;break;case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return u=e.t0,l={name:"AES-CBC",iv:u},e.next=23,this.hexStringToArrayBuffer(i);case 23:return d=e.sent,e.next=26,this.webCryptoImportKey(d,l.name,["decrypt"]);case 26:return f=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return p=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,f,p).then(function(){var t=z(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(e){return t.apply(this,arguments)}}()).catch(function(e){console.error("Error decrypting:",e)}));case 31:case"end":return e.stop()}},e,this)})),function(){return l.apply(this,arguments)})},{key:"hmac256",value:(u=z(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 t=z(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(e){return t.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 u.apply(this,arguments)})},{key:"webCryptoImportKey",value:(c=z(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)return e.next=3,this.stringToArrayBuffer(t);e.next=6;break;case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",ge.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 c.apply(this,arguments)})},{key:"webCryptoDeriveBits",value:(s=z(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",ge.deriveBits(a,t,i).then(function(){var t=z(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(e){return t.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 s.apply(this,arguments)})},{key:"stringToArrayBuffer",value:(o=z(regeneratorRuntime.mark(function e(i){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(t,e){var n=new Blob([i]),r=new FileReader;r.onload=function(e){t(e.target.result)},r.readAsArrayBuffer(n)}));case 1:case"end":return e.stop()}},e)})),function(e){return o.apply(this,arguments)})},{key:"arrayBufferToString",value:(a=z(regeneratorRuntime.mark(function e(i){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(t,e){var n=new Blob([i]),r=new FileReader;r.onload=function(e){t(e.target.result)},r.readAsText(n)}));case 1:case"end":return e.stop()}},e)})),function(e){return a.apply(this,arguments)})},{key:"arrayBufferToHexString",value:(i=z(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;a<n.byteLength;a++)(i=n[a].toString(16)).length<2&&(i="0"+i),r+=i;return e.abrupt("return",r);case 4:case"end":return e.stop()}},e)})),function(e){return i.apply(this,arguments)})},{key:"hexStringToArrayBuffer",value:(r=z(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(n=[],r=0;r<t.length;r+=2)n.push(parseInt(t.substr(r,2),16));return e.abrupt("return",new Uint8Array(n));case 2:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"base64ToArrayBuffer",value:(n=z(regeneratorRuntime.mark(function e(t){var n,r,i,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.base64Decode(t);case 2:for(n=e.sent,r=n.length,i=new Uint8Array(r),a=0;a<r;a++)i[a]=n.charCodeAt(a);return e.abrupt("return",i.buffer);case 7:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"arrayBufferToBase64",value:(t=z(regeneratorRuntime.mark(function e(i){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(n,e){var t=new Blob([i],{type:"application/octet-binary"}),r=new FileReader;r.onload=function(e){var t=e.target.result;n(t.substr(t.indexOf(",")+1))},r.readAsDataURL(t)}));case 1:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)})}]),e}();we.SFCryptoWeb=ye;var ke=function(){function t(e){V(this,t),this.crypto=e}var r,n,i,a;return q(t,[{key:"_private_encryptString",value:(a=z(regeneratorRuntime.mark(function e(t,n,r,i,a){var o,s,c,u,l,d;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("001"===a.version)return e.next=3,this.crypto.encryptText(t,n,null);e.next=7;break;case 3:s=e.sent,o=a.version+s,e.next=21;break;case 7:return e.next=9,this.crypto.generateRandomKey(128);case 9:return c=e.sent,e.next=12,this.crypto.encryptText(t,n,c);case 12:return s=e.sent,u=[a.version,i,c,s].join(":"),e.next=16,this.crypto.hmac256(u,r);case 16:return l=e.sent,e.next=19,this.crypto.base64(JSON.stringify(a));case 19:d=e.sent,o=[a.version,l,i,c,s,d].join(":");case 21:return e.abrupt("return",o);case 22:case"end":return e.stop()}},e,this)})),function(e,t,n,r,i){return a.apply(this,arguments)})},{key:"encryptItem",value:(i=z(regeneratorRuntime.mark(function e(t,n,r){var i,a,o,s,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i={},e.next=3,this.crypto.generateItemEncryptionKey();case 3:if(a=e.sent,"001"===r.version)return e.next=7,this.crypto.encryptText(a,n.mk,null);e.next=10;break;case 7:i.enc_item_key=e.sent,e.next=13;break;case 10:return e.next=12,this._private_encryptString(a,n.mk,n.ak,t.uuid,r);case 12:i.enc_item_key=e.sent;case 13:return e.next=15,this.crypto.firstHalfOfKey(a);case 15:return o=e.sent,e.next=18,this.crypto.secondHalfOfKey(a);case 18:return s=e.sent,e.next=21,this._private_encryptString(JSON.stringify(t.createContentJSONFromProperties()),o,s,t.uuid,r);case 21:if(c=e.sent,"001"===r.version)return e.next=25,this.crypto.hmac256(c,s);e.next=27;break;case 25:u=e.sent,i.auth_hash=u;case 27:return i.content=c,e.abrupt("return",i);case 29:case"end":return e.stop()}},e,this)})),function(e,t,n){return i.apply(this,arguments)})},{key:"encryptionComponentsFromString",value:function(e,t,n){var r=e.substring(0,3);if("001"===r)return{contentCiphertext:e.substring(3,e.length),encryptionVersion:r,ciphertextToAuth:e,iv:null,authHash:null,encryptionKey:t,authKey:n};var i=e.split(":");return{encryptionVersion:i[0],authHash:i[1],uuid:i[2],iv:i[3],contentCiphertext:i[4],authParams:i[5],ciphertextToAuth:[i[0],i[2],i[3],i[4]].join(":"),encryptionKey:t,authKey:n}}},{key:"decryptItem",value:(n=z(regeneratorRuntime.mark(function e(t,n){var r,i,a,o,s,c,u,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t.content)return e.abrupt("return");e.next=2;break;case 2:if(t.content.startsWith("000"))return e.prev=3,e.t0=JSON,e.next=7,this.crypto.base64Decode(t.content.substring(3,t.content.length));e.next=14;break;case 7:e.t1=e.sent,t.content=e.t0.parse.call(e.t0,e.t1),e.next=13;break;case 11:e.prev=11,e.t2=e.catch(3);case 13:return e.abrupt("return");case 14:if(t.enc_item_key){e.next=17;break}return console.log("Missing item encryption key, skipping decryption."),e.abrupt("return");case 17:if(r=t.enc_item_key,i=!0,r.startsWith("002")||r.startsWith("003")||(r="001"+r,i=!1),(a=this.encryptionComponentsFromString(r,n.mk,n.ak)).uuid&&a.uuid!==t.uuid)return console.error("Item key params UUID does not match item UUID"),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt("return");e.next=26;break;case 26:return e.next=28,this.crypto.decryptText(a,i);case 28:if(o=e.sent){e.next=34;break}return console.log("Error decrypting item",t),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt("return");case 34:return e.next=36,this.crypto.firstHalfOfKey(o);case 36:return s=e.sent,e.next=39,this.crypto.secondHalfOfKey(o);case 39:return c=e.sent,u=this.encryptionComponentsFromString(t.content,s,c),e.prev=41,e.t3=JSON,e.next=45,this.crypto.base64Decode(u.authParams);case 45:e.t4=e.sent,t.auth_params=e.t3.parse.call(e.t3,e.t4),e.next=51;break;case 49:e.prev=49,e.t5=e.catch(41);case 51:if(u.uuid&&u.uuid!==t.uuid)return t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt("return");e.next=55;break;case 55:return u.authHash||(u.authHash=t.auth_hash),e.next=58,this.crypto.decryptText(u,!0);case 58:(l=e.sent)?(1==t.errorDecrypting&&(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!1,t.content=l):(t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0);case 60:case"end":return e.stop()}},e,this,[[3,11],[41,49]])})),function(e,t){return n.apply(this,arguments)})},{key:"decryptMultipleItems",value:(r=z(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=function(){var t=z(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(1==t.deleted&&null==t.content)return e.abrupt("return");e.next=4;break;case 4:if("string"==typeof t.content||t.content instanceof String)return e.prev=6,e.next=9,a.decryptItem(t,n);e.next=19;break;case 9:e.next=19;break;case 11:if(e.prev=11,e.t0=e.catch(6),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,r)throw e.t0;e.next=17;break;case 17:return console.error("Error decrypting item",t,e.t0),e.abrupt("return");case 19:case"end":return e.stop()}},e,null,[[6,11]])}));return function(e){return t.apply(this,arguments)}}(),e.abrupt("return",Promise.all(t.map(function(e){return i(e)})));case 2:case"end":return e.stop()}},e)})),function(e,t,n){return r.apply(this,arguments)})}]),t}();we.SFItemTransformer=ke;G="undefined"!=typeof window?window:void 0!==e?e:null;var be=function(){function t(e){V(this,t),G&&(!("undefined"!=typeof document&&document.documentMode||/Edge/.test(navigator.userAgent))&&G.crypto&&G.crypto.subtle?this.crypto=new ye:this.crypto=new ve);e&&(this.crypto=e),this.itemTransformer=new ke(this.crypto),this.crypto.SFJS={version:this.version(),defaultPasswordGenerationCost:this.defaultPasswordGenerationCost()}}return q(t,[{key:"version",value:function(){return"003"}},{key:"supportsPasswordDerivationCost",value:function(e){return!(5e3<e)||this.crypto instanceof ye}},{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())}}]),t}();if(we.StandardFile=be,G)try{G.StandardFile=be,G.SFJS=new be,G.SFCryptoWeb=ye,G.SFCryptoJS=ve,G.SFItemTransformer=ke,G.SFModelManager=Z,G.SFItem=ce,G.SFItemParams=ue,G.SFHttpManager=Y,G.SFStorageManager=ae,G.SFSyncManager=se,G.SFAuthManager=J,G.SFMigrationManager=X,G.SFAlertManager=W,G.SFPredicate=le,G.SFHistorySession=fe,G.SFSessionHistoryManager=re,G.SFItemHistory=pe,G.SFItemHistoryEntry=he,G.SFPrivilegesManager=Q,G.SFPrivileges=de,G.SFSingletonManager=ie}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==n?n:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]),angular.module("app").run(["$templateCache",function(e){"use strict";e.put("directives/account-menu.html","<div class='sn-component'>\n<div class='sk-panel' id='account-panel'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>Account</div>\n<a class='sk-a info close-button' ng-click='close()'>Close</a>\n</div>\n<div class='sk-panel-content'>\n<div class='sk-panel-section sk-panel-hero' ng-if='!user &amp;&amp; !formData.showLogin &amp;&amp; !formData.showRegister &amp;&amp; !formData.mfa'>\n<div class='sk-panel-row'>\n<div class='sk-h1'>Sign in or register to enable sync and end-to-end encryption.</div>\n</div>\n<div class='sk-panel-row'>\n<div class='sk-button-group stretch'>\n<div class='sk-button info featured' ng-click='formData.showLogin = true'>\n<div class='sk-label'>Sign In</div>\n</div>\n<div class='sk-button info featured' ng-click='formData.showRegister = true'>\n<div class='sk-label'>Register</div>\n</div>\n</div>\n</div>\n<div class='sk-panel-row sk-p'>\nStandard Notes is free on every platform, and comes standard with sync and encryption.\n</div>\n</div>\n<div class='sk-panel-section' ng-if='formData.showLogin || formData.showRegister'>\n<div class='sk-panel-section-title'>\n{{formData.showLogin ? \"Sign In\" : \"Register\"}}\n</div>\n<form class='sk-panel-form' ng-submit='submitAuthForm()'>\n<div class='sk-panel-section'>\n<input class='sk-input contrast' name='email' ng-model-options='{allowInvalid: true}' ng-model='formData.email' placeholder='Email' required should-focus='true' sn-autofocus='true' spellcheck='false' type='email'>\n<input class='sk-input contrast' name='password' ng-model='formData.user_password' placeholder='Password' required sn-enter='submitAuthForm()' type='password'>\n<input class='sk-input contrast' name='password' ng-if='formData.showRegister' ng-model='formData.password_conf' placeholder='Confirm Password' required sn-enter='submitAuthForm()' type='password'>\n<div class='sk-panel-row'></div>\n<a class='sk-panel-row sk-bold' ng-click='formData.showAdvanced = !formData.showAdvanced'>\nAdvanced Options\n</a>\n</div>\n<div class='sk-notification unpadded contrast advanced-options sk-panel-row' ng-if='formData.showAdvanced'>\n<div class='sk-panel-column stretch'>\n<div class='sk-notification-title sk-panel-row padded-row'>Advanced Options</div>\n<div class='bordered-row padded-row'>\n<label class='sk-label'>Sync Server Domain</label>\n<input class='sk-input mt-5 sk-base' name='server' ng-model='formData.url' placeholder='Server URL' required type='text'>\n</div>\n<label class='sk-label padded-row' ng-if='formData.showLogin'>\n<input class='sk-input' ng-model='formData.strictSignin' type='checkbox'>\nUse strict sign in\n<span>\n<a class='info' href='https://standardnotes.org/help/security' rel='noopener' target='_blank'>(Learn more)</a>\n</span>\n</input>\n</label>\n</div>\n</div>\n<div class='sk-panel-section form-submit' ng-if='!formData.authenticating'>\n<div class='sk-button-group stretch'>\n<div class='sk-button info featured' ng-click='submitAuthForm()' ng-disabled='formData.authenticating'>\n<div class='sk-label'>{{formData.showLogin ? \"Sign In\" : \"Register\"}}</div>\n</div>\n</div>\n</div>\n<div class='sk-notification neutral' ng-if='formData.showRegister'>\n<div class='sk-notification-title'>No Password Reset.</div>\n<div class='sk-notification-text'>Because your notes are encrypted using your password, Standard Notes does not have a password reset option. You cannot forget your password.</div>\n</div>\n<div class='sk-panel-section no-bottom-pad' ng-if='formData.status'>\n<div class='sk-horizontal-group'>\n<div class='sk-spinner small neutral'></div>\n<div class='sk-label'>{{formData.status}}</div>\n</div>\n</div>\n<div class='sk-panel-section no-bottom-pad' ng-if='!formData.authenticating'>\n<label class='sk-panel-row justify-left'>\n<div class='sk-horizontal-group'>\n<input ng-false-value='true' ng-model='formData.ephemeral' ng-true-value='false' type='checkbox'>\nStay signed in\n</div>\n</label>\n<label class='sk-panel-row justify-left' ng-if='notesAndTagsCount() &gt; 0'>\n<div class='sk-panel-row'></div>\n<input ng-bind='true' ng-change='mergeLocalChanged()' ng-model='formData.mergeLocal' type='checkbox'>\nMerge local data ({{notesAndTagsCount()}} notes and tags)\n</label>\n</div>\n</form>\n</div>\n<div class='sk-panel-section' ng-if='formData.mfa'>\n<form class='sk-panel-form' ng-submit='submitMfaForm()'>\n<div class='sk-p sk-panel-row'>{{formData.mfa.message}}</div>\n<div class='sk-panel-row'>\n<input autofocus='true' class='sk-input contrast' name='mfa' ng-model='formData.userMfaCode' placeholder='Enter Code' required should-focus='true' sn-autofocus='true'>\n</div>\n<div class='sk-button-group stretch sk-panel-row form-submit' ng-if='!formData.status'>\n<button class='sk-button info featured' type='submit'>\n<div class='sk-label'>Sign In</div>\n</button>\n</div>\n</form>\n<div class='sk-panel-section no-bottom-pad' ng-if='formData.status'>\n<div class='sk-panel-row'></div>\n<div class='sk-panel-row'></div>\n<div class='sk-horizontal-group'>\n<div class='sk-spinner small neutral'></div>\n<div class='sk-label'>{{formData.status}}</div>\n</div>\n</div>\n</div>\n<div ng-if='!formData.showLogin &amp;&amp; !formData.showRegister &amp;&amp; !formData.mfa'>\n<div class='sk-panel-section' ng-if='user'>\n<div class='sk-notification danger' ng-if='syncStatus.error'>\n<div class='sk-notification-title'>Sync Unreachable</div>\n<div class='sk-notification-text'>Hmm...we can't seem to sync your account. The reason: {{syncStatus.error.message}}</div>\n<a class='sk-a info-contrast sk-bold sk-panel-row' href='https://standardnotes.org/help' rel='noopener' target='_blank'>Need help?</a>\n</div>\n<div class='sk-panel-row'>\n<div class='sk-panel-column'>\n<div class='sk-h1 sk-bold wrap'>{{user.email}}</div>\n<div class='sk-subtitle subtle normal'>{{server}}</div>\n</div>\n<div class='sk-horizontal-group' delay-hide='true' delay='1000' show='syncStatus.syncOpInProgress || syncStatus.needsMoreSync'>\n<div class='sk-spinner small info'></div>\n<div class='sk-sublabel'>\n{{\"Syncing\" + (syncStatus.total > 0 ? \":\" : \"\")}}\n<span ng-if='syncStatus.total &gt; 0'>{{syncStatus.current}}/{{syncStatus.total}}</span>\n</div>\n</div>\n</div>\n<div class='sk-panel-row'></div>\n<a class='sk-a info sk-panel-row condensed' ng-click='openPasswordWizard(&#39;change-pw&#39;)'>\nChange Password\n</a>\n<a class='sk-a info sk-panel-row condensed' ng-click='openPrivilegesModal(&#39;&#39;)' ng-show='user'>\nManage Privileges\n</a>\n<a class='sk-panel-row justify-left condensed success' ng-click='openPasswordWizard(&#39;upgrade-security&#39;)' ng-if='securityUpdateAvailable'>\n<div class='inline sk-circle small success mr-8'></div>\n<div class='inline'>Security Update Available</div>\n</a>\n</div>\n<div class='sk-panel-section'>\n<div class='sk-panel-section-title'>Encryption</div>\n<div class='sk-panel-section-subtitle info' ng-if='encryptionEnabled()'>\n{{encryptionStatusForNotes()}}\n</div>\n<p class='sk-p'>\n{{encryptionStatusString()}}\n</p>\n</div>\n<div class='sk-panel-section'>\n<div class='sk-panel-section-title'>Passcode Lock</div>\n<div ng-if='!hasPasscode()'>\n<div ng-if='canAddPasscode'>\n<div class='sk-panel-row' ng-if='!formData.showPasscodeForm'>\n<div class='sk-button info' ng-click='addPasscodeClicked(); $event.stopPropagation();'>\n<div class='sk-label'>Add Passcode</div>\n</div>\n</div>\n<p class='sk-p'>Add an app passcode to lock the app and encrypt on-device key storage.</p>\n</div>\n<div ng-if='!canAddPasscode'>\n<p class='sk-p'>Adding a passcode is not supported in temporary sessions. Please sign out, then sign back in with the \"Stay signed in\" option checked.</p>\n</div>\n</div>\n<form class='sk-panel-form' ng-if='formData.showPasscodeForm' ng-submit='submitPasscodeForm()'>\n<div class='sk-panel-row'></div>\n<input class='sk-input contrast' ng-model='formData.passcode' placeholder='Passcode' should-focus='true' sn-autofocus='true' type='password'>\n<input class='sk-input contrast' ng-model='formData.confirmPasscode' placeholder='Confirm Passcode' type='password'>\n<div class='sk-button-group stretch sk-panel-row form-submit'>\n<button class='sk-button info' type='submit'>\n<div class='sk-label'>Set Passcode</div>\n</button>\n</div>\n<a class='neutral sk-a sk-panel-row' ng-click='formData.showPasscodeForm = false'>Cancel</a>\n</form>\n<div ng-if='hasPasscode() &amp;&amp; !formData.showPasscodeForm'>\n<div class='sk-p'>\nPasscode lock is enabled.\n</div>\n<div class='sk-notification contrast'>\n<div class='sk-notification-title'>Options</div>\n<div class='sk-notification-text'>\n<div class='sk-panel-row'>\n<div class='sk-horizontal-group'>\n<div class='sk-h4 sk-bold'>Autolock</div>\n<a class='sk-a info' ng-class='{&#39;boxed&#39; : option.value == selectedAutoLockInterval}' ng-click='selectAutoLockInterval(option.value)' ng-repeat='option in passcodeAutoLockOptions'>\n{{option.label}}\n</a>\n</div>\n</div>\n<div class='sk-p'>The autolock timer begins when the window or tab loses focus.</div>\n<div class='sk-panel-row'></div>\n<a class='sk-a info sk-panel-row condensed' ng-click='openPrivilegesModal(&#39;&#39;)' ng-show='!user'>Manage Privileges</a>\n<a class='sk-a info sk-panel-row condensed' ng-click='changePasscodePressed()'>Change Passcode</a>\n<a class='sk-a danger sk-panel-row condensed' ng-click='removePasscodePressed()'>Remove Passcode</a>\n</div>\n</div>\n</div>\n</div>\n<div class='sk-panel-section' ng-if='!importData.loading'>\n<div class='sk-panel-section-title'>Data Backups</div>\n<div class='sk-p'>\nDownload a backup of all your data.\n</div>\n<div class='sk-panel-row'></div>\n<form class='sk-panel-form sk-panel-row' ng-if='encryptedBackupsAvailable()'>\n<div class='sk-input-group'>\n<label>\n<input ng-change='archiveFormData.encrypted = true' ng-model='archiveFormData.encrypted' ng-value='true' type='radio'>\nEncrypted\n</label>\n<label>\n<input ng-change='archiveFormData.encrypted = false' ng-model='archiveFormData.encrypted' ng-value='false' type='radio'>\nDecrypted\n</label>\n</div>\n</form>\n<div class='sk-button-group sk-panel-row justify-left'>\n<div class='sk-button info' ng-click='downloadDataArchive()'>\n<div class='sk-label'>Download Backup</div>\n</div>\n<label class='sk-button info'>\n<input file-change='-&gt;' handler='importFileSelected(files)' style='display: none;' type='file'>\n<div class='sk-label'>Import Backup</div>\n</label>\n</div>\n<span ng-if='isDesktopApplication()'>Backups are automatically created on desktop and can be managed via the \"Backups\" top-level menu.</span>\n<div id='import-password-request' ng-if='importData.requestPassword'>\n<form class='sk-panel-form stretch' ng-submit='submitImportPassword()'>\n<p>Enter the account password associated with the import file.</p>\n<input autofocus='true' class='sk-input contrast mt-5' ng-model='importData.password' placeholder='Enter File Account Password' type='password'>\n<div class='sk-button-group stretch sk-panel-row form-submit'>\n<button class='sk-button info' type='submit'>\n<div class='sk-label'>Decrypt & Import</div>\n</button>\n</div>\n<p>\nImporting from backup will not overwrite existing data, but instead create a duplicate of any differing data.\n</p>\n<p>If you'd like to import only a selection of items instead of the whole file, please use the Batch Manager extension.</p>\n</form>\n</div>\n<div class='sk-panel-row'>\n<div class='sk-spinner small info' ng-if='importData.loading'></div>\n</div>\n</div>\n</div>\n</div>\n<div class='sk-panel-footer'>\n<div class='sk-panel-row'>\n<div class='sk-p left neutral faded'>{{appVersion}}</div>\n<a class='sk-a right' ng-click='formData.showLogin = false; formData.showRegister = false;' ng-if='formData.showLogin || formData.showRegister'>\nCancel\n</a>\n<a class='sk-a right danger' ng-click='destroyLocalData()' ng-if='!formData.showLogin &amp;&amp; !formData.showRegister'>\n"+'{{ user ? "Sign out and clear local data" : "Clear all local data" }}\n</a>\n</div>\n</div>\n</div>\n</div>\n'),e.put("directives/actions-menu.html","<div class='sn-component'>\n<div class='sk-menu-panel dropdown-menu'>\n<a class='no-decoration' href='https://standardnotes.org/extensions' ng-if='extensions.length == 0' rel='noopener' target='blank'>\n<menu-row label='&#39;Download Actions&#39;'></menu-row>\n</a>\n<div ng-repeat='extension in extensions'>\n<div class='sk-menu-panel-header' ng-click='extension.hide = !extension.hide; $event.stopPropagation();'>\n<div class='sk-menu-panel-column'>\n<div class='sk-menu-panel-header-title'>{{extension.name}}</div>\n<div class='sk-spinner small loading' ng-if='extension.loading'></div>\n<div ng-if='extension.hide'>…</div>\n</div>\n</div>\n<menu-row action='executeAction(action, extension);' label='action.label' ng-if='!extension.hide' ng-repeat='action in extension.actionsWithContextForItem(item)' spinner-class='action.running ? &#39;info&#39; : null' sub-rows='action.subrows' subtitle='action.desc'>\n<div class='sk-sublabel' ng-if='action.access_type'>\nUses\n<strong>{{action.access_type}}</strong>\naccess to this note.\n</div>\n</menu-row>\n<menu-row faded='true' label='&#39;No Actions Available&#39;' ng-if='extension.actionsWithContextForItem(item).length == 0'></menu-row>\n</div>\n</div>\n</div>\n"),e.put("directives/component-modal.html","<div class='sk-modal-background' ng-click='dismiss()'></div>\n<div class='sk-modal-content' ng-attr-id='component-content-outer-{{component.uuid}}'>\n<div class='sn-component'>\n<div class='sk-panel' ng-attr-id='component-content-inner-{{component.uuid}}'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>\n{{component.name}}\n</div>\n<a class='sk-a info close-button' ng-click='dismiss()'>Close</a>\n</div>\n<component-view class='component-view' component='component'></component-view>\n</div>\n</div>\n</div>\n"),e.put("directives/component-view.html","<div class='sn-component' ng-if='issueLoading'>\n<div class='sk-app-bar no-edges no-top-edge dynamic-height'>\n<div class='left'>\n<div class='sk-app-bar-item'>\n<div class='sk-label warning'>There was an issue loading {{component.name}}.</div>\n</div>\n</div>\n<div class='right'>\n<div class='sk-app-bar-item' ng-click='reloadComponent()'>\n<div class='sk-button info'>\n<div class='sk-label'>Reload</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class='sn-component' ng-if='showNoThemesMessage'>\n<div class='sk-app-bar no-edges no-top-edge dynamic-height'>\n<div class='left'>\n<div class='sk-app-bar-item'>\n<div class='sk-label warning'>This extension does not support themes.</div>\n</div>\n</div>\n<div class='right'>\n<div class='sk-app-bar-item' ng-click='noThemesMessageDismiss()'>\n<div class='sk-label'>Dismiss</div>\n</div>\n<div class='sk-app-bar-item' ng-click='disableActiveTheme()'>\n<div class='sk-label'>Disable Active Theme</div>\n</div>\n</div>\n</div>\n</div>\n<div class='sn-component' ng-if='expired'>\n<div class='sk-app-bar no-edges no-top-edge dynamic-height'>\n<div class='left'>\n<div class='sk-app-bar-item'>\n<div class='sk-app-bar-item-column'>\n<div class='sk-circle danger small'></div>\n</div>\n<div class='sk-app-bar-item-column'>\n<div>\n<a class='sk-label sk-base' href='https://dashboard.standardnotes.org' rel='noopener' target='_blank'>\nYour Extended subscription expired on {{component.dateToLocalizedString(component.valid_until)}}.\n</a>\n<div class='sk-p'>\nExtensions are in a read-only state.\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class='right'>\n<div class='sk-app-bar-item' ng-click='reloadComponent()'>\n<div class='sk-button info'>\n<div class='sk-label'>Reload</div>\n</div>\n</div>\n<div class='sk-app-bar-item'>\n<div class='sk-app-bar-item-column'>\n<div class='sk-button warning'>\n<a class='sk-label' href='https://standardnotes.org/help/41/expired' rel='noopener' target='_blank'>Help</a>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class='sn-component' ng-if='error == &#39;offline-restricted&#39;'>\n<div class='sk-panel static'>\n<div class='sk-panel-content'>\n<div class='sk-panel-section stretch'>\n<div class='sk-panel-column'></div>\n<div class='sk-h1 sk-bold'>You have restricted this extension to be used offline only.</div>\n<div class='sk-subtitle'>Offline extensions are not available in the Web app.</div>\n<div class='sk-panel-row'></div>\n<div class='sk-panel-row'>\n<div class='sk-panel-column'>\n<div class='sk-p'>You can either:</div>\n<ul>\n<li class='sk-p'><strong>Enable the Hosted option</strong> for this extension by opening the 'Extensions' menu and toggling 'Use hosted when local is unavailable' under this extension's options. Then press Reload below.</li>\n<li class='sk-p'><strong>Use the Desktop application.</strong></li>\n</ul>\n</div>\n</div>\n<div class='sk-panel-row'>\n<div class='sk-button info' ng-click='reloadStatus()' ng-if='!reloading'>\n<div class='sk-label'>Reload</div>\n</div>\n<div class='sk-spinner info small' ng-if='reloading'></div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class='sn-component' ng-if='error == &#39;url-missing&#39;'>\n<div class='sk-panel static'>\n<div class='sk-panel-content'>\n<div class='sk-panel-section stretch'>\n<div class='sk-panel-section-title'>This extension is not installed correctly.</div>\n<p>Please uninstall {{component.name}}, then re-install it.</p>\n<p>\nThis issue can occur if you access Standard Notes using an older version of the app.\nEnsure you are running at least version 2.1 on all platforms.\n</p>\n</div>\n</div>\n</div>\n</div>\n<iframe data-component-id='{{component.uuid}}' frameBorder='0' ng-attr-id='component-iframe-{{component.uuid}}' ng-if='component &amp;&amp; componentValid' ng-src='{{getUrl() | trusted}}' sandbox='allow-scripts allow-top-navigation-by-user-activation allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-modals allow-forms'>\nLoading\n</iframe>\n<div class='loading-overlay' ng-if='loading'></div>\n"),e.put("directives/conflict-resolution-modal.html","<div class='sn-component'>\n<div class='sk-modal large' id='conflict-resolution-modal'>\n<div class='sk-modal-background'></div>\n<div class='sk-modal-content'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<h1 class='sk-panel-header-title'>Conflicted items — choose which version to keep</h1>\n<div class='sk-horizontal-group'>\n<a class='sk-a info close-button' ng-click='keepItem1()'>Keep left</a>\n<a class='sk-a info close-button' ng-click='keepItem2()'>Keep right</a>\n<a class='sk-a info close-button' ng-click='keepBoth()'>Keep both</a>\n<a class='sk-a info close-button' ng-click='export()'>Export</a>\n<a class='sk-a info close-button' ng-click='dismiss(); $event.stopPropagation()'>Close</a>\n</div>\n</div>\n<div class='sk-panel-content selectable'>\n<div class='sk-panel-section'>\n<h3>\n<strong>Content type:</strong>\n{{contentType}}\n</h3>\n<p>You may wish to look at the \"created_at\" and \"updated_at\" fields of the items to gain better context in deciding which to keep.</p>\n</div>\n<div id='items'>\n<div class='sk-panel static item' id='item1'>\n<p class='normal' style='white-space: pre-wrap; font-size: 16px;'>{{item1Content}}</p>\n</div>\n<div class='border'></div>\n<div class='sk-panel static item' id='item2'>\n<p class='normal' style='white-space: pre-wrap; font-size: 16px;'>{{item2Content}}</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("directives/editor-menu.html","<div class='sn-component'>\n<div class='sk-menu-panel dropdown-menu'>\n<div class='sk-menu-panel-section'>\n<div class='sk-menu-panel-header'>\n<div class='sk-menu-panel-header-title'>Note Editor</div>\n</div>\n<menu-row action='selectComponent(null)' circle='selectedEditor == null &amp;&amp; &#39;success&#39;' label='&#39;Plain Editor&#39;'></menu-row>\n<menu-row action='selectComponent(editor)' button-action='toggleDefaultForEditor(editor)' button-class='defaultEditor == editor ? &#39;warning&#39; : &#39;info&#39;' button-text='defaultEditor == editor ? &#39;Undefault&#39; : &#39;Set Default&#39;' circle='selectedEditor === editor &amp;&amp; &#39;success&#39;' has-button='selectedEditor == editor || defaultEditor == editor' label='editor.name' ng-repeat='editor in editors'>\n<div class='sk-menu-panel-column' ng-if='component.content.conflict_of || shouldDisplayRunningLocallyLabel(editor)'>\n<strong class='danger medium-text' ng-if='editor.content.conflict_of'>Conflicted copy</strong>\n<div class='sk-sublabel' ng-if='shouldDisplayRunningLocallyLabel(editor)'>Running Locally</div>\n</div>\n</menu-row>\n<a class='no-decoration' href='https://standardnotes.org/extensions' ng-if='editors.length == 0' rel='noopener' target='blank'>\n<menu-row label='&#39;Download More Editors&#39;'></menu-row>\n</a>\n</div>\n</div>\n</div>\n"),e.put("directives/input-modal.html","<div class='sn-component'>\n<div class='sk-modal small auto-height'>\n<div class='sk-modal-background'></div>\n<div class='sk-modal-content'>\n<div class='sn-component'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<div class='sk-h1 sk-panel-header-title'>{{title}}</div>\n<a class='sk-a info close-button' ng-click='dismiss()'>Close</a>\n</div>\n<div class='sk-panel-content'>\n<div class='sk-panel-section'>\n<div class='sk-p sk-panel-row'>{{message}}</div>\n<div class='sk-panel-row'>\n<div class='sk-panel-column stretch'>\n<form ng-submit='submit()'>\n<input class='sk-input contrast' ng-model='formData.input' placeholder='{{placeholder}}' should-focus='true' sn-autofocus='true' type='{{type}}'>\n</form>\n</div>\n</div>\n</div>\n</div>\n<div class='sk-panel-footer'>\n<a class='sk-a info right' ng-click='submit()'>\nSubmit\n</a>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("directives/menu-row.html","<div class='sk-menu-panel-row row' ng-attr-title='{{desc}}' ng-click='onClick($event)'>\n<div class='sk-menu-panel-column'>\n<div class='left'>\n<div class='sk-menu-panel-column' ng-if='circle &amp;&amp; (!circleAlign || circleAlign == &#39;left&#39;)'>\n<div class='sk-circle small' ng-class='circle'></div>\n</div>\n<div class='sk-menu-panel-column' ng-class='{&#39;faded&#39; : faded || disabled}'>\n<div class='sk-label' ng-class='stylekitClass'>\n{{label}}\n</div>\n<div class='sk-sublabel' ng-if='subtitle'>\n{{subtitle}}\n</div>\n<ng-transclude></ng-transclude>\n</div>\n</div>\n<div class='sk-menu-panel-subrows' ng-if='subRows &amp;&amp; subRows.length &gt; 0'>\n<menu-row action='row.onClick()' label='row.label' ng-repeat='row in subRows' spinner-class='row.spinnerClass' subtitle='row.subtitle'></menu-row>\n</div>\n</div>\n<div class='sk-menu-panel-column' ng-if='circle &amp;&amp; circleAlign == &#39;right&#39;'>\n<div class='sk-circle small' ng-class='circle'></div>\n</div>\n<div class='sk-menu-panel-column' ng-if='hasButton'>\n<div class='sk-button' ng-class='buttonClass' ng-click='clickButton($event)'>\n<div class='sk-label'>{{buttonText}}</div>\n</div>\n</div>\n<div class='sk-menu-panel-column' ng-if='spinnerClass'>\n<div class='sk-spinner small' ng-class='spinnerClass'></div>\n</div>\n</div>\n"),e.put("directives/panel-resizer.html","<div class='panel-resizer-column'></div>\n"),e.put("directives/password-wizard.html","<div class='sn-component'>\n<div class='sk-modal small auto-height' id='password-wizard'>\n<div class='sk-modal-background'></div>\n<div class='sk-modal-content'>\n<div class='sn-component'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>{{title}}</div>\n<a class='sk-a info close-button' ng-click='dismiss()'>Close</a>\n</div>\n<div class='sk-panel-content'>\n<div ng-if='step == 0'>\n<div ng-if='changePassword'>\n<p class='sk-p sk-panel-row'>\nChanging your password involves changing your encryption key, which requires your data to be re-encrypted and synced.\nIf you have many items, syncing your data can take several minutes.\n</p>\n<p class='sk-p sk-panel-row'>You must keep the application window open during this process.</p>\n</div>\n<div ng-if='securityUpdate'>\n<p class='sk-p sk-panel-row'>\nA new update is available for your account. Updates address improvements and enhancements to our security specification.\nThis process will guide you through the update, and perform the steps necessary with your supervision.\n</p>\n<div class='sk-panel-row'>\n<div class='sk-panel-column'>\n<p class='sk-p'>For more information about security updates, please visit</p>\n<a class='sk-a info' href='https://standardnotes.org/help/security' rel='noopener' target='_blank'>standardnotes.org/help/security.</a>\n</div>\n</div>\n</div>\n<p class='sk-panel-row sk-p'>\n<div class='info'>Press Continue to proceed.</div>\n</p>\n</div>\n<div class='sk-panel-section' ng-if='step &gt; 0'>\n<div class='sk-panel-section-title'>Step {{step}} — {{titleForStep(step)}}</div>\n<div ng-if='step == 1'>\n<p class='sk-panel-row sk-p'>\nAs a result of this process, the entirety of your data will be re-encrypted and synced to your account. This is a generally safe process,\nbut unforeseen factors like poor network connectivity or a sudden shutdown of your computer may cause this process to fail.\nIt's best to be on the safe side before large operations such as this one.\n</p>\n<div class='sk-panel-row'></div>\n<div class='sk-panel-row'>\n<div class='sk-button-group'>\n<div class='sk-button info' ng-click='downloadBackup(true)'>\n<div class='sk-label'>Download Encrypted Backup</div>\n</div>\n<div class='sk-button info' ng-click='downloadBackup(false)'>\n<div class='sk-label'>Download Decrypted Backup</div>\n</div>\n</div>\n</div>\n</div>\n<div ng-if='step == 2'>\n<p class='sk-p sk-panel-row'>\nAs a result of this process, your encryption keys will change.\nAny device on which you use Standard Notes will need to end its session. After this process completes, you will be asked to sign back in.\n</p>\n<p class='sk-p bold sk-panel-row info-i'>Please sign out of all applications (excluding this one), including:</p>\n<ul>\n<li class='sk-p'>Desktop</li>\n<li class='sk-p'>Web (Chrome, Firefox, Safari)</li>\n<li class='sk-p'>Mobile (iOS and Android)</li>\n</ul>\n<p class='sk-p sk-panel-row'>\nIf you do not currently have access to a device you're signed in on, you may proceed,\nbut must make signing out and back in the first step upon gaining access to that device.\n</p>\n<p class='sk-p sk-panel-row'>Press Continue only when you have completed signing out of all your devices.</p>\n</div>\n<div ng-if='step == 3'>\n<div ng-if='changePassword'></div>\n<div ng-if='securityUpdate'>\n<p class='sk-panel-row'>Enter your current password. We'll run this through our encryption scheme to generate strong new encryption keys.</p>\n</div>\n<div class='sk-panel-row'></div>\n<div class='sk-panel-row'>\n<div class='sk-panel-column stretch'>\n<form class='sk-panel-form'>\n<input class='sk-input contrast' ng-model='formData.currentPassword' placeholder='Current Password' should-focus='true' sn-autofocus='true' type='password'>\n<input class='sk-input contrast' ng-if='changePassword' ng-model='formData.newPassword' placeholder='New Password' type='password'>\n<input class='sk-input contrast' ng-if='changePassword' ng-model='formData.newPasswordConfirmation' placeholder='Confirm New Password' type='password'>\n</form>\n</div>\n</div>\n</div>\n<div ng-if='step == 4'>\n<p class='sk-panel-row'>\nYour data is being re-encrypted with your new keys and synced to your account.\n</p>\n<p class='sk-panel-row danger' ng-if='lockContinue'>\nDo not close this window until this process completes.\n</p>\n<div class='sk-panel-row'>\n<div class='sk-panel-column'>\n<div class='sk-spinner small inline info mr-5' ng-if='formData.processing'></div>\n<div class='inline bold' ng-class='{&#39;info&#39; : !formData.statusError, &#39;error&#39; : formData.statusError}'>\n{{formData.status}}\n</div>\n</div>\n<div class='sk-panel-column' delay-hide='true' delay='1000' show='syncStatus.syncOpInProgress || syncStatus.needsMoreSync'>\n<p class='info'>\nSyncing {{syncStatus.current}}/{{syncStatus.total}}\n</p>\n</div>\n</div>\n</div>\n<div ng-if='step == 5'>\n<div ng-if='changePassword'>\n<p class='sk-p sk-panel-row info-i'>Your password has been successfully changed.</p>\n</div>\n<div ng-if='securityUpdate'>\n<p class='sk-p sk-panel-row info-i'>\nThe security update has been successfully applied to your account.\n</p>\n</div>\n<p class='sk-p sk-panel-row'>\nPlease ensure you are running the latest version of Standard Notes on all platforms to ensure maximum compatibility.\n</p>\n<p class='sk-p sk-panel-row'>You may now sign back in on all your devices and close this window.</p>\n</div>\n</div>\n</div>\n<div class='sk-panel-footer'>\n<div class='empty'></div>\n<a class='sk-a info right' ng-class='{&#39;disabled&#39; : lockContinue}' ng-click='continue()' ng-disabled='lockContinue'>\n<div class='sk-spinner small inline info mr-5' ng-if='showSpinner'></div>\n{{continueTitle}}\n</a>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("directives/permissions-modal.html","<div class='sk-modal-background' ng-click='deny()'></div>\n<div class='sk-modal-content' id='permissions-modal'>\n<div class='sn-component'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>Activate Extension</div>\n<a class='sk-a info close-button' ng-click='deny()'>Cancel</a>\n</div>\n<div class='sk-panel-content'>\n<div class='sk-panel-section'>\n<div class='sk-panel-row'>\n<div class='sk-h2'>\n<strong>{{component.name}}</strong>\nwould like to interact with your\n{{permissionsString}}\n</div>\n</div>\n<div class='sk-panel-row'>\n<p class='sk-p'>\nExtensions use an offline messaging system to communicate. Learn more at\n<a class='sk-a info' href='https://standardnotes.org/permissions' rel='noopener' target='_blank'>https://standardnotes.org/permissions.</a>\n</p>\n</div>\n</div>\n</div>\n<div class='sk-panel-footer'>\n<div class='sk-button info big block bold' ng-click='accept()'>\n<div class='sk-label'>Continue</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("directives/privileges-auth-modal.html","<div class='sk-modal-background' ng-click='cancel()'></div>\n<div class='sk-modal-content' id='privileges-modal'>\n<div class='sn-component'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>Authentication Required</div>\n<a class='close-button info' ng-click='cancel()'>Cancel</a>\n</div>\n<div class='sk-panel-content'>\n<div class='sk-panel-section'>\n<div ng-repeat='credential in requiredCredentials'>\n<div class='sk-p sk-bold sk-panel-row'>\n<strong>{{promptForCredential(credential)}}</strong>\n</div>\n<div class='sk-panel-row'>\n<input class='sk-input contrast' ng-model='authenticationParameters[credential]' should-focus='$index == 0' sn-autofocus='true' sn-enter='submit()' type='password'>\n</div>\n<div class='sk-panel-row'>\n<label class='sk-label danger' ng-if='isCredentialInFailureState(credential)'>Invalid authentication. Please try again.</label>\n</div>\n</div>\n<div class='sk-panel-row'></div>\n<div class='sk-panel-row'>\n<div class='sk-horizontal-group'>\n<div class='sk-p sk-bold'>Remember For</div>\n<a class='sk-a info' ng-class='{&#39;boxed&#39; : option.value == selectedSessionLength}' ng-click='selectSessionLength(option.value)' ng-repeat='option in sessionLengthOptions'>\n{{option.label}}\n</a>\n</div>\n</div>\n</div>\n</div>\n<div class='sk-panel-footer extra-padding'>\n<div class='sk-button info big block bold' ng-click='submit()'>\n<div class='sk-label'>Submit</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("directives/privileges-management-modal.html","<div class='sk-modal-background' ng-click='cancel()'></div>\n<div class='sk-modal-content' id='privileges-modal'>\n<div class='sn-component'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>Manage Privileges</div>\n<a class='sk-a close-button info' ng-click='cancel()'>Done</a>\n</div>\n<div class='sk-panel-content'>\n<div class='sk-panel-section'>\n<table class='sk-table'>\n<thead>\n<tr>\n<th></th>\n<th ng-repeat='cred in availableCredentials'>\n<div class='priv-header'>\n<strong>{{credentialDisplayInfo[cred].label}}</strong>\n<div class='sk-p font-small' ng-show='!credentialDisplayInfo[cred].availability' style='margin-top: 2px'>Not Configured</div>\n</div>\n</th>\n</tr>\n</thead>\n<tbody>\n<tr ng-repeat='action in availableActions'>\n<td>\n<div class='sk-p'>{{displayInfoForAction(action)}}</div>\n</td>\n<th ng-repeat='credential in availableCredentials'>\n<input ng-checked='isCredentialRequiredForAction(action, credential)' ng-click='checkboxValueChanged(action, credential)' ng-disabled='!credentialDisplayInfo[credential].availability' type='checkbox'>\n</th>\n</tr>\n</tbody>\n</table>\n</div>\n<div class='sk-panel-section' ng-if='sessionExpirey &amp;&amp; !sessionExpired'>\n<div class='sk-p sk-panel-row'>You will not be asked to authenticate until {{sessionExpirey}}.</div>\n<a class='sk-a sk-panel-row info' ng-click='clearSession()'>Clear Session</a>\n</div>\n</div>\n<div class='sk-panel-footer'>\n<div class='sk-h2 sk-bold'>About Privileges</div>\n<div class='sk-panel-section no-bottom-pad'>\n<div class='sk-panel-row'>\n<div class='text-content'>\n<div class='sk-p'>\nPrivileges represent interface level authentication for accessing certain items and features.\nNote that when your application is unlocked, your data exists in temporary memory in an unencrypted state.\nPrivileges are meant to protect against unwanted access in the event of an unlocked application, but do not affect data encryption state.\n</div>\n<p class='sk-p'>\nPrivileges sync across your other devices; however, note that if you require\na \"Local Passcode\" privilege, and another device does not have a local passcode set up, the local passcode\nrequirement will be ignored on that device.\n</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("directives/revision-preview-modal.html","<div class='sn-component'>\n<div class='sk-modal medium' id='item-preview-modal'>\n<div class='sk-modal-background'></div>\n<div class='sk-modal-content'>\n<div class='sn-component'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>Preview</div>\n<div class='sk-horizontal-group'>\n<a class='sk-a info close-button' ng-click='restore(false)'>Restore</a>\n<a class='sk-a info close-button' ng-click='restore(true)'>Restore as copy</a>\n<a class='sk-a info close-button' ng-click='dismiss(); $event.stopPropagation()'>Close</a>\n</div>\n</div>\n<div class='sk-panel-content selectable' ng-if='!editor'>\n<div class='sk-h2'>{{content.title}}</div>\n<p class='normal sk-p' style='white-space: pre-wrap; font-size: 16px;'>{{content.text}}</p>\n</div>\n<component-view class='component-view' component='editor' ng-if='editor'></component-view>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("directives/session-history-menu.html","<div class='sn-component' id='session-history-menu'>\n<div class='sk-menu-panel dropdown-menu'>\n<div class='sk-menu-panel-header'>\n<div class='sk-menu-panel-header-title'>{{history.entries.length || 'No'}} revisions</div>\n<a class='sk-a info sk-h5' ng-click='showOptions = !showOptions; $event.stopPropagation();'>Options</a>\n</div>\n<div ng-if='showOptions'>\n<menu-row action='clearItemHistory()' label='&#39;Clear note local history&#39;'></menu-row>\n<menu-row action='clearAllHistory()' label='&#39;Clear all local history&#39;'></menu-row>\n<menu-row action='toggleAutoOptimize()' label='(autoOptimize ? &#39;Disable&#39; : &#39;Enable&#39;) + &#39; auto cleanup&#39;'>\n<div class='sk-sublabel'>\nAutomatically cleans up small revisions to conserve space.\n</div>\n</menu-row>\n<menu-row action='toggleDiskSaving()' label='(diskEnabled ? &#39;Disable&#39; : &#39;Enable&#39;) + &#39; saving history to disk&#39;'>\n<div class='sk-sublabel'>\nSaving to disk is not recommended. Decreases performance and increases app loading time and memory footprint.\n</div>\n</menu-row>\n</div>\n<menu-row action='openRevision(revision);' label='revision.previewTitle()' ng-repeat='revision in entries'>\n<div class='sk-sublabel opaque' ng-class='classForRevision(revision)'>\n{{revision.previewSubTitle()}}\n</div>\n</menu-row>\n</div>\n</div>\n"),e.put("directives/sync-resolution-menu.html","<div class='sn-component'>\n<div class='sk-panel sk-panel-right' id='sync-resolution-menu'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>Out of Sync</div>\n<a class='sk-a info close-button' ng-click='close()'>Close</a>\n</div>\n<div class='sk-panel-content'>\n<div class='sk-panel-section'>\n<div class='sk-panel-row sk-p'>\nWe've detected that the data on the server may not match the data in the current application session.\n</div>\n<div class='sk-p sk-panel-row'>\n<div class='sk-panel-column'>\n<strong class='sk-panel-row'>Option 1 — Restart App:</strong>\n<div class='sk-p'>Quit the application and re-open it. Sometimes, this may resolve the issue.</div>\n</div>\n</div>\n<div class='sk-p sk-panel-row'>\n<div class='sk-panel-column'>\n<strong class='sk-panel-row'>Option 2 (recommended) — Sign Out:</strong>\n<div class='sk-p'>Sign out of your account, then sign back in. This will ensure your data is consistent with the server.</div>\nBe sure to download a backup of your data before doing so.\n</div>\n</div>\n<div class='sk-p sk-panel-row'>\n<div class='sk-panel-column'>\n<strong class='sk-panel-row'>Option 3 — Sync Resolution:</strong>\n<div class='sk-p'>\nWe can attempt to reconcile changes by downloading all data from the server.\n</div>\nNo existing data will be overwritten. If the local contents of an item differ from what the server has,\na conflicted copy will be created.\n</div>\n</div>\n<div ng-if='!status.backupFinished'>\n<div class='sk-p sk-panel-row'>\nPlease download a backup before we attempt to perform a full account sync resolution.\n</div>\n<div class='sk-panel-row'>\n<div class='sk-button-group'>\n<div class='sk-button info' ng-click='downloadBackup(true)'>\n<div class='sk-label'>Encrypted</div>\n</div>\n<div class='sk-button info' ng-click='downloadBackup(false)'>\n<div class='sk-label'>Decrypted</div>\n</div>\n<div class='sk-button danger' ng-click='skipBackup()'>\n<div class='sk-label'>Skip</div>\n</div>\n</div>\n</div>\n</div>\n<div ng-if='status.backupFinished'>\n<div class='sk-panel-row' ng-if='!status.resolving &amp;&amp; !status.attemptedResolution'>\n<div class='sk-button info' ng-click='performSyncResolution()'>\n<div class='sk-label'>Perform Sync Resolution</div>\n</div>\n</div>\n<div class='sk-panel-row justify-left' ng-if='status.resolving'>\n<div class='sk-horizontal-group'>\n<div class='sk-spinner small info'></div>\n<div class='sk-label'>Attempting sync resolution...</div>\n</div>\n</div>\n<div class='sk-panel-column' ng-if='status.fail'>\n<div class='sk-panel-row sk-label danger'>Sync Resolution Failed</div>\n<div class='sk-p sk-panel-row'>\nWe attempted to reconcile local content and server content, but were unable to do so.\nAt this point, we recommend signing out of your account and signing back in. You may\nwish to download a data backup before doing so.\n</div>\n</div>\n<div class='sk-panel-column' ng-if='status.success'>\n<div class='sk-panel-row sk-label success'>Sync Resolution Success</div>\n<div class='sk-p sk-panel-row'>\nYour local data is now in sync with the server. You may close this window.\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("editor.html","<div aria-label='Note' class='section editor sn-component' id='editor-column'>\n<div class='sn-component'>\n<div class='sk-app-bar no-edges' ng-if='ctrl.note.locked' ng-init='ctrl.lockText = &#39;Note Locked&#39;' ng-mouseleave='ctrl.lockText = &#39;Note Locked&#39;' ng-mouseover='ctrl.lockText = &#39;Unlock&#39;'>\n<div class='left'>\n<div class='sk-app-bar-item' ng-click='ctrl.toggleLockNote()'>\n<div class='sk-label warning'>\n<i class='icon ion-locked'></i>\n{{ctrl.lockText}}\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class='section-title-bar' id='editor-title-bar' ng-class='{&#39;locked&#39; : ctrl.note.locked }' ng-show='ctrl.note &amp;&amp; !ctrl.note.errorDecrypting'>\n<div class='title'>\n<input class='input' id='note-title-editor' ng-blur='ctrl.onNameBlur()' ng-change='ctrl.onTitleChange()' ng-disabled='ctrl.note.locked' ng-focus='ctrl.onNameFocus()' ng-keyup='$event.keyCode == 13 &amp;&amp; ctrl.onTitleEnter($event)' ng-model='ctrl.note.title' select-on-click='true' spellcheck='false'>\n</div>\n<div id='save-status'>\n<div class='message' ng-class='{&#39;warning sk-bold&#39;: ctrl.syncTakingTooLong, &#39;danger sk-bold&#39;: ctrl.saveError}'>{{ctrl.noteStatus.message}}</div>\n<div class='desc' ng-show='ctrl.noteStatus.desc'>{{ctrl.noteStatus.desc}}</div>\n</div>\n<div class='editor-tags'>\n<div id='note-tags-component-container' ng-if='ctrl.tagsComponent'>\n<component-view class='component-view' component='ctrl.tagsComponent' ng-class='{&#39;locked&#39; : ctrl.note.locked }' ng-style='ctrl.note.locked &amp;&amp; {&#39;pointer-events&#39; : &#39;none&#39;}'></component-view>\n</div>\n<input class='tags-input' ng-blur='ctrl.updateTagsFromTagsString($event, ctrl.tagsString)' ng-disabled='ctrl.note.locked' ng-if='!(ctrl.tagsComponent &amp;&amp; ctrl.tagsComponent.active)' ng-keyup='$event.keyCode == 13 &amp;&amp; $event.target.blur();' ng-model='ctrl.tagsString' placeholder='#tags' spellcheck='false' type='text'>\n</div>\n</div>\n<div class='sn-component' ng-if='ctrl.note'>\n<div class='sk-app-bar no-edges' id='editor-menu-bar'>\n<div class='left'>\n<div class='sk-app-bar-item' click-outside='ctrl.showMenu = false;' is-open='ctrl.showMenu' ng-class='{&#39;selected&#39; : ctrl.showMenu}' ng-click='ctrl.toggleMenu(&#39;showMenu&#39;)'>\n<div class='sk-label'>Options</div>\n<div class='sk-menu-panel dropdown-menu' ng-if='ctrl.showMenu'>\n<div class='sk-menu-panel-section'>\n<div class='sk-menu-panel-header'>\n<div class='sk-menu-panel-header-title'>Note Options</div>\n</div>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.togglePin()' desc='&#39;Pin or unpin a note from the top of your list&#39;' label='ctrl.note.pinned ? &#39;Unpin&#39; : &#39;Pin&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.toggleArchiveNote()' desc='&#39;Archive or unarchive a note from your Archived system tag&#39;' label='ctrl.note.archived ? &#39;Unarchive&#39; : &#39;Archive&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.toggleLockNote()' desc='&#39;Locking notes prevents unintentional editing&#39;' label='ctrl.note.locked ? &#39;Unlock&#39; : &#39;Lock&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.toggleProtectNote()' desc='&#39;Protecting a note will require credentials to view it (Manage Privileges via Account menu)&#39;' label='ctrl.note.content.protected ? &#39;Unprotect&#39; : &#39;Protect&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.toggleNotePreview()' circle-align='&#39;right&#39;' circle='ctrl.note.content.hidePreview ? &#39;danger&#39; : &#39;success&#39;' desc='&#39;Hide or unhide the note preview from the list of notes&#39;' label='&#39;Preview&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.deleteNote()' desc='&#39;Send this note to the trash&#39;' label='&#39;Move to Trash&#39;' ng-show='!ctrl.altKeyDown &amp;&amp; !ctrl.note.content.trashed &amp;&amp; !ctrl.note.errorDecrypting' stylekit-class='&#39;warning&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.deleteNotePermanantely()' desc='&#39;Delete this note permanently from all your devices&#39;' label='&#39;Delete Permanently&#39;' ng-show='!ctrl.note.content.trashed &amp;&amp; ctrl.note.errorDecrypting' stylekit-class='&#39;danger&#39;'></menu-row>\n</div>\n<div ng-if='ctrl.note.content.trashed || ctrl.altKeyDown'>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.restoreTrashedNote()' desc='&#39;Undelete this note and restore it back into your notes&#39;' label='&#39;Restore&#39;' ng-show='ctrl.note.content.trashed' stylekit-class='&#39;info&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.deleteNotePermanantely()' desc='&#39;Delete this note permanently from all your devices&#39;' label='&#39;Delete Permanently&#39;' stylekit-class='&#39;danger&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.emptyTrash()' desc='&#39;Permanently delete all notes in the trash&#39;' label='&#39;Empty Trash&#39;' ng-show='ctrl.note.content.trashed || !ctrl.altKeyDown' stylekit-class='&#39;danger&#39;' subtitle='ctrl.getTrashCount() + &#39; notes in trash&#39;'></menu-row>\n</div>\n<div class='sk-menu-panel-section'>\n<div class='sk-menu-panel-header'>\n<div class='sk-menu-panel-header-title'>Global Display</div>\n</div>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.toggleKey(&#39;monospaceFont&#39;)' circle='ctrl.monospaceFont ? &#39;success&#39; : &#39;neutral&#39;' desc='&#39;Toggles the font style for the default editor&#39;' disabled='ctrl.selectedEditor' label='&#39;Monospace Font&#39;' subtitle='ctrl.selectedEditor ? &#39;Not available with editor extensions&#39; : null'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.toggleKey(&#39;spellcheck&#39;)' circle='ctrl.spellcheck ? &#39;success&#39; : &#39;neutral&#39;' desc='&#39;Toggles spellcheck for the default editor&#39;' disabled='ctrl.selectedEditor' label='&#39;Spellcheck&#39;' subtitle='ctrl.selectedEditor ? &#39;Not available with editor extensions&#39; : (ctrl.isDesktop ? &#39;May degrade editor performance&#39; : null)'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(true); ctrl.toggleKey(&#39;marginResizersEnabled&#39;)' circle='ctrl.marginResizersEnabled ? &#39;success&#39; : &#39;neutral&#39;' desc='&#39;Allows for editor left and right margins to be resized&#39;' faded='!ctrl.marginResizersEnabled' label='&#39;Margin Resizers&#39;'></menu-row>\n</div>\n</div>\n</div>\n<div class='sk-app-bar-item' click-outside='ctrl.showEditorMenu = false;' is-open='ctrl.showEditorMenu' ng-class='{&#39;selected&#39; : ctrl.showEditorMenu}' ng-click='ctrl.toggleMenu(&#39;showEditorMenu&#39;)'>\n<div class='sk-label'>Editor</div>\n<editor-menu callback='ctrl.editorMenuOnSelect' current-item='ctrl.note' ng-if='ctrl.showEditorMenu' selected-editor='ctrl.selectedEditor'></editor-menu>\n</div>\n<div class='sk-app-bar-item' click-outside='ctrl.showExtensions = false;' is-open='ctrl.showExtensions' ng-class='{&#39;selected&#39; : ctrl.showExtensions}' ng-click='ctrl.toggleMenu(&#39;showExtensions&#39;)'>\n<div class='sk-label'>Actions</div>\n<actions-menu item='ctrl.note' ng-if='ctrl.showExtensions'></actions-menu>\n</div>\n<div class='sk-app-bar-item' click-outside='ctrl.showSessionHistory = false;' is-open='ctrl.showSessionHistory' ng-click='ctrl.toggleMenu(&#39;showSessionHistory&#39;)'>\n<div class='sk-label'>Session History</div>\n<session-history-menu item='ctrl.note' ng-if='ctrl.showSessionHistory'></session-history-menu>\n</div>\n</div>\n</div>\n</div>\n<div class='editor-content' id='editor-content' ng-if='ctrl.noteReady &amp;&amp; !ctrl.note.errorDecrypting'>\n<panel-resizer class='left' control='ctrl.leftResizeControl' hoverable='true' min-width='300' ng-if='ctrl.marginResizersEnabled' on-resize-finish='ctrl.onPanelResizeFinish' panel-id='&#39;editor-content&#39;' property='&#39;left&#39;'></panel-resizer>\n<component-view class='component-view' component='ctrl.selectedEditor' ng-if='ctrl.selectedEditor' on-load='ctrl.onEditorLoad'></component-view>\n<textarea class='editable' dir='auto' id='note-text-editor' ng-attr-spellcheck='{{ctrl.spellcheck}}' ng-change='ctrl.contentChanged()' ng-click='ctrl.clickedTextArea()' ng-focus='ctrl.onContentFocus()' ng-if='!ctrl.selectedEditor' ng-model-options='{ debounce: ctrl.EditorNgDebounce }' ng-model='ctrl.note.text' ng-readonly='ctrl.note.locked' ng-trim='false'>{{ctrl.onSystemEditorLoad()}}</textarea>\n<panel-resizer control='ctrl.rightResizeControl' hoverable='true' min-width='300' ng-if='ctrl.marginResizersEnabled' on-resize-finish='ctrl.onPanelResizeFinish' panel-id='&#39;editor-content&#39;' property='&#39;right&#39;'></panel-resizer>\n</div>\n<div class='section' ng-show='ctrl.note.errorDecrypting'>\n<p class='medium-padding' style='padding-top: 0 !important;'>There was an error decrypting this item. Ensure you are running the latest version of this app, then sign out and sign back in to try again.</p>\n</div>\n<div id='editor-pane-component-stack' ng-show='ctrl.note'>\n<div class='sk-app-bar no-edges' id='component-stack-menu-bar' ng-if='ctrl.componentStack.length'>\n<div class='left'>\n<div class='sk-app-bar-item' ng-click='ctrl.toggleStackComponentForCurrentItem(component)' ng-repeat='component in ctrl.componentStack'>\n<div class='sk-app-bar-item-column'>\n<div class='sk-circle small' ng-class='{&#39;info&#39; : !component.hidden &amp;&amp; component.active, &#39;neutral&#39; : component.hidden || !component.active}'></div>\n</div>\n<div class='sk-app-bar-item-column'>\n<div class='sk-label'>{{component.name}}</div>\n</div>\n</div>\n</div>\n</div>\n<div class='sn-component'>\n<component-view class='component-view component-stack-item' component='component' manual-dealloc='true' ng-if='component.active' ng-repeat='component in ctrl.componentStack' ng-show='!component.hidden'></component-view>\n</div>\n</div>\n</div>\n"),e.put("footer.html","<div class='sn-component'>\n<div class='sk-app-bar no-edges no-bottom-edge' id='footer-bar'>\n<div class='left'>\n<div class='sk-app-bar-item' click-outside='ctrl.clickOutsideAccountMenu()' is-open='ctrl.showAccountMenu' ng-click='ctrl.accountMenuPressed()'>\n<div class='sk-app-bar-item-column'>\n<div class='sk-circle small' ng-class='ctrl.error ? &#39;danger&#39; : (ctrl.getUser() ? &#39;info&#39; : &#39;neutral&#39;)'></div>\n</div>\n<div class='sk-app-bar-item-column'>\n<div class='sk-label title' ng-class='{red: ctrl.error}'>Account</div>\n</div>\n<account-menu close-function='ctrl.closeAccountMenu' ng-click='$event.stopPropagation()' ng-if='ctrl.showAccountMenu' on-successful-auth='ctrl.onAuthSuccess'></account-menu>\n</div>\n<div class='sk-app-bar-item'>\n<a class='no-decoration sk-label title' href='https://standardnotes.org/help' rel='noopener' target='_blank'>\nHelp\n</a>\n</div>\n<div class='sk-app-bar-item border'></div>\n<div class='sk-app-bar-item' ng-repeat='room in ctrl.rooms track by room.uuid'>\n<div class='sk-app-bar-item-column' ng-click='ctrl.selectRoom(room)'>\n<div class='sk-label'>{{room.name}}</div>\n</div>\n<component-modal component='room' ng-if='room.showRoom' on-dismiss='ctrl.onRoomDismiss'></component-modal>\n</div>\n</div>\n<div class='center'>\n<div class='sk-app-bar-item' ng-show='ctrl.arbitraryStatusMessage'>\n<div class='sk-app-bar-item-column'>\n<span class='neutral sk-label'>{{ctrl.arbitraryStatusMessage}}</span>\n</div>\n</div>\n</div>\n<div class='right'>\n<div class='sk-app-bar-item' ng-click='ctrl.openSecurityUpdate()' ng-show='ctrl.securityUpdateAvailable'>\n<span class='success sk-label'>Security update available.</span>\n</div>\n<div class='sk-app-bar-item' ng-click='ctrl.clickedNewUpdateAnnouncement()' ng-show='ctrl.newUpdateAvailable == true'>\n<span class='info sk-label'>New update available.</span>\n</div>\n<div class='sk-app-bar-item no-pointer' ng-if='ctrl.lastSyncDate &amp;&amp; !ctrl.isRefreshing'>\n<div class='sk-label subtle'>\nLast refreshed {{ctrl.lastSyncDate | appDateTime}}\n</div>\n</div>\n<div class='sk-app-bar-item' ng-click='ctrl.toggleSyncResolutionMenu()' ng-if='(ctrl.outOfSync &amp;&amp; !ctrl.isRefreshing) || ctrl.showSyncResolution'>\n<div class='sk-label warning' ng-if='ctrl.outOfSync'>Potentially Out of Sync</div>\n<sync-resolution-menu close-function='ctrl.toggleSyncResolutionMenu' ng-click='$event.stopPropagation();' ng-if='ctrl.showSyncResolution'></sync-resolution-menu>\n</div>\n<div class='sk-app-bar-item' ng-if='ctrl.lastSyncDate &amp;&amp; ctrl.isRefreshing'>\n<div class='sk-spinner small'></div>\n</div>\n<div class='sk-app-bar-item' ng-if='ctrl.offline'>\n<div class='sk-label'>Offline</div>\n</div>\n<div class='sk-app-bar-item' ng-click='ctrl.refreshData()' ng-if='!ctrl.offline'>\n<div class='sk-label'>Refresh</div>\n</div>\n<div class='sk-app-bar-item border' ng-if='ctrl.dockShortcuts.length &gt; 0'></div>\n<div class='sk-app-bar-item dock-shortcut' ng-repeat='shortcut in ctrl.dockShortcuts'>\n<div class='sk-app-bar-item-column' ng-class='{&#39;underline&#39;: shortcut.component.active}' ng-click='ctrl.selectShortcut(shortcut)'>\n<div class='div' ng-if='shortcut.icon.type == &#39;circle&#39;' title='{{shortcut.name}}'>\n<div class='sk-circle small' ng-style='{&#39;background-color&#39;: shortcut.icon.background_color, &#39;border-color&#39;: shortcut.icon.border_color}'></div>\n</div>\n<div class='div' ng-if='shortcut.icon.type == &#39;svg&#39;' title='{{shortcut.name}}'>\n<div class='svg-item' elem-ready='ctrl.initSvgForShortcut(shortcut)' ng-attr-id='dock-svg-{{shortcut.component.uuid}}'></div>\n</div>\n</div>\n</div>\n<div class='sk-app-bar-item border' ng-if='ctrl.hasPasscode()'></div>\n<div class='sk-app-bar-item' id='lock-item' ng-click='ctrl.lockApp()' ng-if='ctrl.hasPasscode()' title='Locks application and wipes unencrypted data from memory.'>\n<div class='sk-label'>\n<i class='icon ion-locked' id='footer-lock-icon'></i>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("home.html","<div class='main-ui-view' ng-class='platform'>\n<lock-screen ng-if='needsUnlock' on-success='onSuccessfulUnlock'></lock-screen>\n<div class='app' id='app' ng-class='appClass' ng-if='!needsUnlock'>\n<tags-section add-new='tagsAddNew' remove-tag='removeTag' save='tagsSave' selection-made='tagsSelectionMade'></tags-section>\n<notes-section add-new='notesAddNew' selection-made='notesSelectionMade' tag='selectedTag'></notes-section>\n<editor-section note='selectedNote' remove='deleteNote' update-tags='updateTagsForNote'></editor-section>\n</div>\n<footer ng-if='!needsUnlock'></footer>\n</div>\n"),e.put("lock-screen.html","<div class='sn-component' id='lock-screen'>\n<div class='sk-panel'>\n<div class='sk-panel-header'>\n<div class='sk-panel-header-title'>Passcode Required</div>\n</div>\n<div class='sk-panel-content'>\n<div class='sk-panel-section'>\n<form class='sk-panel-form sk-panel-row' ng-submit='submitPasscodeForm()'>\n<div class='sk-panel-column stretch'>\n<input autocomplete='new-password' autofocus='true' class='center-text sk-input contrast' id='passcode-input' ng-model='formData.passcode' placeholder='Enter Passcode' should-focus='true' sn-autofocus='true' type='password'>\n<div class='sk-button-group stretch sk-panel-row form-submit'>\n<button class='sk-button info' type='submit'>\n<div class='sk-label'>Unlock</div>\n</button>\n</div>\n</div>\n</form>\n</div>\n</div>\n<div class='sk-panel-footer'>\n<div id='passcode-reset'>\n<a class='sk-a neutral' ng-click='forgotPasscode()' ng-if='!formData.showRecovery'>Forgot?</a>\n<div ng-if='formData.showRecovery'>\n<div class='sk-p'>\nIf you forgot your local passcode, your only option is to clear your local data from this device\nand sign back in to your account.\n</div>\n<div class='sk-panel-row'></div>\n<a class='sk-a danger center-text' ng-click='beginDeleteData()'>Delete Local Data</a>\n</div>\n</div>\n</div>\n</div>\n</div>\n"),e.put("notes.html","<div aria-label='Notes' class='sn-component section notes' id='notes-column'>\n<div class='content'>\n<div class='section-title-bar' id='notes-title-bar'>\n<div class='padded'>\n<div class='section-title-bar-header'>\n<div class='title'>{{ctrl.panelTitle}}</div>\n<div class='sk-button contrast wide' ng-click='ctrl.createNewNote()' title='Create a new note in the selected tag'>\n<div class='sk-label'>\n<i class='icon ion-plus add-button'></i>\n</div>\n</div>\n</div>\n<div class='filter-section' role='search'>\n<input class='filter-bar' id='search-bar' lowercase='true' ng-blur='ctrl.onFilterEnter()' ng-change='ctrl.filterTextChanged()' ng-keyup='$event.keyCode == 13 &amp;&amp; ctrl.onFilterEnter();' ng-model='ctrl.noteFilter.text' placeholder='Search' select-on-click='true' title='Searches notes in the currently selected tag'>\n<div id='search-clear-button' ng-click='ctrl.clearFilterText();' ng-show='ctrl.noteFilter.text'>✕</div>\n</input>\n</div>\n</div>\n<div class='sn-component' id='notes-menu-bar'>\n<div class='sk-app-bar no-edges'>\n<div class='left'>\n<div class='sk-app-bar-item' ng-class='{&#39;selected&#39; : ctrl.showMenu}' ng-click='ctrl.showMenu = !ctrl.showMenu'>\n<div class='sk-app-bar-item-column'>\n<div class='sk-label'>\nOptions\n</div>\n</div>\n<div class='sk-app-bar-item-column'>\n<div class='sk-sublabel'>{{ctrl.optionsSubtitle()}}</div>\n</div>\n</div>\n<div class='sk-menu-panel dropdown-menu' id='notes-options-menu' ng-show='ctrl.showMenu'>\n<div class='sk-menu-panel-header'>\n<div class='sk-menu-panel-header-title'>Sort By</div>\n<a class='info sk-h5' ng-click='ctrl.toggleReverseSort()'>\n{{ctrl.sortReverse === true ? 'Disable Reverse Sort' : 'Enable Reverse Sort'}}\n</a>\n</div>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.selectedSortByCreated()' circle='ctrl.sortBy == &#39;created_at&#39; &amp;&amp; &#39;success&#39;' desc='&#39;Sort notes by newest first&#39;' label='&#39;Date Added&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.selectedSortByUpdated()' circle='ctrl.sortBy == &#39;client_updated_at&#39; &amp;&amp; &#39;success&#39;' desc='&#39;Sort notes with the most recently updated first&#39;' label='&#39;Date Modified&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.selectedSortByTitle()' circle='ctrl.sortBy == &#39;title&#39; &amp;&amp; &#39;success&#39;' desc='&#39;Sort notes alphabetically by their title&#39;' label='&#39;Title&#39;'></menu-row>\n<div class='sk-menu-panel-section'>\n<div class='sk-menu-panel-header'>\n<div class='sk-menu-panel-header-title'>Display</div>\n</div>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.togglePrefKey(&#39;showArchived&#39;)' circle='ctrl.showArchived ? &#39;success&#39; : &#39;danger&#39;' desc='&#39;Archived notes are usually hidden. You can explicitly show them with this option.&#39;' faded='!ctrl.showArchived' label='&#39;Archived Notes&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.togglePrefKey(&#39;hidePinned&#39;)' circle='ctrl.hidePinned ? &#39;danger&#39; : &#39;success&#39;' desc='&#39;Pinned notes always appear on top. You can hide them temporarily with this option so you can focus on other notes in the list.&#39;' faded='ctrl.hidePinned' label='&#39;Pinned Notes&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.togglePrefKey(&#39;hideNotePreview&#39;)' circle='ctrl.hideNotePreview ? &#39;danger&#39; : &#39;success&#39;' desc='&#39;Hide the note preview for a more condensed list of notes&#39;' faded='ctrl.hideNotePreview' label='&#39;Note Preview&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.togglePrefKey(&#39;hideDate&#39;)' circle='ctrl.hideDate ? &#39;danger&#39; : &#39;success&#39;' desc='&#39;Hide the date displayed in each row&#39;' faded='ctrl.hideDate' label='&#39;Date&#39;'></menu-row>\n<menu-row action='ctrl.selectedMenuItem(); ctrl.togglePrefKey(&#39;hideTags&#39;)' circle='ctrl.hideTags ? &#39;danger&#39; : &#39;success&#39;' desc='&#39;Hide the list of tags associated with each note&#39;' faded='ctrl.hideTags' label='&#39;Tags&#39;'></menu-row>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class='scrollable'>\n<div can-load='true' class='infinite-scroll' id='notes-scrollable' infinite-scroll='ctrl.paginate()' threshold='200'>\n<div class='note' ng-class='{&#39;selected&#39; : ctrl.selectedNote == note}' ng-click='ctrl.selectNote(note, true)' ng-repeat='note in (ctrl.renderedNotes = (ctrl.notes | limitTo:ctrl.notesToDisplay)) track by note.uuid'>\n<div class='note-flags' ng-show='note.flags.length &gt; 0'>\n<div class='flag' ng-class='flag.class' ng-repeat='flag in note.flags'>\n<div class='label'>{{flag.text}}</div>\n</div>\n</div>\n<div class='name' ng-show='note.title'>\n{{note.title}}\n</div>\n<div class='note-preview' ng-if='!ctrl.hideNotePreview &amp;&amp; !note.content.hidePreview &amp;&amp; !note.content.protected'>\n<div class='html-preview' ng-bind-html='note.content.preview_html' ng-show='note.content.preview_html'></div>\n<div class='plain-preview' ng-show='!note.content.preview_html &amp;&amp; note.content.preview_plain'>{{note.content.preview_plain}}</div>\n<div class='default-preview' ng-show='!note.content.preview_html &amp;&amp; !note.content.preview_plain'>{{note.text}}</div>\n</div>\n<div class='date faded' ng-show='!ctrl.hideDate'>\n<span ng-show='ctrl.sortBy == &#39;client_updated_at&#39;'>Modified {{note.cachedUpdatedAtString || 'Now'}}</span>\n<span ng-show='ctrl.sortBy != &#39;client_updated_at&#39;'>{{note.cachedCreatedAtString || 'Now'}}</span>\n</div>\n<div class='tags-string' ng-show='note.shouldShowTags'>\n<div class='faded'>{{note.savedTagsString || note.tagsString()}}</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<panel-resizer collapsable='true' control='ctrl.panelController' default-width='300' hoverable='true' on-resize-finish='ctrl.onPanelResize' panel-id='&#39;notes-column&#39;'></panel-resizer>\n</div>\n"),e.put("tags.html","<div aria-label='Tags' class='sn-component section tags' id='tags-column'>\n<div class='component-view-container' ng-if='ctrl.component.active'>\n<component-view class='component-view' component='ctrl.component'></component-view>\n</div>\n<div class='content' id='tags-content' ng-if='!(ctrl.component &amp;&amp; ctrl.component.active)'>\n<div class='tags-title-section section-title-bar'>\n<div class='section-title-bar-header'>\n<div class='sk-h3 title'>\n<span class='sk-bold'>Views</span>\n</div>\n<div class='sk-button sk-secondary-contrast wide' ng-click='ctrl.clickedAddNewTag()' title='Create a new tag'>\n<div class='sk-label'>\n<i class='icon ion-plus add-button'></i>\n</div>\n</div>\n</div>\n</div>\n<div class='scrollable'>\n<div class='infinite-scroll'>\n<div class='tag' ng-class='{&#39;selected&#39; : ctrl.selectedTag == tag, &#39;faded&#39; : !tag.content.isAllTag}' ng-click='ctrl.selectTag(tag)' ng-repeat='tag in ctrl.smartTags'>\n<div class='tag-info'>\n<input class='title' ng-disabled='true' ng-model='tag.title'>\n<div class='count' ng-show='tag.content.isAllTag'>{{tag.cachedNoteCount}}</div>\n</div>\n</div>\n<div class='tags-title-section section-title-bar'>\n<div class='section-title-bar-header'>\n<div class='sk-h3 title'>\n<span class='sk-bold'>Tags</span>\n</div>\n</div>\n</div>\n<div class='tag' ng-class='{&#39;selected&#39; : ctrl.selectedTag == tag}' ng-click='ctrl.selectTag(tag)' ng-repeat='tag in ctrl.tags track by tag.uuid'>\n<div class='tag-info'>\n<div class='tag-icon'>#</div>\n<input class='title' ng-attr-id='tag-{{tag.uuid}}' ng-blur='ctrl.saveTag($event, tag)' ng-change='ctrl.tagTitleDidChange(tag)' ng-class='{&#39;editing&#39; : ctrl.editingTag == tag}' ng-click='ctrl.selectTag(tag)' ng-keyup='$event.keyCode == 13 &amp;&amp; $event.target.blur()' ng-model='tag.title' should-focus='ctrl.newTag || ctrl.editingTag == tag' sn-autofocus='true' spellcheck='false'>\n<div class='count'>{{tag.cachedNoteCount}}</div>\n</div>\n<div class='danger small-text bold' ng-show='tag.content.conflict_of'>Conflicted Copy</div>\n<div class='danger small-text bold' ng-show='tag.errorDecrypting'>Missing Keys</div>\n<div class='menu' ng-show='ctrl.selectedTag == tag'>\n<a class='item' ng-click='ctrl.selectedRenameTag($event, tag)' ng-show='!ctrl.editingTag'>Rename</a>\n<a class='item' ng-click='ctrl.saveTag($event, tag)' ng-show='ctrl.editingTag'>Save</a>\n<a class='item' ng-click='ctrl.selectedDeleteTag(tag)'>Delete</a>\n</div>\n</div>\n<div class='no-tags-placeholder' ng-show='ctrl.tags.length == 0'>\nNo tags. Create one using the add button above.\n</div>\n</div>\n</div>\n</div>\n<panel-resizer collapsable='true' control='ctrl.panelController' default-width='150' hoverable='true' on-resize-finish='ctrl.onPanelResize' panel-id='&#39;tags-column&#39;'></panel-resizer>\n</div>\n")}]);