!function(e,t,r,n,o,a,s){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,a=t.createElement(r),s=t.getElementsByTagName(r)[0],a.async=1,a.src="https://www.google-analytics.com/analytics.js",s.parentNode.insertBefore(a,s)}(window,document,"script",0,"ga"),ga("create","UA-81915606-3","auto");var AdminLTEOptions={controlSidebarOptions:{selector:"#adminlte-fakeselector"}},u2f=u2f||{};u2f.isSupported=!!(void 0!==u2f&&u2f.register||"undefined"!=typeof chrome&&chrome.runtime);var js_api_version;u2f.EXTENSION_ID="kmendfapggjehodndflmmgagdbamhnfd",u2f.MessageTypes={U2F_REGISTER_REQUEST:"u2f_register_request",U2F_REGISTER_RESPONSE:"u2f_register_response",U2F_SIGN_REQUEST:"u2f_sign_request",U2F_SIGN_RESPONSE:"u2f_sign_response",U2F_GET_API_VERSION_REQUEST:"u2f_get_api_version_request",U2F_GET_API_VERSION_RESPONSE:"u2f_get_api_version_response"},u2f.ErrorCodes={OK:0,OTHER_ERROR:1,BAD_REQUEST:2,CONFIGURATION_UNSUPPORTED:3,DEVICE_INELIGIBLE:4,TIMEOUT:5},u2f.U2fRequest,u2f.U2fResponse,u2f.Error,u2f.Transport,u2f.Transports,u2f.SignRequest,u2f.SignResponse,u2f.RegisterRequest,u2f.RegisterResponse,u2f.RegisteredKey,u2f.GetJsApiVersionResponse,u2f.getMessagePort=function(e){if("undefined"!=typeof chrome&&chrome.runtime){var t={type:u2f.MessageTypes.U2F_SIGN_REQUEST,signRequests:[]};chrome.runtime.sendMessage(u2f.EXTENSION_ID,t,function(){chrome.runtime.lastError?u2f.getIframePort_(e):u2f.getChromeRuntimePort_(e)})}else u2f.isAndroidChrome_()?u2f.getAuthenticatorPort_(e):u2f.isIosChrome_()?u2f.getIosPort_(e):u2f.getIframePort_(e)},u2f.isAndroidChrome_=function(){var e=navigator.userAgent;return-1!=e.indexOf("Chrome")&&-1!=e.indexOf("Android")},u2f.isIosChrome_=function(){return["iPhone","iPad","iPod"].indexOf(navigator.platform)>-1},u2f.getChromeRuntimePort_=function(e){var t=chrome.runtime.connect(u2f.EXTENSION_ID,{includeTlsChannelId:!0});setTimeout(function(){e(new u2f.WrappedChromeRuntimePort_(t))},0)},u2f.getAuthenticatorPort_=function(e){setTimeout(function(){e(new u2f.WrappedAuthenticatorPort_)},0)},u2f.getIosPort_=function(e){setTimeout(function(){e(new u2f.WrappedIosPort_)},0)},u2f.WrappedChromeRuntimePort_=function(e){this.port_=e},u2f.formatSignRequest_=function(e,t,r,n,o){if(void 0===js_api_version||js_api_version<1.1){for(var a=[],s=0;s2&&(n=!0,r.shift());var a={ext:!0};switch(r[0][0]){case"1.2.840.113549.1.1.1":var s=["n","e","d","p","q","dp","dq","qi"],i=c(r[1]);n&&i.shift();for(var u=0;u2&&(a=!0,i.unshift(new Uint8Array([0]))),o[0][0]="1.2.840.113549.1.1.1",t=i;break;default:throw new TypeError("Unsupported key type")}return o.push(new Uint8Array(l(t)).buffer),a?o.unshift(new Uint8Array([0])):o[1]={tag:3,value:o[1]},new Uint8Array(l(o)).buffer}function c(e,t){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),t||(t={pos:0,end:e.length}),t.end-t.pos<2||t.end>e.length)throw new RangeError("Malformed DER");var r=e[t.pos++],n=e[t.pos++];if(n>=128){if(n&=127,t.end-t.pos=128){var u=o,o=4;for(t.splice(a,0,u>>24&255,u>>16&255,u>>8&255,255&u);o>1&&!(u>>24);)u<<=8,o--;o<4&&t.splice(a,4-o),o|=128}return t.splice(a-2,2,r,o),t}function g(e,t,r,n){Object.defineProperties(this,{_key:{value:e},type:{value:e.type,enumerable:!0},extractable:{value:void 0===r?e.extractable:r,enumerable:!0},algorithm:{value:void 0===t?e.algorithm:t,enumerable:!0},usages:{value:void 0===n?e.usages:n,enumerable:!0}})}function d(e){return"verify"===e||"encrypt"===e||"wrapKey"===e}function y(e){return"sign"===e||"decrypt"===e||"unwrapKey"===e}var h=e.crypto||e.msCrypto;if(h){var _=h.subtle||h.webkitSubtle;if(_){var m=e.Crypto||h.constructor||Object,E=e.SubtleCrypto||_.constructor||Object,S=(e.CryptoKey||e.Key||Object,!!e.msCrypto),v=!h.subtle&&!!h.webkitSubtle;if(S||v){e.cryptoShimmed=!0;var A={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},w={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(e){var t=_[e];_[e]=function(o,f,c){var l,m,E,A=[].slice.call(arguments);switch(e){case"generateKey":l=a(o),m=f,E=c;break;case"importKey":l=a(c),m=A[3],E=A[4],"jwk"===o&&(f=i(f),f.alg||(f.alg=s(l)),f.key_ops||(f.key_ops="oct"!==f.kty?"d"in f?E.filter(y):E.filter(d):E.slice()),A[1]=u(f));break;case"unwrapKey":l=A[4],m=A[5],E=A[6],A[2]=c._key}if("generateKey"===e&&"HMAC"===l.name&&l.hash)return l.length=l.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[l.hash.name],_.importKey("raw",h.getRandomValues(new Uint8Array(l.length+7>>3)),l,m,E);if(v&&"generateKey"===e&&"RSASSA-PKCS1-v1_5"===l.name&&(!l.modulusLength||l.modulusLength>=2048))return o=a(o),o.name="RSAES-PKCS1-v1_5",delete o.hash,_.generateKey(o,!0,["encrypt","decrypt"]).then(function(e){return Promise.all([_.exportKey("jwk",e.publicKey),_.exportKey("jwk",e.privateKey)])}).then(function(e){return e[0].alg=e[1].alg=s(l),e[0].key_ops=E.filter(d),e[1].key_ops=E.filter(y),Promise.all([_.importKey("jwk",e[0],l,!0,e[0].key_ops),_.importKey("jwk",e[1],l,m,e[1].key_ops)])}).then(function(e){return{publicKey:e[0],privateKey:e[1]}});if((v||S&&"SHA-1"===(l.hash||{}).name)&&"importKey"===e&&"jwk"===o&&"HMAC"===l.name&&"oct"===f.kty)return _.importKey("raw",n(r(f.k)),c,A[3],A[4]);if(v&&"importKey"===e&&("spki"===o||"pkcs8"===o))return _.importKey("jwk",p(f),c,A[3],A[4]);if(S&&"unwrapKey"===e)return _.decrypt(A[3],c,f).then(function(e){return _.importKey(o,e,A[4],A[5],A[6])});var w;try{w=t.apply(_,A)}catch(e){return Promise.reject(e)}return S&&(w=new Promise(function(e,t){w.onabort=w.onerror=function(e){t(e)},w.oncomplete=function(t){e(t.target.result)}})),w=w.then(function(e){return"HMAC"===l.name&&(l.length||(l.length=8*e.algorithm.length)),0==l.name.search("RSA")&&(l.modulusLength||(l.modulusLength=(e.publicKey||e).algorithm.modulusLength),l.publicExponent||(l.publicExponent=(e.publicKey||e).algorithm.publicExponent)),e=e.publicKey&&e.privateKey?{publicKey:new g(e.publicKey,l,m,E.filter(d)),privateKey:new g(e.privateKey,l,m,E.filter(y))}:new g(e,l,m,E)})}}),["exportKey","wrapKey"].forEach(function(e){var r=_[e];_[e]=function(a,u,p){var c=[].slice.call(arguments);switch(e){case"exportKey":c[1]=u._key;break;case"wrapKey":c[1]=u._key,c[2]=p._key}if((v||S&&"SHA-1"===(u.algorithm.hash||{}).name)&&"exportKey"===e&&"jwk"===a&&"HMAC"===u.algorithm.name&&(c[0]="raw"),!v||"exportKey"!==e||"spki"!==a&&"pkcs8"!==a||(c[0]="jwk"),S&&"wrapKey"===e)return _.exportKey(a,u).then(function(e){return"jwk"===a&&(e=n(unescape(encodeURIComponent(JSON.stringify(i(e)))))),_.encrypt(c[3],p,e)});var l;try{l=r.apply(_,c)}catch(e){return Promise.reject(e)}return S&&(l=new Promise(function(e,t){l.onabort=l.onerror=function(e){t(e)},l.oncomplete=function(t){e(t.target.result)}})),"exportKey"===e&&"jwk"===a&&(l=l.then(function(e){return(v||S&&"SHA-1"===(u.algorithm.hash||{}).name)&&"HMAC"===u.algorithm.name?{kty:"oct",alg:s(u.algorithm),key_ops:u.usages.slice(),ext:!0,k:t(o(e))}:(e=i(e),e.alg||(e.alg=s(u.algorithm)),e.key_ops||(e.key_ops="public"===u.type?u.usages.filter(d):"private"===u.type?u.usages.filter(y):u.usages.slice()),e)})),!v||"exportKey"!==e||"spki"!==a&&"pkcs8"!==a||(l=l.then(function(e){return e=f(i(e))})),l}}),["encrypt","decrypt","sign","verify"].forEach(function(e){var t=_[e];_[e]=function(r,n,o,s){if(S&&(!o.byteLength||s&&!s.byteLength))throw new Error("Empy input is not allowed");var i=[].slice.call(arguments),u=a(r);if(S&&"decrypt"===e&&"AES-GCM"===u.name){var p=r.tagLength>>3;i[2]=(o.buffer||o).slice(0,o.byteLength-p),r.tag=(o.buffer||o).slice(o.byteLength-p)}i[1]=n._key;var f;try{f=t.apply(_,i)}catch(e){return Promise.reject(e)}return S&&(f=new Promise(function(t,r){f.onabort=f.onerror=function(e){r(e)},f.oncomplete=function(r){var r=r.target.result;if("encrypt"===e&&r instanceof AesGcmEncryptResult){var n=r.ciphertext,o=r.tag;r=new Uint8Array(n.byteLength+o.byteLength),r.set(new Uint8Array(n),0),r.set(new Uint8Array(o),n.byteLength),r=r.buffer}t(r)}})),f}}),S){var R=_.digest;_.digest=function(e,t){if(!t.byteLength)throw new Error("Empy input is not allowed");var r;try{r=R.call(_,e,t)}catch(e){return Promise.reject(e)}return r=new Promise(function(e,t){r.onabort=r.onerror=function(e){t(e)},r.oncomplete=function(t){e(t.target.result)}})},e.crypto=Object.create(h,{getRandomValues:{value:function(e){return h.getRandomValues(e)}},subtle:{value:_}}),e.CryptoKey=g}v&&(h.subtle=_,e.Crypto=m,e.SubtleCrypto=E,e.CryptoKey=g)}}}}("undefined"==typeof window?"undefined"==typeof self?this:self:window);