@realsee/five 5.0.0-alpha.112 → 5.0.0-alpha.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/classes/five.AnimationFrameLoop.html +1 -1
- package/docs/classes/five.BVH.html +1 -1
- package/docs/classes/five.BVHIntersect.html +1 -1
- package/docs/classes/five.BVHNode.html +1 -1
- package/docs/classes/five.BVHVector3.html +1 -1
- package/docs/classes/five.Camera.html +1 -1
- package/docs/classes/five.Five.html +1 -1
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.IntersectMesh.html +1 -1
- package/docs/classes/five.LegacyPanoCircleMesh.html +1 -1
- package/docs/classes/five.Model.html +3 -3
- package/docs/classes/five.NetworkSubscribe.html +1 -1
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMaterial.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PanoCircleMesh.html +1 -1
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +1 -1
- package/docs/classes/five.Work.html +1 -1
- package/docs/classes/gltf_loader.GLTFLoader.html +1 -1
- package/docs/classes/gltf_loader.GLTFObject.html +1 -1
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/react.Store.html +1 -1
- package/docs/classes/server.BVH.html +1 -1
- package/docs/classes/server.BVHIntersect.html +1 -1
- package/docs/classes/server.BVHNode.html +1 -1
- package/docs/classes/server.BVHVector3.html +1 -1
- package/docs/classes/server.Model.html +1 -1
- package/docs/classes/server.PBMGroup.html +1 -1
- package/docs/classes/server.PBMMesh.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- package/docs/index.html +1 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AnimationFrame.html +1 -1
- package/docs/interfaces/five.CameraPose.html +1 -1
- package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.EventCallback.html +1 -1
- package/docs/interfaces/five.FiveInitArgs.html +1 -1
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.ImageURLOptions.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEventCallback.html +1 -1
- package/docs/interfaces/five.MovePanoOptions.html +1 -1
- package/docs/interfaces/five.PBMPanoPicture.html +1 -1
- package/docs/interfaces/five.PBMParameters.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.Scissor.html +1 -1
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.WorkCubeImage.html +1 -1
- package/docs/interfaces/five.WorkImage.html +1 -1
- package/docs/interfaces/five.WorkInitial.html +1 -1
- package/docs/interfaces/five.WorkModel.html +1 -1
- package/docs/interfaces/five.WorkObserver.html +1 -1
- package/docs/interfaces/five.WorkTile.html +1 -1
- package/docs/interfaces/five.WorkVideo.html +1 -1
- package/docs/interfaces/gltf_loader.GLTF.html +1 -1
- package/docs/interfaces/react.FiveActionReactCallbacks.html +1 -1
- package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
- package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -1
- package/docs/interfaces/server.Intersection.html +1 -1
- package/docs/interfaces/server.ModelEventCallback.html +1 -1
- package/docs/interfaces/sticker.IntersectionLike.html +1 -1
- package/docs/modules/five.SubscribeMixinType.html +1 -1
- package/docs/modules/five.html +1 -1
- package/docs/modules/gltf_loader.html +1 -1
- package/docs/modules/line.html +1 -1
- package/docs/modules/react.html +1 -1
- package/docs/modules/server.html +1 -1
- package/docs/modules/sticker.html +1 -1
- package/docs/modules.html +1 -1
- package/five/index.js +3 -3
- package/gltf-loader/index.js +2 -2
- package/line/index.js +2 -2
- package/package.json +1 -1
- package/react/index.js +2 -2
- package/server/index.js +2 -2
- package/sticker/index.js +2 -2
- package/umd/five.js +1 -1
package/five/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @realsee/five
|
|
3
3
|
*
|
|
4
|
-
* Generated: 2022-03-
|
|
5
|
-
* Version: 5.0.0-alpha.
|
|
4
|
+
* Generated: 2022-03-18
|
|
5
|
+
* Version: 5.0.0-alpha.113
|
|
6
6
|
*
|
|
7
7
|
* Terms:
|
|
8
8
|
* Realsee SDK License Agreement
|
|
@@ -364,7 +364,7 @@ var D="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";functio
|
|
|
364
364
|
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */
|
|
365
365
|
function G(t,e){return new c(t,e)}function W(t,e,i){for(var n="",r=0;n.length<e;)n+=i(String.fromCharCode.apply(String,t.concat([(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r]))),r+=1;return n}function X(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function Y(t,e,i){for(var n="",r=0;n.length<e;)n+=i(t+String.fromCharCode.apply(String,[(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r])),r+=1;return n}function Z(t){for(var e="",i=0;i<t.length;i++){var n=t[i].toString(16);1==n.length&&(n="0"+n),e+=n}return e}function J(t){return Z(function(t){for(var e=new Array,i=0;i<t.length;i++)e[i]=t.charCodeAt(i);return e}(t))}function $(t){return t.length%4==2?t+="==":t.length%4==3&&(t+="="),t=(t=t.replace(/-/g,"+")).replace(/_/g,"/")}function tt(t){return t.length%2==1&&(t="0"+t),function(t){return(t=(t=t.replace(/\=/g,"")).replace(/\+/g,"-")).replace(/\//g,"_")}(k(t))}function et(t){return N($(t))}function it(t){return function(t){return t.replace(/%/g,"")}(function(t){for(var e=encodeURIComponent(t),i="",n=0;n<e.length;n++)"%"==e[n]?(i+=e.substr(n,3),n+=2):i=i+"%"+J(e[n]);return i}(t))}function nt(t){return decodeURIComponent(function(t){return t.replace(/(..)/g,"%$1")}(t))}function rt(t){for(var e="",i=0;i<t.length-1;i+=2)e+=String.fromCharCode(parseInt(t.substr(i,2),16));return e}function ot(t){for(var e="",i=0;i<t.length;i++)e+=("0"+t.charCodeAt(i).toString(16)).slice(-2);return e}function st(t){var e=function(t){return k(t)}(t).replace(/(.{64})/g,"$1\r\n");return e=e.replace(/\r\n$/,"")}function at(t,e){return"-----BEGIN "+e+"-----\r\n"+st(t)+"\r\n-----END "+e+"-----\r\n"}function ut(t,e){if(-1==t.indexOf("-----BEGIN "))throw"can't find PEM header: "+e;return function(t){return N(t.replace(/[^0-9A-Za-z\/+=]*/g,""))}(t=void 0!==e?(t=t.replace(new RegExp("^[^]*-----BEGIN "+e+"-----"),"")).replace(new RegExp("-----END "+e+"-----[^]*$"),""):(t=t.replace(/^[^]*-----BEGIN [^-]+-----/,"")).replace(/-----END [^-]+-----[^]*$/,""))}function lt(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?function(t){if(!t.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";for(var e=(t=t.toLowerCase()).match(/.{1,4}/g),i=0;i<8;i++)e[i]=e[i].replace(/^0+/,""),""==e[i]&&(e[i]="0");var n=(t=":"+e.join(":")+":").match(/:(0:){2,}/g);if(null===n)return t.slice(1,-1);var r="";for(i=0;i<n.length;i++)n[i].length>r.length&&(r=n[i]);return(t=t.replace(r,"::")).slice(1,-1)}(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function ht(t){return t.match(/.{4}/g).map((function(t){var e=parseInt(t.substr(0,2),16),i=parseInt(t.substr(2),16);if(0==e&i<128)return String.fromCharCode(i);if(e<8){var n=128|63&i;return nt((192|(7&e)<<3|(192&i)>>6).toString(16)+n.toString(16))}n=128|(15&e)<<2|(192&i)>>6;var r=128|63&i;return nt((224|(240&e)>>4).toString(16)+n.toString(16)+r.toString(16))})).join("")}function ct(t){return!(t.length%2!=0||!t.match(/^[0-9a-f]+$/)&&!t.match(/^[0-9A-F]+$/))}function dt(t){return t.length%2==1?"0"+t:t.substr(0,1)>"7"?"00"+t:t}U.prototype.nextBytes=function(t){var e;for(e=0;e<t.length;++e)t[e]=j()},X.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)},X.prototype.setPublic=function(t,e){if(this.isPublic=!0,this.isPrivate=!1,"string"!=typeof t)this.n=t,this.e=e;else{if(!(null!=t&&null!=e&&t.length>0&&e.length>0))throw"Invalid RSA public key";this.n=G(t,16),this.e=parseInt(e,16)}},X.prototype.encrypt=function(t){var e=function(t,e){if(e<t.length+11)throw"Message too long for RSA";for(var i=new Array,n=t.length-1;n>=0&&e>0;){var r=t.charCodeAt(n--);r<128?i[--e]=r:r>127&&r<2048?(i[--e]=63&r|128,i[--e]=r>>6|192):(i[--e]=63&r|128,i[--e]=r>>6&63|128,i[--e]=r>>12|224)}i[--e]=0;for(var o=new U,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);i[--e]=s[0]}return i[--e]=2,i[--e]=0,new c(i)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var i=this.doPublic(e);if(null==i)return null;var n=i.toString(16);return 0==(1&n.length)?n:"0"+n},X.prototype.encryptOAEP=function(t,e,i){var n=function(t,e,i,n){var r=u.crypto.MessageDigest,o=u.crypto.Util,s=null;if(i||(i="sha1"),"string"==typeof i&&(s=r.getCanonicalAlgName(i),n=r.getHashLength(s),i=function(t){return rt(o.hashHex(ot(t),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,l="";for(a=0;a<e-t.length-2*n-2;a+=1)l+="\0";var h=i("")+l+""+t,d=new Array(n);(new U).nextBytes(d);var p=W(d,h.length,i),A=[];for(a=0;a<h.length;a+=1)A[a]=h.charCodeAt(a)^p.charCodeAt(a);var f=W(A,d.length,i),g=[0];for(a=0;a<d.length;a+=1)g[a+1]=d[a]^f.charCodeAt(a);return new c(g.concat(A))}(t,this.n.bitLength()+7>>3,e,i);if(null==n)return null;var r=this.doPublic(n);if(null==r)return null;var o=r.toString(16);return 0==(1&o.length)?o:"0"+o},X.prototype.type="RSA",X.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),i=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(i)<0;)e=e.add(this.p);return e.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)},X.prototype.setPrivate=function(t,e,i){if(this.isPrivate=!0,"string"!=typeof t)this.n=t,this.e=e,this.d=i;else{if(!(null!=t&&null!=e&&t.length>0&&e.length>0))throw"Invalid RSA private key";this.n=G(t,16),this.e=parseInt(e,16),this.d=G(i,16)}},X.prototype.setPrivateEx=function(t,e,i,n,r,o,s,a){if(this.isPrivate=!0,this.isPublic=!1,null==t)throw"RSASetPrivateEx N == null";if(null==e)throw"RSASetPrivateEx E == null";if(0==t.length)throw"RSASetPrivateEx N.length == 0";if(0==e.length)throw"RSASetPrivateEx E.length == 0";if(!(null!=t&&null!=e&&t.length>0&&e.length>0))throw"Invalid RSA private key in RSASetPrivateEx";this.n=G(t,16),this.e=parseInt(e,16),this.d=G(i,16),this.p=G(n,16),this.q=G(r,16),this.dmp1=G(o,16),this.dmq1=G(s,16),this.coeff=G(a,16)},X.prototype.generate=function(t,e){var i=new U,n=t>>1;this.e=parseInt(e,16);for(var r=new c(e,16);;){for(;this.p=new c(t-n,1,i),0!=this.p.subtract(c.ONE).gcd(r).compareTo(c.ONE)||!this.p.isProbablePrime(10););for(;this.q=new c(n,1,i),0!=this.q.subtract(c.ONE).gcd(r).compareTo(c.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var o=this.p;this.p=this.q,this.q=o}var s=this.p.subtract(c.ONE),a=this.q.subtract(c.ONE),u=s.multiply(a);if(0==u.gcd(r).compareTo(c.ONE)&&(this.n=this.p.multiply(this.q),this.n.bitLength()==t)){this.d=r.modInverse(u),this.dmp1=this.d.mod(s),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}this.isPrivate=!0},X.prototype.decrypt=function(t){if(t.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var e=G(t,16),i=this.doPrivate(e);return null==i?null:
|
|
366
366
|
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */
|
|
367
|
-
function(t,e){for(var i=t.toByteArray(),n=0;n<i.length&&0==i[n];)++n;if(i.length-n!=e-1||2!=i[n])return null;for(++n;0!=i[n];)if(++n>=i.length)return null;for(var r="";++n<i.length;){var o=255&i[n];o<128?r+=String.fromCharCode(o):o>191&&o<224?(r+=String.fromCharCode((31&o)<<6|63&i[n+1]),++n):(r+=String.fromCharCode((15&o)<<12|(63&i[n+1])<<6|63&i[n+2]),n+=2)}return r}(i,this.n.bitLength()+7>>3)},X.prototype.decryptOAEP=function(t,e,i){if(t.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var n=G(t,16),r=this.doPrivate(n);return null==r?null:function(t,e,i,n){var r=u.crypto.MessageDigest,o=u.crypto.Util,s=null;for(i||(i="sha1"),"string"==typeof i&&(s=r.getCanonicalAlgName(i),n=r.getHashLength(s),i=function(t){return rt(o.hashHex(ot(t),s))}),t=t.toByteArray(),a=0;a<t.length;a+=1)t[a]&=255;for(;t.length<e;)t.unshift(0);if((t=String.fromCharCode.apply(String,t)).length<2*n+2)throw"Cipher too short";var a,l=t.substr(1,n),h=t.substr(n+1),c=Y(h,n,i),d=[];for(a=0;a<l.length;a+=1)d[a]=l.charCodeAt(a)^c.charCodeAt(a);var p=Y(String.fromCharCode.apply(String,d),t.length-n,i),A=[];for(a=0;a<h.length;a+=1)A[a]=h.charCodeAt(a)^p.charCodeAt(a);if((A=String.fromCharCode.apply(String,A)).substr(0,n)!==i(""))throw"Hash mismatch";var f=(A=A.substr(n)).indexOf("");if((-1!=f?A.substr(0,f).lastIndexOf("\0"):-1)+1!=f)throw"Malformed data";return A.substr(f+1)}(r,this.n.bitLength()+7>>3,e,i)},void 0!==u.lang&&u.lang||(u.lang={}),u.lang.String=function(){},u.lang.String.isInteger=function(t){return!!t.match(/^[0-9]+$/)||!!t.match(/^-[0-9]+$/)},u.lang.String.isHex=function(t){return ct(t)},u.lang.String.isBase64=function(t){return!(!(t=t.replace(/\s+/g,"")).match(/^[0-9A-Za-z+\/]+={0,3}$/)||t.length%4!=0)},u.lang.String.isBase64URL=function(t){return!t.match(/[+/=]/)&&(t=$(t),u.lang.String.isBase64(t))},u.lang.String.isIntegerArray=function(t){return!!(t=t.replace(/\s+/g,"")).match(/^\[[0-9,]+\]$/)},u.lang.String.isPrintable=function(t){return null!==t.match(/^[0-9A-Za-z '()+,-./:=?]*$/)},u.lang.String.isIA5=function(t){return null!==t.match(/^[\x20-\x21\x23-\x7f]*$/)},u.lang.String.isMail=function(t){return null!==t.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)};var pt=function(t,e,i){return null==i&&(i="0"),t.length>=e?t:new Array(e-t.length+1).join(i)+t};function At(t,e){var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e)}void 0!==u.crypto&&u.crypto||(u.crypto={}),u.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:h.algo.MD5,sha1:h.algo.SHA1,sha224:h.algo.SHA224,sha256:h.algo.SHA256,sha384:h.algo.SHA384,sha512:h.algo.SHA512,ripemd160:h.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,i){var n=this.getDigestInfoHex(t,e),r=i/4;if(n.length+22>r)throw"key is too short for SigAlg: keylen="+i+","+e;for(var o="0001",s="00"+n,a="",u=r-o.length-s.length,l=0;l<u;l+=2)a+="ff";return o+a+s},this.hashString=function(t,e){return new u.crypto.MessageDigest({alg:e}).digestString(t)},this.hashHex=function(t,e){return new u.crypto.MessageDigest({alg:e}).digestHex(t)},this.sha1=function(t){return this.hashString(t,"sha1")},this.sha256=function(t){return this.hashString(t,"sha256")},this.sha256Hex=function(t){return this.hashHex(t,"sha256")},this.sha512=function(t){return this.hashString(t,"sha512")},this.sha512Hex=function(t){return this.hashHex(t,"sha512")},this.isKey=function(t){return t instanceof X||t instanceof u.crypto.DSA||t instanceof u.crypto.ECDSA}},u.crypto.Util.md5=function(t){return new u.crypto.MessageDigest({alg:"md5",prov:"cryptojs"}).digestString(t)},u.crypto.Util.ripemd160=function(t){return new u.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"}).digestString(t)},u.crypto.Util.SECURERANDOMGEN=new U,u.crypto.Util.getRandomHexOfNbytes=function(t){var e=new Array(t);return u.crypto.Util.SECURERANDOMGEN.nextBytes(e),Z(e)},u.crypto.Util.getRandomBigIntegerOfNbytes=function(t){return new c(u.crypto.Util.getRandomHexOfNbytes(t),16)},u.crypto.Util.getRandomHexOfNbits=function(t){var e=t%8,i=new Array((t-e)/8+1);return u.crypto.Util.SECURERANDOMGEN.nextBytes(i),i[0]=(255<<e&255^255)&i[0],Z(i)},u.crypto.Util.getRandomBigIntegerOfNbits=function(t){return new c(u.crypto.Util.getRandomHexOfNbits(t),16)},u.crypto.Util.getRandomBigIntegerZeroToMax=function(t){for(var e=t.bitLength();;){var i=u.crypto.Util.getRandomBigIntegerOfNbits(e);if(-1!=t.compareTo(i))return i}},u.crypto.Util.getRandomBigIntegerMinToMax=function(t,e){var i=t.compareTo(e);if(1==i)throw"biMin is greater than biMax";if(0==i)return t;var n=e.subtract(t);return u.crypto.Util.getRandomBigIntegerZeroToMax(n).add(t)},u.crypto.MessageDigest=function(t){this.setAlgAndProvider=function(t,e){if(null!==(t=u.crypto.MessageDigest.getCanonicalAlgName(t))&&void 0===e&&(e=u.crypto.Util.DEFAULTPROVIDER[t]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(t)&&"cryptojs"==e){try{this.md=u.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[t].create()}catch(e){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+e}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){var e=h.enc.Hex.parse(t);this.md.update(e)},this.digest=function(){return this.md.finalize().toString(h.enc.Hex)},this.digestString=function(t){return this.updateString(t),this.digest()},this.digestHex=function(t){return this.updateHex(t),this.digest()}}if(-1!=":sha256:".indexOf(t)&&"sjcl"==e){try{this.md=new sjcl.hash.sha256}catch(e){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+e}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){var e=sjcl.codec.hex.toBits(t);this.md.update(e)},this.digest=function(){var t=this.md.finalize();return sjcl.codec.hex.fromBits(t)},this.digestString=function(t){return this.updateString(t),this.digest()},this.digestHex=function(t){return this.updateHex(t),this.digest()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==t&&void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov&&(this.provName=u.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},u.crypto.MessageDigest.getCanonicalAlgName=function(t){return"string"==typeof t&&(t=(t=t.toLowerCase()).replace(/-/,"")),t},u.crypto.MessageDigest.getHashLength=function(t){var e=u.crypto.MessageDigest,i=e.getCanonicalAlgName(t);if(void 0===e.HASHLENGTH[i])throw"not supported algorithm: "+t;return e.HASHLENGTH[i]},u.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},u.crypto.Mac=function(t){this.setAlgAndProvider=function(t,e){if(null==(t=t.toLowerCase())&&(t="hmacsha1"),"hmac"!=(t=t.toLowerCase()).substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+t;void 0===e&&(e=u.crypto.Util.DEFAULTPROVIDER[t]),this.algProv=t+"/"+e;var i=t.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(i)&&"cryptojs"==e){try{var n=u.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[i];this.mac=h.algo.HMAC.create(n,this.pass)}catch(t){throw"setAlgAndProvider hash alg set fail hashAlg="+i+"/"+t}this.updateString=function(t){this.mac.update(t)},this.updateHex=function(t){var e=h.enc.Hex.parse(t);this.mac.update(e)},this.doFinal=function(){return this.mac.finalize().toString(h.enc.Hex)},this.doFinalString=function(t){return this.updateString(t),this.doFinal()},this.doFinalHex=function(t){return this.updateHex(t),this.doFinal()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algProv},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algProv},this.doFinal=function(){throw"digest() not supported for this alg/prov: "+this.algProv},this.doFinalString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algProv},this.doFinalHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algProv},this.setPassword=function(t){if("string"==typeof t){var e=t;return t.length%2!=1&&t.match(/^[0-9A-Fa-f]+$/)||(e=ot(t)),void(this.pass=h.enc.Hex.parse(e))}if("object"!=typeof t)throw"KJUR.crypto.Mac unsupported password type: "+t;e=null;if(void 0!==t.hex){if(t.hex.length%2!=0||!t.hex.match(/^[0-9A-Fa-f]+$/))throw"Mac: wrong hex password: "+t.hex;e=t.hex}if(void 0!==t.utf8&&(e=it(t.utf8)),void 0!==t.rstr&&(e=ot(t.rstr)),void 0!==t.b64&&(e=N(t.b64)),void 0!==t.b64u&&(e=et(t.b64u)),null==e)throw"KJUR.crypto.Mac unsupported password type: "+t;this.pass=h.enc.Hex.parse(e)},void 0!==t&&(void 0!==t.pass&&this.setPassword(t.pass),void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov&&(this.provName=u.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName)))},u.crypto.Signature=function(t){var e=null;if(this._setAlgNames=function(){var t=this.algName.match(/^(.+)with(.+)$/);t&&(this.mdAlgName=t[1].toLowerCase(),this.pubkeyAlgName=t[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(t,e){for(var i="",n=e/4-t.length,r=0;r<n;r++)i+="0";return i+t},this.setAlgAndProvider=function(t,e){if(this._setAlgNames(),"cryptojs/jsrsa"!=e)throw new Error("provider not supported: "+e);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new u.crypto.MessageDigest({alg:this.mdAlgName})}catch(t){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+t)}this.init=function(t,e){var i=null;try{i=void 0===e?Et.getKey(t):Et.getKey(t,e)}catch(t){throw"init failed:"+t}if(!0===i.isPrivate)this.prvKey=i,this.state="SIGN";else{if(!0!==i.isPublic)throw"init failed.:"+i;this.pubKey=i,this.state="VERIFY"}},this.updateString=function(t){this.md.updateString(t)},this.updateHex=function(t){this.md.updateHex(t)},this.sign=function(){if(this.sHashHex=this.md.digest(),void 0===this.prvKey&&void 0!==this.ecprvhex&&void 0!==this.eccurvename&&void 0!==u.crypto.ECDSA&&(this.prvKey=new u.crypto.ECDSA({curve:this.eccurvename,prv:this.ecprvhex})),this.prvKey instanceof X&&"rsaandmgf1"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen);else if(this.prvKey instanceof X&&"rsa"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName);else if(this.prvKey instanceof u.crypto.ECDSA)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex);else{if(!(this.prvKey instanceof u.crypto.DSA))throw"Signature: unsupported private key alg: "+this.pubkeyAlgName;this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}return this.hSign},this.signString=function(t){return this.updateString(t),this.sign()},this.signHex=function(t){return this.updateHex(t),this.sign()},this.verify=function(t){if(this.sHashHex=this.md.digest(),void 0===this.pubKey&&void 0!==this.ecpubhex&&void 0!==this.eccurvename&&void 0!==u.crypto.ECDSA&&(this.pubKey=new u.crypto.ECDSA({curve:this.eccurvename,pub:this.ecpubhex})),this.pubKey instanceof X&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,t,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof X&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);if(void 0!==u.crypto.ECDSA&&this.pubKey instanceof u.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);if(void 0!==u.crypto.DSA&&this.pubKey instanceof u.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(t,e){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(t){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(t){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(t){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(t){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=t,void 0!==t&&(void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov?this.provName=u.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=t.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==t.psssaltlen&&(this.pssSaltLen=t.psssaltlen),void 0!==t.prvkeypem)){if(void 0!==t.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{e=Et.getKey(t.prvkeypem);this.init(e)}catch(t){throw"fatal error to load pem private key: "+t}}},u.crypto.Cipher=function(t){},u.crypto.Cipher.encrypt=function(t,e,i){if(e instanceof X&&e.isPublic){var n=u.crypto.Cipher.getAlgByKeyAndName(e,i);if("RSA"===n)return e.encrypt(t);if("RSAOAEP"===n)return e.encryptOAEP(t,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return e.encryptOAEP(t,"sha"+r[1]);throw"Cipher.encrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.encrypt: unsupported key or algorithm"},u.crypto.Cipher.decrypt=function(t,e,i){if(e instanceof X&&e.isPrivate){var n=u.crypto.Cipher.getAlgByKeyAndName(e,i);if("RSA"===n)return e.decrypt(t);if("RSAOAEP"===n)return e.decryptOAEP(t,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return e.decryptOAEP(t,"sha"+r[1]);throw"Cipher.decrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.decrypt: unsupported key or algorithm"},u.crypto.Cipher.getAlgByKeyAndName=function(t,e){if(t instanceof X){if(-1!=":RSA:RSAOAEP:RSAOAEP224:RSAOAEP256:RSAOAEP384:RSAOAEP512:".indexOf(e))return e;if(null==e)return"RSA";throw"getAlgByKeyAndName: not supported algorithm name for RSAKey: "+e}throw"getAlgByKeyAndName: not supported algorithm name: "+e},u.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}};var ft,gt,vt,mt,yt,bt,wt,xt,Et=(ft=function(t,e,i){return gt(h.AES,t,e,i)},gt=function(t,e,i,n){var r=h.enc.Hex.parse(e),o=h.enc.Hex.parse(i),s=h.enc.Hex.parse(n),a={};a.key=o,a.iv=s,a.ciphertext=r;var u=t.decrypt(a,o,{iv:s});return h.enc.Hex.stringify(u)},vt=function(t,e,i){return mt(h.AES,t,e,i)},mt=function(t,e,i,n){var r=h.enc.Hex.parse(e),o=h.enc.Hex.parse(i),s=h.enc.Hex.parse(n),a=t.encrypt(r,o,{iv:s}),u=h.enc.Hex.parse(a.toString());return h.enc.Base64.stringify(u)},yt={"AES-256-CBC":{proc:ft,eproc:vt,keylen:32,ivlen:16},"AES-192-CBC":{proc:ft,eproc:vt,keylen:24,ivlen:16},"AES-128-CBC":{proc:ft,eproc:vt,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:function(t,e,i){return gt(h.TripleDES,t,e,i)},eproc:function(t,e,i){return mt(h.TripleDES,t,e,i)},keylen:24,ivlen:8},"DES-CBC":{proc:function(t,e,i){return gt(h.DES,t,e,i)},eproc:function(t,e,i){return mt(h.DES,t,e,i)},keylen:8,ivlen:8}},bt=function(t){var e={},i=t.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));i&&(e.cipher=i[1],e.ivsalt=i[2]);var n=t.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));n&&(e.type=n[1]);var r=-1,o=0;-1!=t.indexOf("\r\n\r\n")&&(r=t.indexOf("\r\n\r\n"),o=2),-1!=t.indexOf("\n\n")&&(r=t.indexOf("\n\n"),o=1);var s=t.indexOf("-----END");if(-1!=r&&-1!=s){var a=t.substring(r+2*o,s-o);a=a.replace(/\s+/g,""),e.data=a}return e},wt=function(t,e,i){for(var n=i.substring(0,16),r=h.enc.Hex.parse(n),o=h.enc.Utf8.parse(e),s=yt[t].keylen+yt[t].ivlen,a="",u=null;;){var l=h.algo.MD5.create();if(null!=u&&l.update(u),l.update(o),l.update(r),u=l.finalize(),(a+=h.enc.Hex.stringify(u)).length>=2*s)break}var c={};return c.keyhex=a.substr(0,2*yt[t].keylen),c.ivhex=a.substr(2*yt[t].keylen,2*yt[t].ivlen),c},xt=function(t,e,i,n){var r=h.enc.Base64.parse(t),o=h.enc.Hex.stringify(r);return(0,yt[e].proc)(o,i,n)},{version:"1.0.0",parsePKCS5PEM:function(t){return bt(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,i){return wt(t,e,i)},decryptKeyB64:function(t,e,i,n){return xt(t,e,i,n)},getDecryptedKeyHex:function(t,e){var i=bt(t),n=i.cipher,r=i.ivsalt,o=i.data,s=wt(n,e,r).keyhex;return xt(o,n,s,r)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,i,n,r){var o="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===yt[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==r&&null!=r||(r=function(t){var e=h.lib.WordArray.random(t);return h.enc.Hex.stringify(e)}(yt[n].ivlen).toUpperCase());var s=function(t,e,i,n){return(0,yt[e].eproc)(t,i,n)}(e,n,wt(n,i,r).keyhex,r);return o="-----BEGIN "+t+" PRIVATE KEY-----\r\n",o+="Proc-Type: 4,ENCRYPTED\r\n",o+="DEK-Info: "+n+","+r+"\r\n",o+="\r\n",o+=s.replace(/(.{64})/g,"$1\r\n"),o+="\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={},o=i(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;r.ciphertext=n(t,o[1]);var s=i(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=i(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=i(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";r.encryptionSchemeAlg="TripleDES",r.encryptionSchemeIV=n(t,u[1]);var l=i(t,a[0]);if(2!=l.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+l.length;if("2a864886f70d01050c"!=n(t,l[0]))throw"this only supports pkcs5PBKDF2";var h=i(t,l[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;r.pbkdf2Salt=n(t,h[0]);var c=n(t,h[1]);try{r.pbkdf2Iter=parseInt(c,16)}catch(t){throw"malformed format pbkdf2Iter: "+c}return r},getPBKDF2KeyHexFromParam:function(t,e){var i=h.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,r=h.PBKDF2(e,i,{keySize:6,iterations:n});return h.enc.Hex.stringify(r)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var i=ut(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(i),r=Et.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=h.enc.Hex.parse(n.ciphertext);var s=h.enc.Hex.parse(r),a=h.enc.Hex.parse(n.encryptionSchemeIV),u=h.TripleDES.decrypt(o,s,{iv:a});return h.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var i=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(i)},parsePlainPrivatePKCS8Hex:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={algparam:null};if("30"!=t.substr(0,2))throw new Error("malformed plain PKCS8 private key(code:001)");var o=i(t,0);if(o.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if("30"!=t.substr(o[1],2))throw new Error("malformed PKCS8 private key(code:003)");var s=i(t,o[1]);if(2!=s.length)throw new Error("malformed PKCS8 private key(code:004)");if("06"!=t.substr(s[0],2))throw new Error("malformed PKCS8 private key(code:005)");if(r.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(r.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw new Error("malformed PKCS8 private key(code:006)");return r.keyidx=e.getVidx(t,o[2]),r},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=ut(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,i=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==i.algoid)e=new X;else if("2a8648ce380401"==i.algoid)e=new u.crypto.DSA;else{if("2a8648ce3d0201"!=i.algoid)throw"unsupported private key algorithm";e=new u.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,i=It.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===i)e=new X;else if("2a8648ce380401"===i)e=new u.crypto.DSA;else{if("2a8648ce3d0201"!==i)throw"unsupported PKCS#8 public key hex";e=new u.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=i(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(r.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return r.e=n(t,o[1]),r},parsePublicPKCS8Hex:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={algparam:null},o=i(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=i(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(r.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?r.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(r.algparam={},r.algparam.p=e.getVbyList(t,a[1],[0],"02"),r.algparam.q=e.getVbyList(t,a[1],[1],"02"),r.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return r.key=n(t,o[1]).substr(2),r}});Et.getKey=function(t,e,i){var n=(m=It).getChildIdx;m.getV;var r=m.getVbyList,o=u.crypto,s=o.ECDSA,a=o.DSA,l=X,h=ut,d=Et;if(void 0!==l&&t instanceof l)return t;if(void 0!==s&&t instanceof s)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new s({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new s({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new l).setPublic(t.n,t.e),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(P=new l).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(P=new l).setPrivate(t.n,t.e,t.d),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(P=new a).setPublic(t.p,t.q,t.g,t.y),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(P=new a).setPrivate(t.p,t.q,t.g,t.y,t.x),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new l).setPublic(et(t.n),et(t.e)),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(P=new l).setPrivateEx(et(t.n),et(t.e),et(t.d),et(t.p),et(t.q),et(t.dp),et(t.dq),et(t.qi)),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(P=new l).setPrivate(et(t.n),et(t.e),et(t.d)),P;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var p=(M=new s({curve:t.crv})).ecparams.keylen/4,A="04"+("0000000000"+et(t.x)).slice(-p)+("0000000000"+et(t.y)).slice(-p);return M.setPublicKeyHex(A),M}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){p=(M=new s({curve:t.crv})).ecparams.keylen/4,A="04"+("0000000000"+et(t.x)).slice(-p)+("0000000000"+et(t.y)).slice(-p);var f=("0000000000"+et(t.d)).slice(-p);return M.setPublicKeyHex(A),M.setPrivateKeyHex(f),M}if("pkcs5prv"===i){var g,v=t,m=It;if(9===(g=n(v,0)).length)(P=new l).readPKCS5PrvKeyHex(v);else if(6===g.length)(P=new a).readPKCS5PrvKeyHex(v);else{if(!(g.length>2&&"04"===v.substr(g[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(P=new s).readPKCS5PrvKeyHex(v)}return P}if("pkcs8prv"===i)return P=d.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===i)return d._getKeyFromPublicPKCS8Hex(t);if("x509pub"===i)return Mt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Mt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var y=ut(t,"PUBLIC KEY");return d._getKeyFromPublicPKCS8Hex(y)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var b=h(t,"RSA PRIVATE KEY");return d.getKey(b,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var w=r(R=h(t,"DSA PRIVATE KEY"),0,[1],"02"),x=r(R,0,[2],"02"),E=r(R,0,[3],"02"),I=r(R,0,[4],"02"),C=r(R,0,[5],"02");return(P=new a).setPrivate(new c(w,16),new c(x,16),new c(E,16),new c(I,16),new c(C,16)),P}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){b=h(t,"EC PRIVATE KEY");return d.getKey(b,null,"pkcs5prv")}if(-1!=t.indexOf("-END PRIVATE KEY-"))return d.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var S=d.getDecryptedKeyHex(t,e),B=new X;return B.readPKCS5PrvKeyHex(S),B}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var M,P=r(R=d.getDecryptedKeyHex(t,e),0,[1],"04"),T=r(R,0,[2,0],"06"),Q=r(R,0,[3,0],"03").substr(2);if(void 0===u.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(M=new s({curve:u.crypto.OID.oidhex2name[T]})).setPublicKeyHex(Q),M.setPrivateKeyHex(P),M.isPublic=!1,M}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var R;w=r(R=d.getDecryptedKeyHex(t,e),0,[1],"02"),x=r(R,0,[2],"02"),E=r(R,0,[3],"02"),I=r(R,0,[4],"02"),C=r(R,0,[5],"02");return(P=new a).setPrivate(new c(w,16),new c(x,16),new c(E,16),new c(I,16),new c(C,16)),P}if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return d.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Et.generateKeypair=function(t,e){if("RSA"==t){var i=e;(s=new X).generate(i,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new X,r=s.n.toString(16),o=s.e.toString(16);return n.setPublic(r,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,l=e,h=new u.crypto.ECDSA({curve:l}).generateKeyPairHex();return(s=new u.crypto.ECDSA({curve:l})).setPublicKeyHex(h.ecpubhex),s.setPrivateKeyHex(h.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new u.crypto.ECDSA({curve:l})).setPublicKeyHex(h.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Et.getPEM=function(t,e,i,n,r,o){var s=u,a=s.asn1,l=a.DERObjectIdentifier,c=a.DERInteger,d=a.ASN1Util.newObject,p=a.x509.SubjectPublicKeyInfo,A=s.crypto,f=A.DSA,g=A.ECDSA,v=X;function m(t){return d({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function y(t){return d({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function b(t){return d({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==v&&t instanceof v||void 0!==f&&t instanceof f||void 0!==g&&t instanceof g)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return at(I=new p(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==v&&t instanceof v&&(void 0===i||null==i)&&1==t.isPrivate)return at(I=m(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===i||null==i)&&1==t.isPrivate){var w=new l({name:t.curveName}).getEncodedHex(),x=y(t).getEncodedHex(),E="";return E+=at(w,"EC PARAMETERS"),E+=at(x,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==f&&t instanceof f&&(void 0===i||null==i)&&1==t.isPrivate)return at(I=b(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==v&&t instanceof v&&void 0!==i&&null!=i&&1==t.isPrivate){var I=m(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",I,i,n,o)}if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==i&&null!=i&&1==t.isPrivate){I=y(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",I,i,n,o)}if("PKCS5PRV"==e&&void 0!==f&&t instanceof f&&void 0!==i&&null!=i&&1==t.isPrivate){I=b(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",I,i,n,o)}var C=function(t,e){var i=S(t,e);return new d({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:i.pbkdf2Salt}},{int:i.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:i.encryptionSchemeIV}}]}]}]},{octstr:{hex:i.ciphertext}}]}).getEncodedHex()},S=function(t,e){var i=h.lib.WordArray.random(8),n=h.lib.WordArray.random(8),r=h.PBKDF2(e,i,{keySize:6,iterations:100}),o=h.enc.Hex.parse(t),s=h.TripleDES.encrypt(o,r,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=h.enc.Hex.stringify(i),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=h.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=v&&t instanceof v&&1==t.isPrivate){var B=m(t).getEncodedHex();I=d({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:B}}]}).getEncodedHex();return void 0===i||null==i?at(I,"PRIVATE KEY"):at(x=C(I,i),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate){B=new d({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),I=d({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:B}}]}).getEncodedHex();return void 0===i||null==i?at(I,"PRIVATE KEY"):at(x=C(I,i),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==f&&t instanceof f&&1==t.isPrivate){B=new c({bigint:t.x}).getEncodedHex(),I=d({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:B}}]}).getEncodedHex();return void 0===i||null==i?at(I,"PRIVATE KEY"):at(x=C(I,i),"ENCRYPTED PRIVATE KEY")}throw new Error("unsupported object nor format")},Et.getKeyFromCSRPEM=function(t){var e=ut(t,"CERTIFICATE REQUEST");return Et.getKeyFromCSRHex(e)},Et.getKeyFromCSRHex=function(t){var e=Et.parseCSRHex(t);return Et.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Et.parseCSRHex=function(t){var e=It,i=e.getChildIdx,n=e.getTLV,r={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=i(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=i(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return r.p8pubkeyhex=n(o,a[2]),r},Et.getKeyID=function(t){var e=Et,i=It;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=ut(e.getPEM(t)),r=i.getIdxbyList(n,0,[1]),o=i.getV(n,r).substring(2);return u.crypto.Util.hashHex(o,"sha1")},Et.getJWKFromKey=function(t){var e={};if(t instanceof X&&t.isPrivate)return e.kty="RSA",e.n=tt(t.n.toString(16)),e.e=tt(t.e.toString(16)),e.d=tt(t.d.toString(16)),e.p=tt(t.p.toString(16)),e.q=tt(t.q.toString(16)),e.dp=tt(t.dmp1.toString(16)),e.dq=tt(t.dmq1.toString(16)),e.qi=tt(t.coeff.toString(16)),e;if(t instanceof X&&t.isPublic)return e.kty="RSA",e.n=tt(t.n.toString(16)),e.e=tt(t.e.toString(16)),e;if(t instanceof u.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var i=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=tt(i.x),e.y=tt(i.y),e.d=tt(t.prvKeyHex),e}if(t instanceof u.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;i=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=tt(i.x),e.y=tt(i.y),e}throw"not supported key object"},void 0!==u.asn1&&u.asn1||(u.asn1={}),u.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var i=e.substr(1).length;i%2==1?i+=1:e.match(/^[0-7]/)||(i+=2);for(var n="",r=0;r<i;r++)n+="f";e=new c(n,16).xor(t).add(c.ONE).toString(16).replace(/^-/,"")}return e},this.getPEMStringFromHex=function(t,e){return at(t,e)},this.newObject=function(t){var e=u.asn1,i=e.ASN1Object,n=e.DERBoolean,r=e.DERInteger,o=e.DERBitString,s=e.DEROctetString,a=e.DERNull,l=e.DERObjectIdentifier,h=e.DEREnumerated,c=e.DERUTF8String,d=e.DERNumericString,p=e.DERPrintableString,A=e.DERTeletexString,f=e.DERIA5String,g=e.DERUTCTime,v=e.DERGeneralizedTime,m=e.DERVisibleString,y=e.DERBMPString,b=e.DERSequence,w=e.DERSet,x=e.DERTaggedObject,E=e.ASN1Util.newObject;if(t instanceof e.ASN1Object)return t;var I=Object.keys(t);if(1!=I.length)throw new Error("key of param shall be only one.");var C=I[0];if(-1==":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+C+":"))throw new Error("undefined key: "+C);if("bool"==C)return new n(t[C]);if("int"==C)return new r(t[C]);if("bitstr"==C)return new o(t[C]);if("octstr"==C)return new s(t[C]);if("null"==C)return new a(t[C]);if("oid"==C)return new l(t[C]);if("enum"==C)return new h(t[C]);if("utf8str"==C)return new c(t[C]);if("numstr"==C)return new d(t[C]);if("prnstr"==C)return new p(t[C]);if("telstr"==C)return new A(t[C]);if("ia5str"==C)return new f(t[C]);if("utctime"==C)return new g(t[C]);if("gentime"==C)return new v(t[C]);if("visstr"==C)return new m(t[C]);if("bmpstr"==C)return new y(t[C]);if("asn1"==C)return new i(t[C]);if("seq"==C){for(var S=t[C],B=[],M=0;M<S.length;M++){var P=E(S[M]);B.push(P)}return new b({array:B})}if("set"==C){for(S=t[C],B=[],M=0;M<S.length;M++){P=E(S[M]);B.push(P)}return new w({array:B})}if("tag"==C){var T=t[C];if("[object Array]"===Object.prototype.toString.call(T)&&3==T.length){var Q=E(T[2]);return new x({tag:T[0],explicit:T[1],obj:Q})}return new x(T)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},u.asn1.ASN1Util.oidHexToInt=function(t){for(var e="",i=parseInt(t.substr(0,2),16),n=(e=Math.floor(i/40)+"."+i%40,""),r=2;r<t.length;r+=2){var o=("00000000"+parseInt(t.substr(r,2),16).toString(2)).slice(-8);if(n+=o.substr(1,7),"0"==o.substr(0,1))e=e+"."+new c(n,2).toString(10),n=""}return e},u.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},i=function(t){var i="",n=new c(t,10).toString(2),r=7-n.length%7;7==r&&(r=0);for(var o="",s=0;s<r;s++)o+="0";n=o+n;for(s=0;s<n.length-1;s+=7){var a=n.substr(s,7);s!=n.length-7&&(a="1"+a),i+=e(parseInt(a,2))}return i};if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var n="",r=t.split("."),o=40*parseInt(r[0])+parseInt(r[1]);n+=e(o),r.splice(0,2);for(var s=0;s<r.length;s++)n+=i(r[s]);return n},u.asn1.ASN1Object=function(t){this.params=null,this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+"".length+",v="+this.hV);var t=this.hV.length/2,e=t.toString(16);if(e.length%2==1&&(e="0"+e),t<128)return e;var i=e.length/2;if(i>15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+i).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},u.asn1.DERAbstractString=function(t){u.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=it(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},l.lang.extend(u.asn1.DERAbstractString,u.asn1.ASN1Object),u.asn1.DERAbstractTime=function(t){u.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,i){var n=this.zeroPadding,r=this.localDateToUTC(t),o=String(r.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(r.getMonth()+1),2)+n(String(r.getDate()),2)+n(String(r.getHours()),2)+n(String(r.getMinutes()),2)+n(String(r.getSeconds()),2);if(!0===i){var a=r.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=J(t)},this.setByDateValue=function(t,e,i,n,r,o){var s=new Date(Date.UTC(t,e-1,i,n,r,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},l.lang.extend(u.asn1.DERAbstractTime,u.asn1.ASN1Object),u.asn1.DERAbstractStructured=function(t){u.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},l.lang.extend(u.asn1.DERAbstractStructured,u.asn1.ASN1Object),u.asn1.DERBoolean=function(t){u.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},l.lang.extend(u.asn1.DERBoolean,u.asn1.ASN1Object),u.asn1.DERInteger=function(t){u.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=u.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new c(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},l.lang.extend(u.asn1.DERInteger,u.asn1.ASN1Object),u.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=u.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}u.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw"unused bits shall be from 0 to 7: u = "+t;var i="0"+t;this.hTLV=null,this.isModified=!0,this.hV=i+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,"")).length%8;8==e&&(e=0);for(var i=0;i<=e;i++)t+="0";var n="";for(i=0;i<t.length-1;i+=8){var r=t.substr(i,8),o=parseInt(r,2).toString(16);1==o.length&&(o="0"+o),n+=o}this.hTLV=null,this.isModified=!0,this.hV="0"+e+n},this.setByBooleanArray=function(t){for(var e="",i=0;i<t.length;i++)1==t[i]?e+="1":e+="0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),i=0;i<t;i++)e[i]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},l.lang.extend(u.asn1.DERBitString,u.asn1.ASN1Object),u.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=u.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}u.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},l.lang.extend(u.asn1.DEROctetString,u.asn1.DERAbstractString),u.asn1.DERNull=function(){u.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},l.lang.extend(u.asn1.DERNull,u.asn1.ASN1Object),u.asn1.DERObjectIdentifier=function(t){u.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){var e=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},i=function(t){var i="",n=parseInt(t,10).toString(2),r=7-n.length%7;7==r&&(r=0);for(var o="",s=0;s<r;s++)o+="0";for(n=o+n,s=0;s<n.length-1;s+=7){var a=n.substr(s,7);s!=n.length-7&&(a="1"+a),i+=e(parseInt(a,2))}return i};try{if(!t.match(/^[0-9.]+$/))return null;var n="",r=t.split("."),o=40*parseInt(r[0],10)+parseInt(r[1],10);n+=e(o),r.splice(0,2);for(var s=0;s<r.length;s++)n+=i(r[s]);return n}catch(t){return null}}(t);if(null==e)throw new Error("malformed oid string: "+t);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueName=function(t){var e=u.asn1.x509.OID.name2oid(t);if(""===e)throw new Error("DERObjectIdentifier oidName undefined: "+t);this.setValueOidString(e)},this.setValueNameOrOid=function(t){t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(t){"string"==typeof t?this.setValueNameOrOid(t):void 0!==t.oid?this.setValueNameOrOid(t.oid):void 0!==t.name?this.setValueNameOrOid(t.name):void 0!==t.hex&&this.setValueHex(t.hex)},void 0!==t&&this.setByParam(t)},l.lang.extend(u.asn1.DERObjectIdentifier,u.asn1.ASN1Object),u.asn1.DEREnumerated=function(t){u.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=u.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new c(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},l.lang.extend(u.asn1.DEREnumerated,u.asn1.ASN1Object),u.asn1.DERUTF8String=function(t){u.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},l.lang.extend(u.asn1.DERUTF8String,u.asn1.DERAbstractString),u.asn1.DERNumericString=function(t){u.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},l.lang.extend(u.asn1.DERNumericString,u.asn1.DERAbstractString),u.asn1.DERPrintableString=function(t){u.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},l.lang.extend(u.asn1.DERPrintableString,u.asn1.DERAbstractString),u.asn1.DERTeletexString=function(t){u.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},l.lang.extend(u.asn1.DERTeletexString,u.asn1.DERAbstractString),u.asn1.DERIA5String=function(t){u.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},l.lang.extend(u.asn1.DERIA5String,u.asn1.DERAbstractString),u.asn1.DERVisibleString=function(t){u.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="1a"},l.lang.extend(u.asn1.DERVisibleString,u.asn1.DERAbstractString),u.asn1.DERBMPString=function(t){u.asn1.DERBMPString.superclass.constructor.call(this,t),this.hT="1e"},l.lang.extend(u.asn1.DERBMPString,u.asn1.DERAbstractString),u.asn1.DERUTCTime=function(t){u.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=J(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=J(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},l.lang.extend(u.asn1.DERUTCTime,u.asn1.DERAbstractTime),u.asn1.DERGeneralizedTime=function(t){u.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=J(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=J(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},l.lang.extend(u.asn1.DERGeneralizedTime,u.asn1.DERAbstractTime),u.asn1.DERSequence=function(t){u.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++){t+=this.asn1Array[e].getEncodedHex()}return this.hV=t,this.hV}},l.lang.extend(u.asn1.DERSequence,u.asn1.DERAbstractStructured),u.asn1.DERSet=function(t){u.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t.push(i.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(""),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},l.lang.extend(u.asn1.DERSet,u.asn1.DERAbstractStructured),u.asn1.DERTaggedObject=function(t){u.asn1.DERTaggedObject.superclass.constructor.call(this);var e=u.asn1;this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,i){this.hT=e,this.isExplicit=t,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(t){null!=t.tag&&(this.hT=t.tag),null!=t.explicit&&(this.isExplicit=t.explicit),null!=t.tage&&(this.hT=t.tage,this.isExplicit=!0),null!=t.tagi&&(this.hT=t.tagi,this.isExplicit=!1),null!=t.obj&&(t.obj instanceof e.ASN1Object?(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)):"object"==typeof t.obj&&(this.asn1Object=e.ASN1Util.newObject(t.obj),this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},null!=t&&this.setByParam(t)},l.lang.extend(u.asn1.DERTaggedObject,u.asn1.ASN1Object);var It=new function(){};function Ct(t,e){for(var i="",n=e/4-t.length,r=0;r<n;r++)i+="0";return i+t}function St(t,e,i){for(var n="",r=0;n.length<e;)n+=rt(i(ot(t+String.fromCharCode.apply(String,[(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r])))),r+=1;return n}function Bt(t){for(var e in u.crypto.Util.DIGESTINFOHEAD){var i=u.crypto.Util.DIGESTINFOHEAD[e],n=i.length;if(t.substring(0,n)==i)return[e,t.substring(n)]}return[]}function Mt(t){var e,i=It,n=i.getChildIdx,r=i.getV,o=i.getTLV,s=i.getVbyList,a=i.getVbyListEx,l=i.getTLVbyList,h=i.getTLVbyListEx,c=i.getIdxbyList,d=i.getIdxbyListEx,p=i.getVidx,A=i.getInt,f=i.oidname,g=i.hextooidstr,v=ut;try{e=u.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(null===this.hex||0!==this.version)return this.version;var t=l(this.hex,0,[0,0]);if("a0"==t.substr(0,2)){var e=l(t,0,[0]),i=A(e,0);if(i<0||2<i)throw new Error("malformed version field");return this.version=i+1,this.version}return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=h(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var i in e)if(t===e[i])return i;return f(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return l(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return this.getIssuer().str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return l(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return this.getSubject().str},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getPublicKeyHex=function(){return i.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return c(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return c(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Et.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=l(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),i=this.getSignatureValueHex(),n=l(this.hex,0,[0],"30"),r=new u.crypto.Signature({alg:e});return r.init(t),r.updateHex(n),r.verify(i)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=c(a,0,[0,7,0],"30"),o=n(a,e)}else{a=ut(t);var u=c(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=r(a,u))return void(this.aExtInfo=new Array);e=c(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var l=0;l<o.length;l++){var h={critical:!1},d=0;3===n(a,o[l]).length&&(h.critical=!0,d=1),h.oid=i.hextooidstr(s(a,o[l],[0],"06"));var A=c(a,o[l],[1+d]);h.vidx=p(a,A),this.aExtInfo.push(h)}},this.getExtInfo=function(t){var e=this.aExtInfo,i=t;if(t.match(/^[0-9.]+$/)||(i=u.asn1.x509.OID.name2oid(t)),""!==i)for(var n=0;n<e.length;n++)if(e[n].oid===i)return e[n]},this.getExtBasicConstraints=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("basicConstraints");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"basicConstraints"};if(e&&(n.critical=!0),"3000"===t)return n;if("30030101ff"===t)return n.cA=!0,n;if("30060101ff02"===t.substr(0,12)){var s=r(t,10),a=parseInt(s,16);return n.cA=!0,n.pathLen=a,n}throw new Error("hExtV parse error: "+t)},this.getExtKeyUsage=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("keyUsage");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"keyUsage"};return e&&(n.critical=!0),n.names=this.getExtKeyUsageString(t).split(","),n},this.getExtKeyUsageBin=function(t){if(void 0===t){var e=this.getExtInfo("keyUsage");if(void 0===e)return"";t=o(this.hex,e.vidx)}if(8!=t.length&&10!=t.length)throw new Error("malformed key usage value: "+t);var i="000000000000000"+parseInt(t.substr(6),16).toString(2);return 8==t.length&&(i=i.slice(-8)),10==t.length&&(i=i.slice(-16)),""==(i=i.replace(/0+$/,""))&&(i="0"),i},this.getExtKeyUsageString=function(t){for(var e=this.getExtKeyUsageBin(t),i=new Array,n=0;n<e.length;n++)"1"==e.substr(n,1)&&i.push(Mt.KEYUSAGE_NAME[n]);return i.join(",")},this.getExtSubjectKeyIdentifier=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("subjectKeyIdentifier");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"subjectKeyIdentifier"};e&&(n.critical=!0);var s=r(t,0);return n.kid={hex:s},n},this.getExtAuthorityKeyIdentifier=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("authorityKeyIdentifier");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var s={extname:"authorityKeyIdentifier"};e&&(s.critical=!0);for(var a=n(t,0),u=0;u<a.length;u++){var l=t.substr(a[u],2);if("80"===l&&(s.kid={hex:r(t,a[u])}),"a1"===l){var h=o(t,a[u]),c=this.getGeneralNames(h);s.issuer=c[0].dn}"82"===l&&(s.sn={hex:r(t,a[u])})}return s},this.getExtExtKeyUsage=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("extKeyUsage");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var s={extname:"extKeyUsage",array:[]};e&&(s.critical=!0);for(var a=n(t,0),u=0;u<a.length;u++)s.array.push(f(r(t,a[u])));return s},this.getExtExtKeyUsageName=function(){var t=this.getExtInfo("extKeyUsage");if(void 0===t)return t;var e=new Array,i=o(this.hex,t.vidx);if(""===i)return e;for(var s=n(i,0),a=0;a<s.length;a++)e.push(f(r(i,s[a])));return e},this.getExtSubjectAltName=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("subjectAltName");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"subjectAltName",array:[]};return e&&(n.critical=!0),n.array=this.getGeneralNames(t),n},this.getExtIssuerAltName=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("issuerAltName");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"issuerAltName",array:[]};return e&&(n.critical=!0),n.array=this.getGeneralNames(t),n},this.getGeneralNames=function(t){for(var e=n(t,0),i=[],r=0;r<e.length;r++){var s=this.getGeneralName(o(t,e[r]));void 0!==s&&i.push(s)}return i},this.getGeneralName=function(t){var e=t.substr(0,2),i=r(t,0),n=rt(i);return"81"==e?{rfc822:n}:"82"==e?{dns:n}:"86"==e?{uri:n}:"87"==e?{ip:lt(i)}:"a4"==e?{dn:this.getX500Name(i)}:void 0},this.getExtSubjectAltName2=function(){var t,e,i,s=this.getExtInfo("subjectAltName");if(void 0===s)return s;for(var a=new Array,u=o(this.hex,s.vidx),l=n(u,0),h=0;h<l.length;h++)i=u.substr(l[h],2),t=r(u,l[h]),"81"===i&&(e=nt(t),a.push(["MAIL",e])),"82"===i&&(e=nt(t),a.push(["DNS",e])),"84"===i&&(e=Mt.hex2dn(t,0),a.push(["DN",e])),"86"===i&&(e=nt(t),a.push(["URI",e])),"87"===i&&(e=lt(t),a.push(["IP",e]));return a},this.getExtCRLDistributionPoints=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("cRLDistributionPoints");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"cRLDistributionPoints",array:[]};e&&(r.critical=!0);for(var s=n(t,0),a=0;a<s.length;a++){var u=o(t,s[a]);r.array.push(this.getDistributionPoint(u))}return r},this.getDistributionPoint=function(t){for(var e={},i=n(t,0),r=0;r<i.length;r++){var s=t.substr(i[r],2),a=o(t,i[r]);"a0"==s&&(e.dpname=this.getDistributionPointName(a))}return e},this.getDistributionPointName=function(t){for(var e={},i=n(t,0),r=0;r<i.length;r++){var s=t.substr(i[r],2),a=o(t,i[r]);"a0"==s&&(e.full=this.getGeneralNames(a))}return e},this.getExtCRLDistributionPointsURI=function(){var t=this.getExtInfo("cRLDistributionPoints");if(void 0===t)return t;for(var e=new Array,i=n(this.hex,t.vidx),r=0;r<i.length;r++)try{var o=nt(s(this.hex,i[r],[0,0,0],"86"));e.push(o)}catch(t){}return e},this.getExtAIAInfo=function(){var t=this.getExtInfo("authorityInfoAccess");if(void 0===t)return t;for(var e={ocsp:[],caissuer:[]},i=n(this.hex,t.vidx),r=0;r<i.length;r++){var o=s(this.hex,i[r],[0],"06"),a=s(this.hex,i[r],[1],"86");"2b06010505073001"===o&&e.ocsp.push(nt(a)),"2b06010505073002"===o&&e.caissuer.push(nt(a))}return e},this.getExtAuthorityInfoAccess=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("authorityInfoAccess");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"authorityInfoAccess",array:[]};e&&(r.critical=!0);for(var u=n(t,0),l=0;l<u.length;l++){var h=a(t,u[l],[0],"06"),c=nt(s(t,u[l],[1],"86"));if("2b06010505073001"==h)r.array.push({ocsp:c});else{if("2b06010505073002"!=h)throw new Error("unknown method: "+h);r.array.push({caissuer:c})}}return r},this.getExtCertificatePolicies=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("certificatePolicies");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"certificatePolicies",array:[]};e&&(r.critical=!0);for(var s=n(t,0),a=0;a<s.length;a++){var u=o(t,s[a]),l=this.getPolicyInformation(u);r.array.push(l)}return r},this.getPolicyInformation=function(t){var e={},i=s(t,0,[0],"06");e.policyoid=f(i);var r=d(t,0,[1],"30");if(-1!=r){e.array=[];for(var a=n(t,r),u=0;u<a.length;u++){var l=o(t,a[u]),h=this.getPolicyQualifierInfo(l);e.array.push(h)}}return e},this.getPolicyQualifierInfo=function(t){var e={},i=s(t,0,[0],"06");if("2b06010505070201"===i){var n=a(t,0,[1],"16");e.cps=rt(n)}else if("2b06010505070202"===i){var r=l(t,0,[1],"30");e.unotice=this.getUserNotice(r)}return e},this.getUserNotice=function(t){for(var e={},i=n(t,0),r=0;r<i.length;r++){var s=o(t,i[r]);"30"!=s.substr(0,2)&&(e.exptext=this.getDisplayText(s))}return e},this.getDisplayText=function(t){var e={};return e.type={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"}[t.substr(0,2)],e.str=rt(r(t,0)),e},this.getExtCRLNumber=function(t,e){var i={extname:"cRLNumber"};if(e&&(i.critical=!0),"02"==t.substr(0,2))return i.num={hex:r(t,0)},i;throw new Error("hExtV parse error: "+t)},this.getExtCRLReason=function(t,e){var i={extname:"cRLReason"};if(e&&(i.critical=!0),"0a"==t.substr(0,2))return i.code=parseInt(r(t,0),16),i;throw new Error("hExtV parse error: "+t)},this.getExtOcspNonce=function(t,e){var i={extname:"ocspNonce"};e&&(i.critical=!0);var n=r(t,0);return i.hex=n,i},this.getExtOcspNoCheck=function(t,e){var i={extname:"ocspNoCheck"};return e&&(i.critical=!0),i},this.getExtAdobeTimeStamp=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("adobeTimeStamp");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"adobeTimeStamp"};e&&(r.critical=!0);var s=n(t,0);if(s.length>1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(r.uri=u.uri)}if(s.length>2){var l=o(t,s[2]);"0101ff"==l&&(r.reqauth=!0),"010100"==l&&(r.reqauth=!1)}return r},this.getX500NameRule=function(t){for(var e=null,i=[],n=0;n<t.length;n++)for(var r=t[n],o=0;o<r.length;o++)i.push(r[o]);for(n=0;n<i.length;n++){var s=i[n],a=s.ds,l=s.value,h=s.type;if("prn"!=a&&"utf8"!=a&&"ia5"!=a)return"mixed";if("ia5"==a){if("CN"!=h)return"mixed";if(u.lang.String.isMail(l))continue;return"mixed"}if("C"==h){if("prn"==a)continue;return"mixed"}if(null==e)e=a;else if(e!==a)return"mixed"}return null==e?"prn":e},this.getX500Name=function(t){var e=this.getX500NameArray(t);return{array:e,str:this.dnarraytostr(e)}},this.getX500NameArray=function(t){for(var e=[],i=n(t,0),r=0;r<i.length;r++)e.push(this.getRDN(o(t,i[r])));return e},this.getRDN=function(t){for(var e=[],i=n(t,0),r=0;r<i.length;r++)e.push(this.getAttrTypeAndValue(o(t,i[r])));return e},this.getAttrTypeAndValue=function(t){var e={type:null,value:null,ds:null},i=n(t,0),r=s(t,i[0],[],"06"),o=s(t,i[1],[]),a=u.asn1.ASN1Util.oidHexToInt(r);return e.type=u.asn1.x509.OID.oid2atype(a),e.ds=this.HEX2STAG[t.substr(i[1],2)],"bmp"!=e.ds?e.value=nt(o):e.value=ht(o),e},this.readCertPEM=function(t){this.readCertHex(v(t))},this.readCertHex=function(t){this.hex=t,this.getVersion();try{c(this.hex,0,[0,7],"a3"),this.parseExt()}catch(t){}},this.getParam=function(){var t={};return t.version=this.getVersion(),t.serial={hex:this.getSerialNumberHex()},t.sigalg=this.getSignatureAlgorithmField(),t.issuer=this.getIssuer(),t.notbefore=this.getNotBefore(),t.notafter=this.getNotAfter(),t.subject=this.getSubject(),t.sbjpubkey=at(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&(-1!=d(this.hex,0,[0,"[3]"])&&(t=h(this.hex,0,[0,"[3]",0],"30")));for(var e=[],i=n(t,0),r=0;r<i.length;r++){var s=o(t,i[r]),a=this.getExtParam(s);null!=a&&e.push(a)}return e},this.getExtParam=function(t){var e=n(t,0).length;if(2!=e&&3!=e)throw new Error("wrong number elements in Extension: "+e+" "+t);var i=g(s(t,0,[0],"06")),r=!1;3==e&&"0101ff"==l(t,0,[1])&&(r=!0);var o=l(t,0,[e-1,0]),a=void 0;if("2.5.29.14"==i?a=this.getExtSubjectKeyIdentifier(o,r):"2.5.29.15"==i?a=this.getExtKeyUsage(o,r):"2.5.29.17"==i?a=this.getExtSubjectAltName(o,r):"2.5.29.18"==i?a=this.getExtIssuerAltName(o,r):"2.5.29.19"==i?a=this.getExtBasicConstraints(o,r):"2.5.29.31"==i?a=this.getExtCRLDistributionPoints(o,r):"2.5.29.32"==i?a=this.getExtCertificatePolicies(o,r):"2.5.29.35"==i?a=this.getExtAuthorityKeyIdentifier(o,r):"2.5.29.37"==i?a=this.getExtExtKeyUsage(o,r):"1.3.6.1.5.5.7.1.1"==i?a=this.getExtAuthorityInfoAccess(o,r):"2.5.29.20"==i?a=this.getExtCRLNumber(o,r):"2.5.29.21"==i?a=this.getExtCRLReason(o,r):"1.3.6.1.5.5.7.48.1.2"==i?a=this.getExtOcspNonce(o,r):"1.3.6.1.5.5.7.48.1.5"==i?a=this.getExtOcspNoCheck(o,r):"1.2.840.113583.1.1.9.1"==i&&(a=this.getExtAdobeTimeStamp(o,r)),null!=a)return a;var u={extname:i,extn:o};return r&&(u.critical=!0),u},this.findExt=function(t,e){for(var i=0;i<t.length;i++)if(t[i].extname==e)return t[i];return null},this.updateExtCDPFullURI=function(t,e){var i=this.findExt(t,"cRLDistributionPoints");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)if(null!=n[r].dpname&&null!=n[r].dpname.full)for(var o=n[r].dpname.full,s=0;s<o.length;s++){var a=o[r];null!=a.uri&&(a.uri=e)}},this.updateExtAIAOCSP=function(t,e){var i=this.findExt(t,"authorityInfoAccess");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)null!=n[r].ocsp&&(n[r].ocsp=e)},this.updateExtAIACAIssuer=function(t,e){var i=this.findExt(t,"authorityInfoAccess");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)null!=n[r].caissuer&&(n[r].caissuer=e)},this.dnarraytostr=function(t){return"/"+t.map((function(t){return function(t){return t.map((function(t){return function(t){return t.type+"="+t.value}(t).replace(/\+/,"\\+")})).join("+")}(t).replace(/\//,"\\/")})).join("/")},this.getInfo=function(){var t,e,i,n,r=function(t){for(var e="",i=t.array,n=0;n<i.length;n++){var r=i[n];if(e+=" policy oid: "+r.policyoid+"\n",void 0!==r.array)for(var o=0;o<r.array.length;o++){var s=r.array[o];void 0!==s.cps&&(e+=" cps: "+s.cps+"\n")}}return e},o=function(t){for(var e="",i=t.array,n=0;n<i.length;n++){var r=i[n];try{void 0!==r.dpname.full[0].uri&&(e+=" "+r.dpname.full[0].uri+"\n")}catch(t){}try{void 0!==r.dname.full[0].dn.hex&&(e+=" "+Mt.hex2dn(r.dpname.full[0].dn.hex)+"\n")}catch(t){}}return e},s=function(t){for(var e="",i=t.array,n=0;n<i.length;n++){var r=i[n];void 0!==r.caissuer&&(e+=" caissuer: "+r.caissuer+"\n"),void 0!==r.ocsp&&(e+=" ocsp: "+r.ocsp+"\n")}return e};if(t="Basic Fields\n",t+=" serial number: "+this.getSerialNumberHex()+"\n",t+=" signature algorithm: "+this.getSignatureAlgorithmField()+"\n",t+=" issuer: "+this.getIssuerString()+"\n",t+=" notBefore: "+this.getNotBefore()+"\n",t+=" notAfter: "+this.getNotAfter()+"\n",t+=" subject: "+this.getSubjectString()+"\n",t+=" subject public key info: \n",t+=" key algorithm: "+(e=this.getPublicKey()).type+"\n","RSA"===e.type&&(t+=" n="+dt(e.n.toString(16)).substr(0,16)+"...\n",t+=" e="+dt(e.e.toString(16))+"\n"),null!=(i=this.aExtInfo)){t+="X509v3 Extensions:\n";for(var a=0;a<i.length;a++){var l=i[a],h=u.asn1.x509.OID.oid2name(l.oid);""===h&&(h=l.oid);var c="";if(!0===l.critical&&(c="CRITICAL"),t+=" "+h+" "+c+":\n","basicConstraints"===h){var d=this.getExtBasicConstraints();void 0===d.cA?t+=" {}\n":(t+=" cA=true",void 0!==d.pathLen&&(t+=", pathLen="+d.pathLen),t+="\n")}else if("keyUsage"===h)t+=" "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===h)t+=" "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===h){var p=this.getExtAuthorityKeyIdentifier();void 0!==p.kid&&(t+=" kid="+p.kid.hex+"\n")}else{if("extKeyUsage"===h)t+=" "+this.getExtExtKeyUsage().array.join(", ")+"\n";else if("subjectAltName"===h)t+=" "+(n=this.getExtSubjectAltName(),JSON.stringify(n.array).replace(/[\[\]\{\}\"]/g,""))+"\n";else if("cRLDistributionPoints"===h)t+=o(this.getExtCRLDistributionPoints());else if("authorityInfoAccess"===h)t+=s(this.getExtAuthorityInfoAccess());else"certificatePolicies"===h&&(t+=r(this.getExtCertificatePolicies()))}}}return t+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n",t+="signature: "+this.getSignatureValueHex().substr(0,16)+"...\n"},"string"==typeof t&&(-1!=t.indexOf("-----BEGIN")?this.readCertPEM(t):u.lang.String.isHex(t)&&this.readCertHex(t))}function Pt(t){return h.SHA256(t).toString()}It.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var i=parseInt(t.substr(e+3,1));return 0==i?-1:0<i&&i<10?i+1:-2},It.getL=function(t,e){var i=It.getLblen(t,e);return i<1?"":t.substr(e+2,2*i)},It.getVblen=function(t,e){var i;return""==(i=It.getL(t,e))?-1:("8"===i.substr(0,1)?new c(i.substr(2),16):new c(i,16)).intValue()},It.getVidx=function(t,e){var i=It.getLblen(t,e);return i<0?i:e+2*(i+1)},It.getV=function(t,e){var i=It.getVidx(t,e),n=It.getVblen(t,e);return t.substr(i,2*n)},It.getTLV=function(t,e){return t.substr(e,2)+It.getL(t,e)+It.getV(t,e)},It.getTLVblen=function(t,e){return 2+2*It.getLblen(t,e)+2*It.getVblen(t,e)},It.getNextSiblingIdx=function(t,e){return It.getVidx(t,e)+2*It.getVblen(t,e)},It.getChildIdx=function(t,e){var i,n,r,o=It,s=[];i=o.getVidx(t,e),n=2*o.getVblen(t,e),"03"==t.substr(e,2)&&(i+=2,n-=2),r=0;for(var a=i;r<=n;){var u=o.getTLVblen(t,a);if((r+=u)<=n&&s.push(a),a+=u,r>=n)break}return s},It.getNthChildIdx=function(t,e,i){return It.getChildIdx(t,e)[i]},It.getIdxbyList=function(t,e,i,n){var r,o,s=It;return 0==i.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(r=i.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[r],i,n)},It.getIdxbyListEx=function(t,e,i,n){var r,o,s=It;if(0==i.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;r=i.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u<o.length;u++){var l=t.substr(o[u],2);if("number"==typeof r&&!s.isContextTag(l)&&a==r||"string"==typeof r&&s.isContextTag(l,r))return s.getIdxbyListEx(t,o[u],i,n);s.isContextTag(l)||a++}return-1},It.getTLVbyList=function(t,e,i,n){var r=It,o=r.getIdxbyList(t,e,i,n);return-1==o||o>=t.length?null:r.getTLV(t,o)},It.getTLVbyListEx=function(t,e,i,n){var r=It,o=r.getIdxbyListEx(t,e,i,n);return-1==o?null:r.getTLV(t,o)},It.getVbyList=function(t,e,i,n,r){var o,s,a=It;return-1==(o=a.getIdxbyList(t,e,i,n))||o>=t.length?null:(s=a.getV(t,o),!0===r&&(s=s.substr(2)),s)},It.getVbyListEx=function(t,e,i,n,r){var o,s,a=It;return-1==(o=a.getIdxbyListEx(t,e,i,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==r&&(s=s.substr(2)),s)},It.getInt=function(t,e,i){null==i&&(i=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return i;var r=It.getV(t,e);return"02"==n?parseInt(r,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var i=parseInt(e,16),n=t.substr(2),r=parseInt(n,16).toString(2);return"0"==r&&(r="00000000"),r=r.slice(0,0-i),parseInt(r,2)}catch(t){return-1}}(r)}catch(t){return i}},It.getOID=function(t,e,i){null==i&&(i=null);try{return"06"!=t.substr(e,2)?i:function(t){if(!ct(t))return null;try{var e=[],i=t.substr(0,2),n=parseInt(i,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var r=t.substr(2),o=[],s=0;s<r.length/2;s++)o.push(parseInt(r.substr(2*s,2),16));var a=[],u="";for(s=0;s<o.length;s++)128&o[s]?u+=pt((127&o[s]).toString(2),7):(u+=pt((127&o[s]).toString(2),7),a.push(new String(parseInt(u,2))),u="");var l=e.join(".");return a.length>0&&(l=l+"."+a.join(".")),l}catch(t){return null}}(It.getV(t,e))}catch(t){return i}},It.getOIDName=function(t,e,i){null==i&&(i=null);try{var n=It.getOID(t,e,i);if(n==i)return i;var r=u.asn1.x509.OID.oid2name(n);return""==r?n:r}catch(t){return i}},It.getString=function(t,e,i){null==i&&(i=null);try{return rt(It.getV(t,e))}catch(t){return i}},It.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},i=[],n=t.substr(0,2),r=parseInt(n,16);i[0]=new String(Math.floor(r/40)),i[1]=new String(r%40);for(var o=t.substr(2),s=[],a=0;a<o.length/2;a++)s.push(parseInt(o.substr(2*a,2),16));var u=[],l="";for(a=0;a<s.length;a++)128&s[a]?l+=e((127&s[a]).toString(2),7):(l+=e((127&s[a]).toString(2),7),u.push(new String(parseInt(l,2))),l="");var h=i.join(".");return u.length>0&&(h=h+"."+u.join(".")),h},It.dump=function(t,e,i,n){var r=It,o=r.getV,s=r.dump,a=r.getChildIdx,l=t;t instanceof u.asn1.ASN1Object&&(l=t.getEncodedHex());var h=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===i&&(i=0),void 0===n&&(n="");var c,d=e.ommit_long_octet;if("01"==(c=l.substr(i,2)))return"00"==(p=o(l,i))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==c)return n+"INTEGER "+h(p=o(l,i),d)+"\n";if("03"==c){var p=o(l,i);if(r.isASN1HEX(p.substr(2))){var A=n+"BITSTRING, encapsulates\n";return A+=s(p.substr(2),e,0,n+" ")}return n+"BITSTRING "+h(p,d)+"\n"}if("04"==c){p=o(l,i);if(r.isASN1HEX(p)){A=n+"OCTETSTRING, encapsulates\n";return A+=s(p,e,0,n+" ")}return n+"OCTETSTRING "+h(p,d)+"\n"}if("05"==c)return n+"NULL\n";if("06"==c){var f=o(l,i),g=u.asn1.ASN1Util.oidHexToInt(f),v=u.asn1.x509.OID.oid2name(g),m=g.replace(/\./g," ");return""!=v?n+"ObjectIdentifier "+v+" ("+m+")\n":n+"ObjectIdentifier ("+m+")\n"}if("0a"==c)return n+"ENUMERATED "+parseInt(o(l,i))+"\n";if("0c"==c)return n+"UTF8String '"+nt(o(l,i))+"'\n";if("13"==c)return n+"PrintableString '"+nt(o(l,i))+"'\n";if("14"==c)return n+"TeletexString '"+nt(o(l,i))+"'\n";if("16"==c)return n+"IA5String '"+nt(o(l,i))+"'\n";if("17"==c)return n+"UTCTime "+nt(o(l,i))+"\n";if("18"==c)return n+"GeneralizedTime "+nt(o(l,i))+"\n";if("1a"==c)return n+"VisualString '"+nt(o(l,i))+"'\n";if("1e"==c)return n+"BMPString '"+ht(o(l,i))+"'\n";if("30"==c){if("3000"==l.substr(i,4))return n+"SEQUENCE {}\n";A=n+"SEQUENCE\n";var y=e;if((2==(x=a(l,i)).length||3==x.length)&&"06"==l.substr(x[0],2)&&"04"==l.substr(x[x.length-1],2)){v=r.oidname(o(l,x[0]));var b=JSON.parse(JSON.stringify(e));b.x509ExtName=v,y=b}for(var w=0;w<x.length;w++)A+=s(l,y,x[w],n+" ");return A}if("31"==c){A=n+"SET\n";var x=a(l,i);for(w=0;w<x.length;w++)A+=s(l,e,x[w],n+" ");return A}if(0!=(128&(c=parseInt(c,16)))){var E=31&c;if(0!=(32&c)){for(A=n+"["+E+"]\n",x=a(l,i),w=0;w<x.length;w++)A+=s(l,e,x[w],n+" ");return A}p=o(l,i);if(It.isASN1HEX(p)){var A=n+"["+E+"]\n";return A+=s(p,e,0,n+" ")}return("68747470"==p.substr(0,8)||"subjectAltName"===e.x509ExtName&&2==E)&&(p=nt(p)),A=n+"["+E+"] "+p+"\n"}return n+"UNKNOWN("+c+") "+o(l,i)+"\n"},It.isContextTag=function(t,e){var i,n;t=t.toLowerCase();try{i=parseInt(t,16)}catch(t){return-1}if(void 0===e)return 128==(192&i);try{return null!=e.match(/^\[[0-9]+\]$/)&&(!((n=parseInt(e.substr(1,e.length-1),10))>31)&&(128==(192&i)&&(31&i)==n))}catch(t){return!1}},It.isASN1HEX=function(t){var e=It;if(t.length%2==1)return!1;var i=e.getVblen(t,0),n=t.substr(0,2),r=e.getL(t,0);return t.length-n.length-r.length==2*i},It.checkStrictDER=function(t,e,i,n,r){var o=It;if(void 0===i){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!u.lang.String.isHex(t))throw new Error("not hex string");i=t.length,r=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*r)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),l=a.length-2-o.getL(t,e).length;if(l!==2*s)throw new Error("V string length and L's value not the same:"+l+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var h=t.substr(e,2);if("02"===h){var c=o.getVidx(t,e);if("00"==t.substr(c,2)&&t.charCodeAt(c+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(h,16)){for(var d=o.getVblen(t,e),p=0,A=o.getChildIdx(t,e),f=0;f<A.length;f++){p+=o.getTLV(t,A[f]).length,o.checkStrictDER(t,A[f],i,n,r)}if(2*d!=p)throw new Error("sum of children's TLV length and L unmatch: "+2*d+"!="+p)}},It.oidname=function(t){var e=u.asn1;u.lang.String.isHex(t)&&(t=e.ASN1Util.oidHexToInt(t));var i=e.x509.OID.oid2name(t);return""===i&&(i=t),i},void 0!==u.asn1&&u.asn1||(u.asn1={}),void 0!==u.asn1.x509&&u.asn1.x509||(u.asn1.x509={}),u.asn1.x509.Certificate=function(t){u.asn1.x509.Certificate.superclass.constructor.call(this);var e=u.asn1,i=e.DERBitString,n=e.DERSequence,r=e.x509,o=r.TBSCertificate,s=r.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(t){this.params=t},this.sign=function(){var t=this.params,e=t.sigalg;null!=t.sigalg.name&&(e=t.sigalg.name);var i=t.tbsobj.getEncodedHex(),n=new u.crypto.Signature({alg:e});n.init(t.cakey),n.updateHex(i),t.sighex=n.sign()},this.getPEM=function(){return at(this.getEncodedHex(),"CERTIFICATE")},this.getEncodedHex=function(){var t=this.params;if(null!=t.tbsobj&&null!=t.tbsobj||(t.tbsobj=new o(t)),null==t.sighex&&null!=t.cakey&&this.sign(),null==t.sighex)throw new Error("sighex or cakey parameter not defined");var e=[];return e.push(t.tbsobj),e.push(new s({name:t.sigalg})),e.push(new i({hex:"00"+t.sighex})),new n({array:e}).getEncodedHex()},null!=t&&(this.params=t)},At(u.asn1.x509.Certificate,u.asn1.ASN1Object),u.asn1.x509.TBSCertificate=function(t){u.asn1.x509.TBSCertificate.superclass.constructor.call(this);var e=u.asn1,i=e.x509,n=e.DERTaggedObject,r=e.DERInteger,o=e.DERSequence,s=i.AlgorithmIdentifier,a=i.Time,l=i.X500Name,h=i.Extensions,c=i.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(t){this.params=t},this.getEncodedHex=function(){var t=[],e=this.params;if(null!=e.version||1!=e.version){var i=2;null!=e.version&&(i=e.version-1);var d=new n({obj:new r({int:i})});t.push(d)}return t.push(new r(e.serial)),t.push(new s({name:e.sigalg})),t.push(new l(e.issuer)),t.push(new o({array:[new a(e.notbefore),new a(e.notafter)]})),t.push(new l(e.subject)),t.push(new c(Et.getKey(e.sbjpubkey))),void 0!==e.ext&&e.ext.length>0&&t.push(new n({tag:"a3",obj:new h(e.ext)})),new u.asn1.DERSequence({array:t}).getEncodedHex()},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.TBSCertificate,u.asn1.ASN1Object),u.asn1.x509.Extensions=function(t){u.asn1.x509.Extensions.superclass.constructor.call(this);var e=u.asn1,i=e.DERSequence,n=e.x509;this.aParam=[],this.setByParam=function(t){this.aParam=t},this.getEncodedHex=function(){for(var t=[],e=0;e<this.aParam.length;e++){var r=this.aParam[e],o=r.extname,s=null;if(null!=r.extn)s=new n.PrivateExtension(r);else if("subjectKeyIdentifier"==o)s=new n.SubjectKeyIdentifier(r);else if("keyUsage"==o)s=new n.KeyUsage(r);else if("subjectAltName"==o)s=new n.SubjectAltName(r);else if("issuerAltName"==o)s=new n.IssuerAltName(r);else if("basicConstraints"==o)s=new n.BasicConstraints(r);else if("cRLDistributionPoints"==o)s=new n.CRLDistributionPoints(r);else if("certificatePolicies"==o)s=new n.CertificatePolicies(r);else if("authorityKeyIdentifier"==o)s=new n.AuthorityKeyIdentifier(r);else if("extKeyUsage"==o)s=new n.ExtKeyUsage(r);else if("authorityInfoAccess"==o)s=new n.AuthorityInfoAccess(r);else if("cRLNumber"==o)s=new n.CRLNumber(r);else if("cRLReason"==o)s=new n.CRLReason(r);else if("ocspNonce"==o)s=new n.OCSPNonce(r);else if("ocspNoCheck"==o)s=new n.OCSPNoCheck(r);else if("adobeTimeStamp"==o)s=new n.AdobeTimeStamp(r);else{if("subjectDirectoryAttributes"!=o)throw new Error("extension not supported:"+JSON.stringify(r));s=new n.SubjectDirectoryAttributes(r)}null!=s&&t.push(s)}return new i({array:t}).getEncodedHex()},null!=t&&this.setByParam(t)},At(u.asn1.x509.Extensions,u.asn1.ASN1Object),u.asn1.x509.Extension=function(t){u.asn1.x509.Extension.superclass.constructor.call(this);var e=u.asn1,i=e.DERObjectIdentifier,n=e.DEROctetString;e.DERBitString;var r=e.DERBoolean,o=e.DERSequence;this.getEncodedHex=function(){var t=new i({oid:this.oid}),e=new n({hex:this.getExtnValueHex()}),s=new Array;return s.push(t),this.critical&&s.push(new r),s.push(e),new o({array:s}).getEncodedHex()},this.critical=!1,void 0!==t&&void 0!==t.critical&&(this.critical=t.critical)},At(u.asn1.x509.Extension,u.asn1.ASN1Object),u.asn1.x509.KeyUsage=function(t){u.asn1.x509.KeyUsage.superclass.constructor.call(this,t);var e=Mt.KEYUSAGE_NAME;if(this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15",void 0!==t&&(void 0!==t.bin&&(this.asn1ExtnValue=new u.asn1.DERBitString(t)),void 0!==t.names&&void 0!==t.names.length)){for(var i=t.names,n="000000000",r=0;r<i.length;r++)for(var o=0;o<e.length;o++)i[r]===e[o]&&(n=n.substring(0,o)+"1"+n.substring(o+1,n.length));this.asn1ExtnValue=new u.asn1.DERBitString({bin:n})}},At(u.asn1.x509.KeyUsage,u.asn1.x509.Extension),u.asn1.x509.BasicConstraints=function(t){u.asn1.x509.BasicConstraints.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERBoolean,n=e.DERInteger,r=e.DERSequence;this.getExtnValueHex=function(){var t=new Array;this.cA&&t.push(new i),this.pathLen>-1&&t.push(new n({int:this.pathLen}));var e=new r({array:t});return this.asn1ExtnValue=e,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,void 0!==t&&(void 0!==t.cA&&(this.cA=t.cA),void 0!==t.pathLen&&(this.pathLen=t.pathLen))},At(u.asn1.x509.BasicConstraints,u.asn1.x509.Extension),u.asn1.x509.CRLDistributionPoints=function(t){u.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,t);var e=u.asn1,i=e.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(t){for(var n=[],r=0;r<t.length;r++)if(t[r]instanceof u.asn1.ASN1Object)n.push(t[r]);else{var o=new i.DistributionPoint(t[r]);n.push(o)}this.asn1ExtnValue=new e.DERSequence({array:n})},this.setByOneURI=function(t){var e=new i.DistributionPoint({fulluri:t});this.setByDPArray([e])},this.oid="2.5.29.31",void 0!==t&&(void 0!==t.array?this.setByDPArray(t.array):void 0!==t.uri&&this.setByOneURI(t.uri))},At(u.asn1.x509.CRLDistributionPoints,u.asn1.x509.Extension),u.asn1.x509.DistributionPoint=function(t){u.asn1.x509.DistributionPoint.superclass.constructor.call(this);var e=u.asn1,i=e.x509.DistributionPointName;this.getEncodedHex=function(){var t=new e.DERSequence;if(null!=this.asn1DP){var i=new e.DERTaggedObject({explicit:!0,tag:"a0",obj:this.asn1DP});t.appendASN1Object(i)}return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==t&&(void 0!==t.dpobj?this.asn1DP=t.dpobj:void 0!==t.dpname?this.asn1DP=new i(t.dpname):void 0!==t.fulluri&&(this.asn1DP=new i({full:[{uri:t.fulluri}]})))},At(u.asn1.x509.DistributionPoint,u.asn1.ASN1Object),u.asn1.x509.DistributionPointName=function(t){u.asn1.x509.DistributionPointName.superclass.constructor.call(this);var e=u.asn1,i=e.DERTaggedObject;if(this.getEncodedHex=function(){if("full"!=this.type)throw new Error("currently type shall be 'full': "+this.type);return this.asn1Obj=new i({explicit:!1,tag:this.tag,obj:this.asn1V}),this.hTLV=this.asn1Obj.getEncodedHex(),this.hTLV},void 0!==t)if(e.x509.GeneralNames.prototype.isPrototypeOf(t))this.type="full",this.tag="a0",this.asn1V=t;else{if(void 0===t.full)throw new Error("This class supports GeneralNames only as argument");this.type="full",this.tag="a0",this.asn1V=new e.x509.GeneralNames(t.full)}},At(u.asn1.x509.DistributionPointName,u.asn1.ASN1Object),u.asn1.x509.CertificatePolicies=function(t){u.asn1.x509.CertificatePolicies.superclass.constructor.call(this,t);var e=u.asn1,i=e.x509,n=e.DERSequence,r=i.PolicyInformation;this.params=null,this.getExtnValueHex=function(){for(var t=[],e=0;e<this.params.array.length;e++)t.push(new r(this.params.array[e]));var i=new n({array:t});return this.asn1ExtnValue=i,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.32",void 0!==t&&(this.params=t)},At(u.asn1.x509.CertificatePolicies,u.asn1.x509.Extension),u.asn1.x509.PolicyInformation=function(t){u.asn1.x509.PolicyInformation.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERSequence,n=e.DERObjectIdentifier,r=e.x509.PolicyQualifierInfo;this.params=null,this.getEncodedHex=function(){if(void 0===this.params.policyoid&&void 0===this.params.array)throw new Error("parameter oid and array missing");var t=[new n(this.params.policyoid)];if(void 0!==this.params.array){for(var e=[],o=0;o<this.params.array.length;o++)e.push(new r(this.params.array[o]));e.length>0&&t.push(new i({array:e}))}return new i({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},At(u.asn1.x509.PolicyInformation,u.asn1.ASN1Object),u.asn1.x509.PolicyQualifierInfo=function(t){u.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERSequence,n=e.DERIA5String,r=e.DERObjectIdentifier,o=e.x509.UserNotice;this.params=null,this.getEncodedHex=function(){return void 0!==this.params.cps?new i({array:[new r({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]}).getEncodedHex():null!=this.params.unotice?new i({array:[new r({oid:"1.3.6.1.5.5.7.2.2"}),new o(this.params.unotice)]}).getEncodedHex():void 0},void 0!==t&&(this.params=t)},At(u.asn1.x509.PolicyQualifierInfo,u.asn1.ASN1Object),u.asn1.x509.UserNotice=function(t){u.asn1.x509.UserNotice.superclass.constructor.call(this,t);var e=u.asn1.DERSequence;u.asn1.DERInteger;var i=u.asn1.x509.DisplayText,n=u.asn1.x509.NoticeReference;this.params=null,this.getEncodedHex=function(){var t=[];return void 0!==this.params.noticeref&&t.push(new n(this.params.noticeref)),void 0!==this.params.exptext&&t.push(new i(this.params.exptext)),new e({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},At(u.asn1.x509.UserNotice,u.asn1.ASN1Object),u.asn1.x509.NoticeReference=function(t){u.asn1.x509.NoticeReference.superclass.constructor.call(this,t);var e=u.asn1.DERSequence,i=u.asn1.DERInteger,n=u.asn1.x509.DisplayText;this.params=null,this.getEncodedHex=function(){var t=[];if(void 0!==this.params.org&&t.push(new n(this.params.org)),void 0!==this.params.noticenum){for(var r=[],o=this.params.noticenum,s=0;s<o.length;s++)r.push(new i(o[s]));t.push(new e({array:r}))}if(0==t.length)throw new Error("parameter is empty");return new e({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},At(u.asn1.x509.NoticeReference,u.asn1.ASN1Object),u.asn1.x509.DisplayText=function(t){u.asn1.x509.DisplayText.superclass.constructor.call(this,t),this.hT="0c",void 0!==t&&("ia5"===t.type?this.hT="16":"vis"===t.type?this.hT="1a":"bmp"===t.type&&(this.hT="1e"))},At(u.asn1.x509.DisplayText,u.asn1.DERAbstractString),u.asn1.x509.ExtKeyUsage=function(t){u.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,t);var e=u.asn1;this.setPurposeArray=function(t){this.asn1ExtnValue=new e.DERSequence;for(var i=0;i<t.length;i++){var n=new e.DERObjectIdentifier(t[i]);this.asn1ExtnValue.appendASN1Object(n)}},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.37",void 0!==t&&void 0!==t.array&&this.setPurposeArray(t.array)},At(u.asn1.x509.ExtKeyUsage,u.asn1.x509.Extension),u.asn1.x509.AuthorityKeyIdentifier=function(t){u.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,t);var e=u,i=e.asn1,n=i.DERTaggedObject,r=i.x509.GeneralNames;e.crypto.Util.isKey,this.asn1KID=null,this.asn1CertIssuer=null,this.asn1CertSN=null,this.getExtnValueHex=function(){var t=new Array;this.asn1KID&&t.push(new n({explicit:!1,tag:"80",obj:this.asn1KID})),this.asn1CertIssuer&&t.push(new n({explicit:!1,tag:"a1",obj:new r([{dn:this.asn1CertIssuer}])})),this.asn1CertSN&&t.push(new n({explicit:!1,tag:"82",obj:this.asn1CertSN}));var e=new i.DERSequence({array:t});return this.asn1ExtnValue=e,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(t){if(void 0!==t.str||void 0!==t.hex)this.asn1KID=new u.asn1.DEROctetString(t);else if("object"==typeof t&&u.crypto.Util.isKey(t)||"string"==typeof t&&-1!=t.indexOf("BEGIN ")){var e=t;"string"==typeof t&&(e=Et.getKey(t));var i=Et.getKeyID(e);this.asn1KID=new u.asn1.DEROctetString({hex:i})}},this.setCertIssuerByParam=function(t){void 0!==t.str||void 0!==t.ldapstr||void 0!==t.hex||void 0!==t.certsubject||void 0!==t.certissuer?this.asn1CertIssuer=new u.asn1.x509.X500Name(t):"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&-1!=t.indexOf("CERTIFICATE")&&(this.asn1CertIssuer=new u.asn1.x509.X500Name({certissuer:t}))},this.setCertSNByParam=function(t){if(void 0!==t.str||void 0!==t.bigint||void 0!==t.hex)this.asn1CertSN=new u.asn1.DERInteger(t);else if("string"==typeof t&&-1!=t.indexOf("BEGIN ")&&t.indexOf("CERTIFICATE")){var e=new Mt;e.readCertPEM(t);var i=e.getSerialNumberHex();this.asn1CertSN=new u.asn1.DERInteger({hex:i})}},this.oid="2.5.29.35",void 0!==t&&(void 0!==t.kid&&this.setKIDByParam(t.kid),void 0!==t.issuer&&this.setCertIssuerByParam(t.issuer),void 0!==t.sn&&this.setCertSNByParam(t.sn),void 0!==t.issuersn&&"string"==typeof t.issuersn&&-1!=t.issuersn.indexOf("BEGIN ")&&t.issuersn.indexOf("CERTIFICATE")&&(this.setCertSNByParam(t.issuersn),this.setCertIssuerByParam(t.issuersn)))},At(u.asn1.x509.AuthorityKeyIdentifier,u.asn1.x509.Extension),u.asn1.x509.SubjectKeyIdentifier=function(t){u.asn1.x509.SubjectKeyIdentifier.superclass.constructor.call(this,t);var e=u.asn1.DEROctetString;this.asn1KID=null,this.getExtnValueHex=function(){return this.asn1ExtnValue=this.asn1KID,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(t){if(void 0!==t.str||void 0!==t.hex)this.asn1KID=new e(t);else if("object"==typeof t&&u.crypto.Util.isKey(t)||"string"==typeof t&&-1!=t.indexOf("BEGIN")){var i=t;"string"==typeof t&&(i=Et.getKey(t));var n=Et.getKeyID(i);this.asn1KID=new u.asn1.DEROctetString({hex:n})}},this.oid="2.5.29.14",void 0!==t&&void 0!==t.kid&&this.setKIDByParam(t.kid)},At(u.asn1.x509.SubjectKeyIdentifier,u.asn1.x509.Extension),u.asn1.x509.AuthorityInfoAccess=function(t){u.asn1.x509.AuthorityInfoAccess.superclass.constructor.call(this,t),this.setAccessDescriptionArray=function(t){for(var e=new Array,i=u.asn1,n=i.DERSequence,r=i.DERObjectIdentifier,o=i.x509.GeneralName,s=0;s<t.length;s++){var a,l=t[s];if(void 0!==l.ocsp)a=new n({array:[new r({oid:"1.3.6.1.5.5.7.48.1"}),new o({uri:l.ocsp})]});else{if(void 0===l.caissuer)throw new Error("unknown AccessMethod parameter: "+JSON.stringify(l));a=new n({array:[new r({oid:"1.3.6.1.5.5.7.48.2"}),new o({uri:l.caissuer})]})}e.push(a)}this.asn1ExtnValue=new n({array:e})},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.1.1",void 0!==t&&void 0!==t.array&&this.setAccessDescriptionArray(t.array)},At(u.asn1.x509.AuthorityInfoAccess,u.asn1.x509.Extension),u.asn1.x509.SubjectAltName=function(t){u.asn1.x509.SubjectAltName.superclass.constructor.call(this,t),this.setNameArray=function(t){this.asn1ExtnValue=new u.asn1.x509.GeneralNames(t)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.17",void 0!==t&&void 0!==t.array&&this.setNameArray(t.array)},At(u.asn1.x509.SubjectAltName,u.asn1.x509.Extension),u.asn1.x509.IssuerAltName=function(t){u.asn1.x509.IssuerAltName.superclass.constructor.call(this,t),this.setNameArray=function(t){this.asn1ExtnValue=new u.asn1.x509.GeneralNames(t)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.18",void 0!==t&&void 0!==t.array&&this.setNameArray(t.array)},At(u.asn1.x509.IssuerAltName,u.asn1.x509.Extension),u.asn1.x509.SubjectDirectoryAttributes=function(t){u.asn1.x509.SubjectDirectoryAttributes.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERSequence,n=e.ASN1Util.newObject,r=e.x509.OID.name2oid;this.params=null,this.getExtnValueHex=function(){for(var t=[],e=0;e<this.params.array.length;e++){var o=this.params.array[e],s={seq:[{oid:"1.2.3.4"},{set:[{utf8str:"DE"}]}]};if("dateOfBirth"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={gentime:o.str};else if("placeOfBirth"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={utf8str:o.str};else if("gender"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={prnstr:o.str};else if("countryOfCitizenship"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={prnstr:o.str};else{if("countryOfResidence"!=o.attr)throw new Error("unsupported attribute: "+o.attr);s.seq[0].oid=r(o.attr),s.seq[1].set[0]={prnstr:o.str}}t.push(new n(s))}var a=new i({array:t});return this.asn1ExtnValue=a,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.9",void 0!==t&&(this.params=t)},At(u.asn1.x509.SubjectDirectoryAttributes,u.asn1.x509.Extension),u.asn1.x509.PrivateExtension=function(t){u.asn1.x509.PrivateExtension.superclass.constructor.call(this,t);var e=u,i=e.lang.String.isHex,n=e.asn1,r=n.x509.OID.name2oid,o=n.ASN1Util.newObject;this.params=null,this.setByParam=function(t){this.oid=r(t.extname),this.params=t},this.getExtnValueHex=function(){if(null==this.params.extname||null==this.params.extn)throw new Error("extname or extnhex not specified");var t=this.params.extn;if("string"==typeof t&&i(t))return t;if("object"==typeof t)try{return o(t).getEncodedHex()}catch(t){}throw new Error("unsupported extn value")},null!=t&&this.setByParam(t)},At(u.asn1.x509.PrivateExtension,u.asn1.x509.Extension),u.asn1.x509.CRL=function(t){u.asn1.x509.CRL.superclass.constructor.call(this);var e=u.asn1,i=e.DERSequence,n=e.DERBitString,r=e.x509,o=r.AlgorithmIdentifier,s=r.TBSCertList;this.params=void 0,this.setByParam=function(t){this.params=t},this.sign=function(){var t=new s(this.params).getEncodedHex(),e=new u.crypto.Signature({alg:this.params.sigalg});e.init(this.params.cakey),e.updateHex(t);var i=e.sign();this.params.sighex=i},this.getPEM=function(){return at(this.getEncodedHex(),"X509 CRL")},this.getEncodedHex=function(){var t=this.params;if(null==t.tbsobj&&(t.tbsobj=new s(t)),null==t.sighex&&null!=t.cakey&&this.sign(),null==t.sighex)throw new Error("sighex or cakey parameter not defined");var e=[];return e.push(t.tbsobj),e.push(new o({name:t.sigalg})),e.push(new n({hex:"00"+t.sighex})),new i({array:e}).getEncodedHex()},null!=t&&(this.params=t)},At(u.asn1.x509.CRL,u.asn1.ASN1Object),u.asn1.x509.TBSCertList=function(t){u.asn1.x509.TBSCertList.superclass.constructor.call(this);var e=u.asn1,i=e.DERInteger,n=e.DERSequence,r=e.DERTaggedObject;e.DERObjectIdentifier;var o=e.x509,s=o.AlgorithmIdentifier,a=o.Time,l=o.Extensions,h=o.X500Name;this.params=null,this.setByParam=function(t){this.params=t},this.getRevCertSequence=function(){for(var t=[],e=this.params.revcert,r=0;r<e.length;r++){var o=[new i(e[r].sn),new a(e[r].date)];null!=e[r].ext&&o.push(new l(e[r].ext)),t.push(new n({array:o}))}return new n({array:t})},this.getEncodedHex=function(){var t=[],e=this.params;if(null!=e.version){var o=e.version-1,u=new i({int:o});t.push(u)}if(t.push(new s({name:e.sigalg})),t.push(new h(e.issuer)),t.push(new a(e.thisupdate)),null!=e.nextupdate&&t.push(new a(e.nextupdate)),null!=e.revcert&&t.push(this.getRevCertSequence()),null!=e.ext){var c=new l(e.ext);t.push(new r({tag:"a0",explicit:!0,obj:c}))}return new n({array:t}).getEncodedHex()},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.TBSCertList,u.asn1.ASN1Object),u.asn1.x509.CRLEntry=function(t){u.asn1.x509.CRLEntry.superclass.constructor.call(this);var e=u.asn1;this.setCertSerial=function(t){this.sn=new e.DERInteger(t)},this.setRevocationDate=function(t){this.time=new e.x509.Time(t)},this.getEncodedHex=function(){var t=new e.DERSequence({array:[this.sn,this.time]});return this.TLV=t.getEncodedHex(),this.TLV},void 0!==t&&(void 0!==t.time&&this.setRevocationDate(t.time),void 0!==t.sn&&this.setCertSerial(t.sn))},At(u.asn1.x509.CRLEntry,u.asn1.ASN1Object),u.asn1.x509.CRLNumber=function(t){u.asn1.x509.CRLNumber.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DERInteger(this.params.num),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.20",null!=t&&(this.params=t)},At(u.asn1.x509.CRLNumber,u.asn1.x509.Extension),u.asn1.x509.CRLReason=function(t){u.asn1.x509.CRLReason.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DEREnumerated(this.params.code),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.21",null!=t&&(this.params=t)},At(u.asn1.x509.CRLReason,u.asn1.x509.Extension),u.asn1.x509.OCSPNonce=function(t){u.asn1.x509.OCSPNonce.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DEROctetString(this.params),this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.2",null!=t&&(this.params=t)},At(u.asn1.x509.OCSPNonce,u.asn1.x509.Extension),u.asn1.x509.OCSPNoCheck=function(t){u.asn1.x509.OCSPNoCheck.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DERNull,this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.5",null!=t&&(this.params=t)},At(u.asn1.x509.OCSPNoCheck,u.asn1.x509.Extension),u.asn1.x509.AdobeTimeStamp=function(t){u.asn1.x509.AdobeTimeStamp.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERInteger,n=e.DERBoolean,r=e.DERSequence,o=e.x509.GeneralName;this.params=null,this.getExtnValueHex=function(){var t=this.params,e=[new i(1)];return e.push(new o({uri:t.uri})),null!=t.reqauth&&e.push(new n(t.reqauth)),this.asn1ExtnValue=new r({array:e}),this.asn1ExtnValue.getEncodedHex()},this.oid="1.2.840.113583.1.1.9.1",void 0!==t&&this.setByParam(t)},At(u.asn1.x509.AdobeTimeStamp,u.asn1.x509.Extension),u.asn1.x509.X500Name=function(t){u.asn1.x509.X500Name.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var e=u.asn1,i=e.x509,n=i.RDN;this.setByString=function(t,e){void 0!==e&&(this.sRule=e);var i=t.split("/");i.shift();for(var r=[],o=0;o<i.length;o++)if(i[o].match(/^[^=]+=.+$/))r.push(i[o]);else{var s=r.length-1;r[s]=r[s]+"/"+i[o]}for(o=0;o<r.length;o++)this.asn1Array.push(new n({str:r[o],rule:this.sRule}))},this.setByLdapString=function(t,e){void 0!==e&&(this.sRule=e);var n=i.X500Name.ldapToCompat(t);this.setByString(n,e)},this.setByObject=function(t,e){for(var i in void 0!==e&&(this.sRule=e),t)if(t.hasOwnProperty(i)){var r=new n({str:i+"="+t[i],rule:this.sRule});this.asn1Array?this.asn1Array.push(r):this.asn1Array=[r]}},this.setByParam=function(t){var e;(void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.array)?this.paramArray=t.array:void 0!==t.str?this.setByString(t.str):void 0!==t.ldapstr?this.setByLdapString(t.ldapstr):void 0!==t.hex?this.hTLV=t.hex:void 0!==t.certissuer?((e=new Mt).readCertPEM(t.certissuer),this.hTLV=e.getIssuerHex()):void 0!==t.certsubject?((e=new Mt).readCertPEM(t.certsubject),this.hTLV=e.getSubjectHex()):"object"==typeof t&&void 0===t.certsubject&&void 0===t.certissuer&&this.setByObject(t)},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;if(0==this.asn1Array.length&&this.paramArray.length>0)for(var t=0;t<this.paramArray.length;t++){var i={array:this.paramArray[t]};"utf8"!=this.sRule&&(i.rule=this.sRule);var r=new n(i);this.asn1Array.push(r)}var o=new e.DERSequence({array:this.asn1Array});return this.hTLV=o.getEncodedHex(),this.hTLV},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.X500Name,u.asn1.ASN1Object),u.asn1.x509.X500Name.compatToLDAP=function(t){if("/"!==t.substr(0,1))throw"malformed input";var e=(t=t.substr(1)).split("/");return e.reverse(),(e=e.map((function(t){return t.replace(/,/,"\\,")}))).join(",")},u.asn1.x509.X500Name.onelineToLDAP=function(t){return u.asn1.x509.X500Name.compatToLDAP(t)},u.asn1.x509.X500Name.ldapToCompat=function(t){for(var e=t.split(","),i=!1,n=[],r=0;e.length>0;r++){var o=e.shift();if(!0===i){var s=(n.pop()+","+o).replace(/\\,/g,",");n.push(s),i=!1}else n.push(o);"\\"===o.substr(-1,1)&&(i=!0)}return(n=n.map((function(t){return t.replace("/","\\/")}))).reverse(),"/"+n.join("/")},u.asn1.x509.X500Name.ldapToOneline=function(t){return u.asn1.x509.X500Name.ldapToCompat(t)},u.asn1.x509.RDN=function(t){u.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var e=u.asn1.x509.AttributeTypeAndValue;this.setByParam=function(t){void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.str&&this.addByMultiValuedString(t.str),void 0!==t.array&&(this.paramArray=t.array)},this.addByString=function(t){this.asn1Array.push(new u.asn1.x509.AttributeTypeAndValue({str:t,rule:this.sRule}))},this.addByMultiValuedString=function(t){for(var e=u.asn1.x509.RDN.parseString(t),i=0;i<e.length;i++)this.addByString(e[i])},this.getEncodedHex=function(){if(0==this.asn1Array.length&&this.paramArray.length>0)for(var t=0;t<this.paramArray.length;t++){var i=this.paramArray[t];void 0!==i.rule&&"utf8"!=this.sRule&&(i.rule=this.sRule);var n=new e(i);this.asn1Array.push(n)}var r=new u.asn1.DERSet({array:this.asn1Array});return this.TLV=r.getEncodedHex(),this.TLV},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.RDN,u.asn1.ASN1Object),u.asn1.x509.RDN.parseString=function(t){for(var e=t.split(/\+/),i=!1,n=[],r=0;e.length>0;r++){var o=e.shift();if(!0===i){var s=(n.pop()+"+"+o).replace(/\\\+/g,"+");n.push(s),i=!1}else n.push(o);"\\"===o.substr(-1,1)&&(i=!0)}var a=!1,u=[];for(r=0;n.length>0;r++){o=n.shift();if(!0===a){var l=u.pop();if(o.match(/"$/)){s=(l+"+"+o).replace(/^([^=]+)="(.*)"$/,"$1=$2");u.push(s),a=!1}else u.push(l+"+"+o)}else u.push(o);o.match(/^[^=]+="/)&&(a=!0)}return u},u.asn1.x509.AttributeTypeAndValue=function(t){u.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var e=u,i=e.asn1,n=i.DERSequence,r=i.DERUTF8String,o=i.DERPrintableString,s=i.DERTeletexString,a=i.DERIA5String,l=i.DERVisibleString,h=i.DERBMPString,c=e.lang.String.isMail,d=e.lang.String.isPrintable;this.setByParam=function(t){if(void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.ds&&(this.dsType=t.ds),void 0===t.value&&void 0!==t.str){var e=t.str.match(/^([^=]+)=(.+)$/);if(!e)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.sType=e[1],this.sValue=e[2]}else this.sType=t.type,this.sValue=t.value},this.setByString=function(t,e){void 0!==e&&(this.sRule=e);var i=t.match(/^([^=]+)=(.+)$/);if(!i)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.setByAttrTypeAndValueStr(i[1],i[2])},this._getDsType=function(){var t=this.sType,e=this.sValue,i=this.sRule;return"prn"===i?"CN"==t&&c(e)?"ia5":d(e)?"prn":"utf8":"utf8"===i?"CN"==t&&c(e)?"ia5":"C"==t?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(t,e,i){void 0!==i&&(this.sRule=i),this.sType=t,this.sValue=e},this.getValueObj=function(t,e){if("utf8"==t)return new r({str:e});if("prn"==t)return new o({str:e});if("tel"==t)return new s({str:e});if("ia5"==t)return new a({str:e});if("vis"==t)return new l({str:e});if("bmp"==t)return new h({str:e});throw new Error("unsupported directory string type: type="+t+" value="+e)},this.getEncodedHex=function(){null==this.dsType&&(this.dsType=this._getDsType());var t=u.asn1.x509.OID.atype2obj(this.sType),e=this.getValueObj(this.dsType,this.sValue),i=new n({array:[t,e]});return this.TLV=i.getEncodedHex(),this.TLV},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.AttributeTypeAndValue,u.asn1.ASN1Object),u.asn1.x509.SubjectPublicKeyInfo=function(t){u.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var e=u,i=e.asn1,n=i.DERInteger,r=i.DERBitString,o=i.DERObjectIdentifier,s=i.DERSequence,a=i.ASN1Util.newObject,l=i.x509.AlgorithmIdentifier,h=e.crypto;h.ECDSA,h.DSA,this.getASN1Object=function(){if(null==this.asn1AlgId||null==this.asn1SubjPKey)throw"algId and/or subjPubKey not set";return new s({array:[this.asn1AlgId,this.asn1SubjPKey]})},this.getEncodedHex=function(){var t=this.getASN1Object();return this.hTLV=t.getEncodedHex(),this.hTLV},this.setPubKey=function(t){try{if(t instanceof X){var e=a({seq:[{int:{bigint:t.n}},{int:{int:t.e}}]}).getEncodedHex();this.asn1AlgId=new l({name:"rsaEncryption"}),this.asn1SubjPKey=new r({hex:"00"+e})}}catch(t){}try{if(t instanceof u.crypto.ECDSA){var i=new o({name:t.curveName});this.asn1AlgId=new l({name:"ecPublicKey",asn1params:i}),this.asn1SubjPKey=new r({hex:"00"+t.pubKeyHex})}}catch(t){}try{if(t instanceof u.crypto.DSA){i=new a({seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]});this.asn1AlgId=new l({name:"dsa",asn1params:i});var s=new n({bigint:t.y});this.asn1SubjPKey=new r({hex:"00"+s.getEncodedHex()})}}catch(t){}},void 0!==t&&this.setPubKey(t)},At(u.asn1.x509.SubjectPublicKeyInfo,u.asn1.ASN1Object),u.asn1.x509.Time=function(t){u.asn1.x509.Time.superclass.constructor.call(this);var e=u.asn1,i=e.DERUTCTime,n=e.DERGeneralizedTime;this.setTimeParams=function(t){this.timeParams=t},this.getEncodedHex=function(){var t=null;return t=null!=this.timeParams?"utc"==this.type?new i(this.timeParams):new n(this.timeParams):"utc"==this.type?new i:new n,this.TLV=t.getEncodedHex(),this.TLV},this.type="utc",void 0!==t&&(void 0!==t.type?this.type=t.type:void 0!==t.str&&(t.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),t.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=t)},At(u.asn1.x509.Time,u.asn1.ASN1Object),u.asn1.x509.AlgorithmIdentifier=function(t){u.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var e=u.asn1,i=e.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.getEncodedHex=function(){if(null===this.nameAlg&&null===this.asn1Alg)throw new Error("algorithm not specified");if(null!==this.nameAlg){var t=null;for(var n in i)n===this.nameAlg&&(t=i[n]);if(null!==t)return this.hTLV=t,this.hTLV}null!==this.nameAlg&&null===this.asn1Alg&&(this.asn1Alg=e.x509.OID.name2obj(this.nameAlg));var r=[this.asn1Alg];null!==this.asn1Params&&r.push(this.asn1Params);var o=new e.DERSequence({array:r});return this.hTLV=o.getEncodedHex(),this.hTLV},void 0!==t&&(void 0!==t.name&&(this.nameAlg=t.name),void 0!==t.asn1params&&(this.asn1Params=t.asn1params),void 0!==t.paramempty&&(this.paramEmpty=t.paramempty)),null===this.asn1Params&&!1===this.paramEmpty&&null!==this.nameAlg){void 0!==this.nameAlg.name&&(this.nameAlg=this.nameAlg.name);var n=this.nameAlg.toLowerCase();"withdsa"!==n.substr(-7,7)&&"withecdsa"!==n.substr(-9,9)&&(this.asn1Params=new e.DERNull)}},At(u.asn1.x509.AlgorithmIdentifier,u.asn1.ASN1Object),u.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},u.asn1.x509.GeneralName=function(t){u.asn1.x509.GeneralName.superclass.constructor.call(this);var e={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87"},i=u.asn1;i.DERSequence;var n=i.DEROctetString,r=i.DERIA5String,o=i.DERTaggedObject,s=i.ASN1Object,a=i.x509.X500Name,l=ut;this.explicit=!1,this.setByParam=function(t){var i=null;if(void 0!==t){if(void 0!==t.rfc822&&(this.type="rfc822",i=new r({str:t[this.type]})),void 0!==t.dns&&(this.type="dns",i=new r({str:t[this.type]})),void 0!==t.uri&&(this.type="uri",i=new r({str:t[this.type]})),void 0!==t.dn&&(this.type="dn",this.explicit=!0,i="string"==typeof t.dn?new a({str:t.dn}):t.dn instanceof u.asn1.x509.X500Name?t.dn:new a(t.dn)),void 0!==t.ldapdn&&(this.type="dn",this.explicit=!0,i=new a({ldapstr:t.ldapdn})),void 0!==t.certissuer){this.type="dn",this.explicit=!0;var h=null;if((d=t.certissuer).match(/^[0-9A-Fa-f]+$/),-1!=d.indexOf("-----BEGIN ")&&(h=l(d)),null==h)throw"certissuer param not cert";(p=new Mt).hex=h;var c=p.getIssuerHex();(i=new s).hTLV=c}if(void 0!==t.certsubj){this.type="dn",this.explicit=!0;var d,p;h=null;if((d=t.certsubj).match(/^[0-9A-Fa-f]+$/),-1!=d.indexOf("-----BEGIN ")&&(h=l(d)),null==h)throw"certsubj param not cert";(p=new Mt).hex=h;c=p.getSubjectHex();(i=new s).hTLV=c}if(void 0!==t.ip){this.type="ip",this.explicit=!1;var A,f=t.ip,g="malformed IP address";if(f.match(/^[0-9.]+[.][0-9.]+$/)){if(8!==(A=function(t){t=(t=(t=t.replace(/^\s*\[\s*/,"")).replace(/\s*\]\s*$/,"")).replace(/\s*/g,"");try{return t.split(/,/).map((function(t,e,i){var n=parseInt(t);if(n<0||255<n)throw"integer not in range 0-255";return("00"+n.toString(16)).slice(-2)})).join("")}catch(t){throw"malformed integer array string: "+t}}("["+f.split(".").join(",")+"]")).length)throw g}else if(f.match(/^[0-9A-Fa-f:]+:[0-9A-Fa-f:]+$/))A=function(t){var e="malformed IPv6 address";if(!t.match(/^[0-9A-Fa-f:]+$/))throw e;var i=(t=t.toLowerCase()).split(":").length-1;if(i<2)throw e;var n=":".repeat(7-i+2),r=(t=t.replace("::",n)).split(":");if(8!=r.length)throw e;for(var o=0;o<8;o++)r[o]=("0000"+r[o]).slice(-4);return r.join("")}(f);else{if(!f.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw g;A=f}i=new n({hex:A})}if(null==this.type)throw"unsupported type in params="+t;this.asn1Obj=new o({explicit:this.explicit,tag:e[this.type],obj:i})}},this.getEncodedHex=function(){return this.asn1Obj.getEncodedHex()},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.GeneralName,u.asn1.ASN1Object),u.asn1.x509.GeneralNames=function(t){u.asn1.x509.GeneralNames.superclass.constructor.call(this);var e=u.asn1;this.setByParamArray=function(t){for(var i=0;i<t.length;i++){var n=new e.x509.GeneralName(t[i]);this.asn1Array.push(n)}},this.getEncodedHex=function(){return new e.DERSequence({array:this.asn1Array}).getEncodedHex()},this.asn1Array=new Array,void 0!==t&&this.setByParamArray(t)},At(u.asn1.x509.GeneralNames,u.asn1.ASN1Object),u.asn1.x509.OID=new function(t){this.atype2oidList={CN:"2.5.4.3",L:"2.5.4.7",ST:"2.5.4.8",O:"2.5.4.10",OU:"2.5.4.11",C:"2.5.4.6",STREET:"2.5.4.9",DC:"0.9.2342.19200300.100.1.25",UID:"0.9.2342.19200300.100.1.1",SN:"2.5.4.4",T:"2.5.4.12",DN:"2.5.4.49",E:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3"},this.name2oidList={sha1:"1.3.14.3.2.26",sha256:"2.16.840.1.101.3.4.2.1",sha384:"2.16.840.1.101.3.4.2.2",sha512:"2.16.840.1.101.3.4.2.3",sha224:"2.16.840.1.101.3.4.2.4",md5:"1.2.840.113549.2.5",md2:"1.3.14.7.2.2.1",ripemd160:"1.3.36.3.2.1",MD2withRSA:"1.2.840.113549.1.1.2",MD4withRSA:"1.2.840.113549.1.1.3",MD5withRSA:"1.2.840.113549.1.1.4",SHA1withRSA:"1.2.840.113549.1.1.5","pkcs1-MGF":"1.2.840.113549.1.1.8",rsaPSS:"1.2.840.113549.1.1.10",SHA224withRSA:"1.2.840.113549.1.1.14",SHA256withRSA:"1.2.840.113549.1.1.11",SHA384withRSA:"1.2.840.113549.1.1.12",SHA512withRSA:"1.2.840.113549.1.1.13",SHA1withECDSA:"1.2.840.10045.4.1",SHA224withECDSA:"1.2.840.10045.4.3.1",SHA256withECDSA:"1.2.840.10045.4.3.2",SHA384withECDSA:"1.2.840.10045.4.3.3",SHA512withECDSA:"1.2.840.10045.4.3.4",dsa:"1.2.840.10040.4.1",SHA1withDSA:"1.2.840.10040.4.3",SHA224withDSA:"2.16.840.1.101.3.4.3.1",SHA256withDSA:"2.16.840.1.101.3.4.3.2",rsaEncryption:"1.2.840.113549.1.1.1",commonName:"2.5.4.3",countryName:"2.5.4.6",localityName:"2.5.4.7",stateOrProvinceName:"2.5.4.8",streetAddress:"2.5.4.9",organizationName:"2.5.4.10",organizationalUnitName:"2.5.4.11",domainComponent:"0.9.2342.19200300.100.1.25",userId:"0.9.2342.19200300.100.1.1",surname:"2.5.4.4",givenName:"2.5.4.42",title:"2.5.4.12",distinguishedName:"2.5.4.49",emailAddress:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3",subjectDirectoryAttributes:"2.5.29.9",subjectKeyIdentifier:"2.5.29.14",keyUsage:"2.5.29.15",subjectAltName:"2.5.29.17",issuerAltName:"2.5.29.18",basicConstraints:"2.5.29.19",cRLNumber:"2.5.29.20",cRLReason:"2.5.29.21",nameConstraints:"2.5.29.30",cRLDistributionPoints:"2.5.29.31",certificatePolicies:"2.5.29.32",anyPolicy:"2.5.29.32.0",authorityKeyIdentifier:"2.5.29.35",policyConstraints:"2.5.29.36",extKeyUsage:"2.5.29.37",authorityInfoAccess:"1.3.6.1.5.5.7.1.1",ocsp:"1.3.6.1.5.5.7.48.1",ocspBasic:"1.3.6.1.5.5.7.48.1.1",ocspNonce:"1.3.6.1.5.5.7.48.1.2",ocspNoCheck:"1.3.6.1.5.5.7.48.1.5",caIssuers:"1.3.6.1.5.5.7.48.2",anyExtendedKeyUsage:"2.5.29.37.0",serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",emailProtection:"1.3.6.1.5.5.7.3.4",timeStamping:"1.3.6.1.5.5.7.3.8",ocspSigning:"1.3.6.1.5.5.7.3.9",dateOfBirth:"1.3.6.1.5.5.7.9.1",placeOfBirth:"1.3.6.1.5.5.7.9.2",gender:"1.3.6.1.5.5.7.9.3",countryOfCitizenship:"1.3.6.1.5.5.7.9.4",countryOfResidence:"1.3.6.1.5.5.7.9.5",ecPublicKey:"1.2.840.10045.2.1","P-256":"1.2.840.10045.3.1.7",secp256r1:"1.2.840.10045.3.1.7",secp256k1:"1.3.132.0.10",secp384r1:"1.3.132.0.34",pkcs5PBES2:"1.2.840.113549.1.5.13",pkcs5PBKDF2:"1.2.840.113549.1.5.12","des-EDE3-CBC":"1.2.840.113549.3.7",data:"1.2.840.113549.1.7.1","signed-data":"1.2.840.113549.1.7.2","enveloped-data":"1.2.840.113549.1.7.3","digested-data":"1.2.840.113549.1.7.5","encrypted-data":"1.2.840.113549.1.7.6","authenticated-data":"1.2.840.113549.1.9.16.1.2",tstinfo:"1.2.840.113549.1.9.16.1.4",signingCertificate:"1.2.840.113549.1.9.16.2.12",timeStampToken:"1.2.840.113549.1.9.16.2.14",signaturePolicyIdentifier:"1.2.840.113549.1.9.16.2.15",etsArchiveTimeStamp:"1.2.840.113549.1.9.16.2.27",signingCertificateV2:"1.2.840.113549.1.9.16.2.47",etsArchiveTimeStampV2:"1.2.840.113549.1.9.16.2.48",extensionRequest:"1.2.840.113549.1.9.14",contentType:"1.2.840.113549.1.9.3",messageDigest:"1.2.840.113549.1.9.4",signingTime:"1.2.840.113549.1.9.5",counterSignature:"1.2.840.113549.1.9.6",archiveTimeStampV3:"0.4.0.1733.2.4",pdfRevocationInfoArchival:"1.2.840.113583.1.1.8",adobeTimeStamp:"1.2.840.113583.1.1.9.1"},this.objCache={},this.name2obj=function(t){if(void 0!==this.objCache[t])return this.objCache[t];if(void 0===this.name2oidList[t])throw"Name of ObjectIdentifier not defined: "+t;var e=this.name2oidList[t],i=new u.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=i,i},this.atype2obj=function(t){if(void 0!==this.objCache[t])return this.objCache[t];var e;if(t.match(/^\d+\.\d+\.[0-9.]+$/))e=t;else if(void 0!==this.atype2oidList[t])e=this.atype2oidList[t];else{if(void 0===this.name2oidList[t])throw"AttributeType name undefined: "+t;e=this.name2oidList[t]}var i=new u.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=i,i}},u.asn1.x509.OID.oid2name=function(t){var e=u.asn1.x509.OID.name2oidList;for(var i in e)if(e[i]==t)return i;return""},u.asn1.x509.OID.oid2atype=function(t){var e=u.asn1.x509.OID.atype2oidList;for(var i in e)if(e[i]==t)return i;return t},u.asn1.x509.OID.name2oid=function(t){if(t.match(/^[0-9.]+$/))return t;var e=u.asn1.x509.OID.name2oidList;return void 0===e[t]?"":e[t]},u.asn1.x509.X509Util={},u.asn1.x509.X509Util.newCertPEM=function(t){var e=u.asn1.x509;return e.TBSCertificate,new(0,e.Certificate)(t).getPEM()},X.getPosArrayOfChildrenFromHex=function(t){return It.getChildIdx(t,0)},X.getHexValueArrayOfChildrenFromHex=function(t){var e,i=It.getV,n=i(t,(e=X.getPosArrayOfChildrenFromHex(t))[0]),r=i(t,e[1]),o=i(t,e[2]),s=i(t,e[3]),a=i(t,e[4]),u=i(t,e[5]),l=i(t,e[6]),h=i(t,e[7]),c=i(t,e[8]);return(e=new Array).push(n,r,o,s,a,u,l,h,c),e},X.prototype.readPrivateKeyFromPEMString=function(t){var e=ut(t),i=X.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},X.prototype.readPKCS5PrvKeyHex=function(t){var e=X.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},X.prototype.readPKCS8PrvKeyHex=function(t){var e,i,n,r,o,s,a,u,l=It,h=l.getVbyListEx;if(!1===l.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),i=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),r=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,i,n,r,o,s,a,u)},X.prototype.readPKCS5PubKeyHex=function(t){var e=It,i=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var r=i(t,n[0]),o=i(t,n[1]);this.setPublic(r,o)},X.prototype.readPKCS8PubKeyHex=function(t){var e=It;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var i=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(i)},X.prototype.readCertPubKeyHex=function(t,e){var i,n;(i=new Mt).readCertHex(t),n=i.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)},X.prototype.sign=function(t,e){var i,n=(i=t,u.crypto.Util.hashString(i,e));return this.signWithMessageHash(n,e)},X.prototype.signWithMessageHash=function(t,e){var i=G(u.crypto.Util.getPaddedDigestInfoHex(t,e,this.n.bitLength()),16);return Ct(this.doPrivate(i).toString(16),this.n.bitLength())},X.prototype.signPSS=function(t,e,i){var n,r=(n=ot(t),u.crypto.Util.hashHex(n,e));return void 0===i&&(i=-1),this.signWithMessageHashPSS(r,e,i)},X.prototype.signWithMessageHashPSS=function(t,e,i){var n,r=rt(t),o=r.length,s=this.n.bitLength()-1,a=Math.ceil(s/8),l=function(t){return u.crypto.Util.hashHex(t,e)};if(-1===i||void 0===i)i=o;else if(-2===i)i=a-o-2;else if(i<-2)throw new Error("invalid salt length");if(a<o+i+2)throw new Error("data too long");var h="";i>0&&(h=new Array(i),(new U).nextBytes(h),h=String.fromCharCode.apply(String,h));var d=rt(l(ot("\0\0\0\0\0\0\0\0"+r+h))),p=[];for(n=0;n<a-i-o-2;n+=1)p[n]=0;var A=String.fromCharCode.apply(String,p)+""+h,f=St(d,A.length,l),g=[];for(n=0;n<A.length;n+=1)g[n]=A.charCodeAt(n)^f.charCodeAt(n);var v=65280>>8*a-s&255;for(g[0]&=~v,n=0;n<o;n++)g.push(d.charCodeAt(n));return g.push(188),Ct(this.doPrivate(new c(g)).toString(16),this.n.bitLength())},X.prototype.verify=function(t,e){if(null==(e=e.toLowerCase()).match(/^[0-9a-f]+$/))return!1;var i=G(e,16),n=this.n.bitLength();if(i.bitLength()>n)return!1;var r=this.doPublic(i).toString(16);if(r.length+3!=n/4)return!1;var o=Bt(r.replace(/^1f+00/,""));if(0==o.length)return!1;var s,a=o[0];return o[1]==(s=t,u.crypto.Util.hashString(s,a))},X.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=G(e,16);if(i.bitLength()>this.n.bitLength())return 0;var n=Bt(this.doPublic(i).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==t)},X.prototype.verifyPSS=function(t,e,i,n){var r=function(t){return u.crypto.Util.hashHex(t,i)}(ot(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(r,e,i,n)},X.prototype.verifyWithMessageHashPSS=function(t,e,i,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r,o=new c(e,16),s=function(t){return u.crypto.Util.hashHex(t,i)},a=rt(t),l=a.length,h=this.n.bitLength()-1,d=Math.ceil(h/8);if(-1===n||void 0===n)n=l;else if(-2===n)n=d-l-2;else if(n<-2)throw new Error("invalid salt length");if(d<l+n+2)throw new Error("data too long");var p=this.doPublic(o).toByteArray();for(r=0;r<p.length;r+=1)p[r]&=255;for(;p.length<d;)p.unshift(0);if(188!==p[d-1])throw new Error("encoded message does not end in 0xbc");var A=(p=String.fromCharCode.apply(String,p)).substr(0,d-l-1),f=p.substr(A.length,l),g=65280>>8*d-h&255;if(0!=(A.charCodeAt(0)&g))throw new Error("bits beyond keysize not zero");var v=St(f,A.length,s),m=[];for(r=0;r<A.length;r+=1)m[r]=A.charCodeAt(r)^v.charCodeAt(r);m[0]&=~g;var y=d-l-n-2;for(r=0;r<y;r+=1)if(0!==m[r])throw new Error("leftmost octets not zero");if(1!==m[y])throw new Error("0x01 marker not found");return f===rt(s(ot("\0\0\0\0\0\0\0\0"+a+String.fromCharCode.apply(String,m.slice(-n)))))},X.SALT_LEN_HLEN=-1,X.SALT_LEN_MAX=-2,X.SALT_LEN_RECOVER=-2,Mt.hex2dn=function(t,e){void 0===e&&(e=0);var i=new Mt;return It.getTLV(t,e),i.getX500Name(t).str},Mt.hex2rdn=function(t,e){if(void 0===e&&(e=0),"31"!==t.substr(e,2))throw new Error("malformed RDN");for(var i=new Array,n=It.getChildIdx(t,e),r=0;r<n.length;r++)i.push(Mt.hex2attrTypeValue(t,n[r]));return(i=i.map((function(t){return t.replace("+","\\+")}))).join("+")},Mt.hex2attrTypeValue=function(t,e){var i=It,n=i.getV;if(void 0===e&&(e=0),"30"!==t.substr(e,2))throw new Error("malformed attribute type and value");var r=i.getChildIdx(t,e);2!==r.length||t.substr(r[0],2);var o=n(t,r[0]),s=u.asn1.ASN1Util.oidHexToInt(o);return u.asn1.x509.OID.oid2atype(s)+"="+rt(n(t,r[1]))},Mt.getPublicKeyFromCertHex=function(t){var e=new Mt;return e.readCertHex(t),e.getPublicKey()},Mt.getPublicKeyFromCertPEM=function(t){var e=new Mt;return e.readCertPEM(t),e.getPublicKey()},Mt.getPublicKeyInfoPropOfCertPEM=function(t){var e,i,n=It.getVbyList,r={};return r.algparam=null,(e=new Mt).readCertPEM(t),i=e.getPublicKeyHex(),r.keyhex=n(i,0,[1],"03").substr(2),r.algoid=n(i,0,[0,0],"06"),"2a8648ce3d0201"===r.algoid&&(r.algparam=n(i,0,[0,1],"06")),r},Mt.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];var Tt,Qt=[(Tt=new Mt,Tt.readCertPEM(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@\tPPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\\QN>Z\tN\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@ebN[bqx=ng?\tS^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFoFgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP\tP>}A^VP}Ex\bUZa=syDw}>Ya8wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr\tsof[wA}e{\\z}w[YDQ|dt=wC\tNvbRZ@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`N\0RXt^Z}vEpdC=\bY?=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac\tZ\tguf\bF]DCP?znNYf\tuaYu[`=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB\tD8{B>\\sPYbEU\tFQXz\0@`zsqgfD\0[WY\bPeZc}\t\0bx?Rfed}BUe|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YBY`Ffg=sY>{t<fu]xrFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=EnO}Pud8TA\t?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V\tOUwY=>X[\\E`tW[8}VwpFBQcnrPF}yUtd8<Doe_\b[oOVUep@pYY\0cegY{r\t?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<StX\tNx\0\b\t\0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V\tCVrRVtAAc[\tQp|d|tqoQ=T|XX\t=u\\N8XNCx\\aU>wz\tX<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ\tP\bZ\b\\YNNSZ_\\w^|TsD8db\t_\tY\\o^Cw>Z\0x\\^aN]wWf\bA}\tC^d_{ZC@\by]gY@E\tBFY?OsaqbDcVgQbZeFc\tovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z\tZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),Tt)];function Rt(t,e){var i=t.getIssuerHex();if(i===t.getSubjectHex())return t.verifySignature(t.getPublicKey());var n=function(t,e){for(var i=0,n=e;i<n.length;i++){var r=n[i];if(r.getSubjectHex()===t)return r}}(i,e);return!!n&&(!1!==t.verifySignature(n.getPublicKey())&&Rt(n,e))}function Dt(t){return t.getIssuerHex()!==t.getSubjectHex()&&Rt(t,Qt)}!function(t){var e=new Mt;"string"==typeof t?e.readCertPEM(t):e.readCertHex(t.hex);var i=Dt(e);Qt.push(e)}(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU\tPPONrtNVONtVWNW=_SVw\tVE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ\t[QSnS=\b[aNBZQZ\\aZ\t[QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tRbZOVTN>bRPtYoTyuoz}}f`Bwo?=RQN\\Ot[cONZO>Wyfd\tgdbRaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdyndB{^T}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F\tSAe`tn[t\tu\b8^a]qx\bE_^ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQFO=Yw\0_TePCOFV@|N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{]\tb=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r\tAo\0\tF`fdzCnRtq\br\t\b8eBp=Z\\TRaadc}@Eub`quuNqAdF\0aUay{}x>tgVz`\t_YBFwu_q?egt8v[o\x008\twTQcrA\t<z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw\tXDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYPdWV]OE^\bOFwA}<uXoO}_NDz8aonzWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT|\tOZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO\td_D}eBb?Uq^b\t[y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zUxOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`FyWadZcAD\tpeXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx\ta[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef`\t?^x>X}esa{>\\r?eE]CC_cZ[vQs\t\t>gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC>>gvb}ACd\t``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc\tXSq\t{\0DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy\tRNRg@NZCaaq8?`\t^`?ryD\t=obzw?E]Ou]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug8^f[YQAWad8FNqxFQE?ZOo\t}RnO\bsQc\txyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var kt,Nt=(kt="$$FIVE_EVENT$$","undefined"==typeof Symbol?"$Symbol<".concat(kt,">$"):Symbol(kt));function Ft(t){return t[Nt]||(t[Nt]={}),t[Nt]}var Ot=function(){function t(){}return t.prototype.hasListener=function(t){var e=Ft(this);return e&&e[t]&&e[t].length>0},t.prototype.on=function(t,e,i){var n=this,r=Ft(this);return r[t]||(r[t]=[]),r[t].push([e,i||!1]),function(){return n.off(t,e)}},t.prototype.once=function(t,e){return this.on(t,e,!0)},t.prototype.off=function(t,e){if(void 0!==t){var i,n=Ft(this);if(n[t]||(n[t]=[]),void 0!==e){for(var r=0;r<n[t].length&&n[t][r][0]!==e;r++);r<n[t].length&&n[t].splice(r,1)}else n[t].length=0}else(i=this)[Nt]||delete i[Nt]},t.prototype.emit=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=!1,r=Ft(this),o=r[t]||[],s=0,a=o.slice();s<a.length;s++){var u=a[s],l=u[0],h=u[1],c=void 0!==h&&h,d=l.apply(void 0,e);c&&this.off(t,l),!1===d&&(n=!0)}return n},t}();function Lt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]}var Vt="undefined"!=typeof performance&&void 0!==performance.timing?performance.timing.navigationStart:Date.now(),Ht="undefined"!=typeof performance?function(){return Vt+performance.now()}:function(){return Date.now()};function Kt(t){Object.freeze(t);var e="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach((function(n){!i.call(t,n)||e&&("caller"===n||"callee"===n||"arguments"===n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||Kt(t[n])})),t}var zt=/^([^.]+)(\.([^.]+))*$/;function qt(t){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(t)}function _t(t,e){return zt.test(t)&&zt.test(e)&&function(t,e){if("*"===t)return!0;var i=t.split(".").reverse(),n=e.split(".").reverse();if(i.length<=1)return t===e;for(var r=0;r<i.length;r++)if(i[r]!==n[r])return!1;return!0}(t,e)}var jt=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],Ut=Kt(JSON.parse(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}("h-/y|pnyu|/9-/xr;p|z/9-/yvn{wvn;p|z/9-/rnyrr;p|z/9-/rnyrr;p{/9-/uv;p|z/9-/uv;p{/9-/ywpq{;p|z/9-/pnyp{|qr;vr/9-/rnyrr;w}/9-/rnyrr:pq{;p|z/-j"))),Gt=function(t){function i(e,i,n){return t.call(this,"[NETWORK]: response error(type: ".concat(i,", reason: ").concat(n,"): ").concat(e))||this}return e.__extends(i,t),i}(Error),Wt=function(t){function i(e,i,n){var r=t.call(this,"[NETWORK]: response error(type: ".concat(i,", status: ").concat(n,"): ").concat(e))||this;return r.httpStatus=n,r}return e.__extends(i,t),i}(Error);!function(t){function i(e,i){return t.call(this,"[NETWORK]: request abort(type: ".concat(i,"): ").concat(e))||this}e.__extends(i,t)}(Error);var Xt=function(t){function i(e,i,n){return t.call(this,"[NETWORK]: request timeout(type: ".concat(i,", timeout: ").concat(n,"ms): ").concat(e))||this}return e.__extends(i,t),i}(Error);function Yt(t){for(var e=0,i=jt;e<i.length;e++){var n=i[e],r=t.match(n);if(r)return"jsonp_"+r[1]}return null}function Zt(t){return null!==Yt(t)}function Jt(t){return jt.reduce((function(t,e){return t.replace(e,"")}),t)}function $t(t){var e=t.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/);return e?e[2]:location.hostname}!function(t){function i(e,i,n){return t.call(this,"[NETWORK]: request forbidden(type: ".concat(i,", reason: ").concat(n,"): ").concat(e))||this}e.__extends(i,t)}(Error);var te=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(i,t),i}(Ot);function ee(t,e,i,n,r){return void 0===e&&(e={}),void 0===i&&(i=Lt),void 0===n&&(n=Lt),void 0===r&&(r=Lt),new Promise((function(o,s){var a,u=e.allowHosts?Ut.concat(e.allowHosts):Ut.slice(),l=$t(t),h=Yt(t);if(0!==location.hostname.length&&!qt(location.hostname)&&0===Ut.filter((function(t){return _t(t,location.hostname)})).length&&!qt(l)&&0===u.filter((function(t){return _t(t,l)})).length){var c=h?"Script":"XMLHttpRequest",d=new Gt(t,c,"request host(".concat(l,") is not allowed"));return n(d),s(d),void(null===(a=e.networkSubscribe)||void 0===a||a.emit("network",t,c,"forbidden",d.message))}if(h){var p=window,A=null,f=!1,g=Ht(),v=document.createElement("script");p[h]=function(r){var a,u,l=Ht(),c=l-g;if(delete p[h],v.parentNode&&v.parentNode.removeChild(v),null!==A&&(window.clearTimeout(A),A=null),!0!==f){if(0!==r.indexOf("data:")){var d=new Wt(t,"Script",500);return n(d),s(d),void(null===(a=e.networkSubscribe)||void 0===a||a.emit("network",t,"Script","error",d.message))}var m=r.split(","),y=(m[0].match(/:(.*?);/)||[])[1],b=m[1];if("arraybuffer"===e.responseType||"blob"===e.responseType){for(var w=atob(m[1]),x=w.length,E=new Uint8Array(x),I=0;I<x;I++)E[I]=w.charCodeAt(I);b="arraybuffer"===e.responseType?E.buffer:new Blob([E],{type:y})}var C={body:b,meta:{source:t,requestTime:g,responseTime:l,costs:c,headers:{}}};i(C),o(C),null===(u=e.networkSubscribe)||void 0===u||u.emit("network",t,"Script","ok",JSON.stringify(C.meta)),f=!0}},v.src=t,document.body.appendChild(v),"number"==typeof e.timeout&&(A=window.setTimeout((function(){var i;if(A=null,!0!==f){f=!0;var r=new Xt(t,"Script",e.timeout||NaN);n(r),s(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"Script","timeout",r.message)}}),e.timeout))}else{var m=Ht(),y=!1,b=new XMLHttpRequest,w=function(){b&&(b.removeEventListener("timeout",x,!1),b.removeEventListener("progress",E,!1),b.removeEventListener("load",I,!1),b.removeEventListener("error",C,!1)),b=null,w=Lt},x=function(){var i;if(!0!==y){y=!0,w();var r=new Xt(t,"XMLHttpRequest",e.timeout||NaN);n(r),s(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"XMLHttpRequest","timeout",r.message)}},E=function(t){!0!==y&&t.lengthComputable&&(t.total<=0||r(t.loaded/t.total))},I=function(n){var r;if(!0!==y){var s=this.status;if(0===s||s>=200&&s<400){y=!0,w();var a=Ht(),u=a-m,l=function(t){if(!t)return{};for(var e={},i=t.trim().split("\n"),n=0;n<i.length;n++){var r=i[n],o=r.indexOf(":"),s=r.slice(0,o).trim().toLowerCase(),a=r.slice(o+1).trim();a&&(e[s]?e[s]+=", "+a:e[s]=a)}return e}(this.getAllResponseHeaders()),h=n.total,c={body:this.response,meta:{source:t,requestTime:m,responseTime:a,costs:u,headers:l,size:h}};i(c),o(c),null===(r=e.networkSubscribe)||void 0===r||r.emit("network",t,"XMLHttpRequest","ok",JSON.stringify(c.meta))}else C.call(this)}},C=function(){var i;if(!0!==y){y=!0,w();var r=new Wt(t,"XMLHttpRequest",this.status);n(r),s(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"XMLHttpRequest","error",r.message)}};b.addEventListener("timeout",x,!1),b.addEventListener("progress",E,!1),b.addEventListener("load",I,!1),b.addEventListener("error",C,!1),e.responseType&&(b.responseType=e.responseType),"number"==typeof e.timeout&&(b.timeout=e.timeout),b.open("GET",t,!0),b.send(null)}}))}var ie={};function ne(t,e,i,n,r,o){return void 0===e&&(e={}),void 0===i&&(i=Lt),void 0===n&&(n=Lt),void 0===r&&(r=Lt),new Promise((function(s,a){var u,l=e.allowHosts?Ut.concat(e.allowHosts):Ut.slice(),h=$t(t);if(0!==location.hostname.length&&!qt(location.hostname)&&0===Ut.filter((function(t){return _t(t,location.hostname)})).length&&!qt(h)&&0===l.filter((function(t){return _t(t,h)})).length){var c=new Gt(t,"Image","request host(".concat(h,") is not allowed"));return n(c),a(c),void(null===(u=e.networkSubscribe)||void 0===u||u.emit("network",t,"Image","forbidden",c.message))}var d=null!=o?o:new Image,p=Ht(),A=!1,f=null;"number"==typeof e.timeout&&(f=window.setTimeout((function(){var i;if(d.onload=Lt,d.onerror=Lt,f=null,!0!==A){A=!0;var r=new Xt(t,"Image",e.timeout);n(r),a(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"Image","timeout",r.message)}}),e.timeout)),d.onload=function(){var n;if(d.onload=Lt,d.onerror=Lt,null!==f&&(clearTimeout(f),f=null),!0!==A){var o=Ht();A=!0;var a={body:d,meta:{headers:{},source:t,requestTime:p,responseTime:o,costs:o-p}};r(1),i(a),s(a),null===(n=e.networkSubscribe)||void 0===n||n.emit("network",t,"Image","ok",JSON.stringify(a.meta))}},d.onerror=function(){var i;if(d.onload=Lt,d.onerror=Lt,null!==f&&(clearTimeout(f),f=null),!0!==A){A=!0;var r=new Wt(t,"Image",0);n(r),a(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"Image","ok",r.message)}},r(0),d.src=t}))}var re=function(){if("undefined"!=typeof window){var t=window;return t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)}}return function(t){return setTimeout(t,16)}}(),oe=16,se=function(){function t(){this.frames=[],this.stoped=!1,this.time=Ht(),this.loop=this.loop.bind(this),this.loop()}return Object.defineProperty(t,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new t),this.sharedInstance},enumerable:!1,configurable:!0}),t.getFrameTime=function(){return oe},t.prototype.loop=function(){if(!this.stoped){var t=Ht(),e=t-this.time;this.time=t;var i=[];oe=e;for(var n=0,r=this.frames;n<r.length;n++){var o=r[n];if(o.delay>0)o.delay=o.delay-1;else{try{o.callback(t,e)}catch(t){console.error(t)}o.once&&i.push(o)}}i.length>0&&(this.frames=this.frames.filter((function(t){return-1===i.indexOf(t)}))),re(this.loop)}},t.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},t.prototype.add=function(t,e,i,n){var r=this;void 0===e&&(e=!1),void 0===i&&(i=0),void 0===n&&(n=5);var o={callback:t,once:e,delay:i,order:n};return this.frames.push(o),this.frames.sort((function(t,e){return t.order-e.order})),function(){return r.remove(o)}},t.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},t}(),ae="//vrlab-public.ljcdn.com/",ue="//vrlab-image[1-4].ljcdn.com/",le="//global-public.realsee-cdn.com/",he="//global-image-[1-4].realsee-cdn.com/";function ce(t,e){var i,n=t.split("?")[0],r=n.split(".").pop();if("jpeg"===r&&(r="jpg"),"png"!==r&&"jpg"!==r)return t;var o="";if(void 0!==e.format&&e.format!==r&&(o+="/format/".concat(e.format)),void 0!==e.cut&&(o+="/cut/".concat(e.cut[2],"x").concat(e.cut[3],"x").concat(e.cut[0],"x").concat(e.cut[1])),void 0!==e.quality){var s=null!==(i=e.format)&&void 0!==i?i:r;s&&["jpg","webp","tpg","heif","avif"].indexOf(s)>=0&&(o+="/quality/".concat(e.quality))}if(void 0!==e.size){var a=t.match(/\/cube_(\d+)\//);(a?Number(a[1]):NaN)!==Number(e.size)&&(o+="/thumbnail/".concat(e.size,"x"))}return void 0!==e.sharpen&&(o+="/sharpen/".concat(e.sharpen)),o.length&&(o="?imageMogr2"+o),n+o}function de(t,e){return t.indexOf(ae)>=0?(/\.basis(\?|$)/.test(t)&&!0!==e.basisLoaderInitialized&&(t=t.replace(/\.basis(\?|$)/,".jpg$1")),ce(function(t,e){var i=e.split("."),n=i[0],r=i.slice(1);if("texture"===n)return t.replace(ae,ue.replace("[1-4]","3"));if("pano"===n||"pano_luminance"===n)switch(r[0],r[1]){case"front":case"left":case"up":return t.replace(ae,ue.replace("[1-4]","1"));case"down":case"right":case"back":return t.replace(ae,ue.replace("[1-4]","2"))}else if("pano_tile"===n||"pano_tile_luminance"===n){r[0],r[1];var o=r[2],s=r[3],a=r[4],u=Math.pow(2,Number(o))*Number(s)+Number(a);if(!isNaN(u))return t.replace(ae,"//vr-tile-[1-2].realsee-cdn.com/".replace("[1-2]",String(u%2+1)))}return t.replace(ae,ue.replace("[1-4]","3"))}(t,e.key),e)):t.indexOf(le)>=0?(/\.basis(\?|$)/.test(t)&&!0!==e.basisLoaderInitialized&&(t=t.replace(/\.basis(\?|$)/,".jpg$1")),ce(function(t,e){var i=e.split("."),n=i[0],r=i.slice(1);if("texture"===n)return t.replace(le,he.replace("[1-4]","3"));if("pano"===n||"pano_luminance"===n)switch(r[0],r[1]){case"front":case"left":case"up":return t.replace(le,he.replace("[1-4]","1"));case"down":case"right":case"back":return t.replace(le,he.replace("[1-4]","2"))}else if("pano_tile"===n||"pano_tile_luminance"===n){r[0],r[1];var o=r[2],s=r[3],a=r[4],u=Math.pow(2,Number(o))*Number(s)+Number(a);if(!isNaN(u))return t.replace(le,"//global-tile-[1-2].realsee-cdn.com/".replace("[1-2]",String(u%2+1)))}return t.replace(le,he.replace("[1-4]","3"))}(t,e.key),e)):t.indexOf("//test-vr-public.realsee-cdn.com/")>=0?(/\.basis(\?|$)/.test(t)&&!0!==e.basisLoaderInitialized&&(t=t.replace(/\.basis(\?|$)/,".jpg$1")),ce((i=t,e.key,i.replace("//test-vr-public.realsee-cdn.com/","//test-vr-image.realsee-cdn.com/")),e)):t;var i}var pe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.floorIndex=0,e.needsRender=!0,e}return e.__extends(i,t),i}(r.Mesh),Ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.needsRender=!0,e.enableTransparent=!0,e}return e.__extends(i,t),i.prototype.getTransparent=function(){return this.enableTransparent},i.prototype.setTransparent=function(t){this.enableTransparent=t,this.traverse((function(e){e instanceof pe&&e.material.forEach((function(e){e.transparent=t}))}))},i.prototype.getMaterial=function(){var t=null;return this.traverse((function(e){if(null===t&&e instanceof pe){var i=e.material[0];t={pano0:i.pano0,pano1:i.pano1,modelAlpha:i.modelAlpha,progress:i.progress,useBlackTransition:i.useBlackTransition,perspToOrtho:i.perspToOrtho,opacity:i.opacity}}})),t},i.prototype.setMaterial=function(t){this.traverse((function(e){e instanceof pe&&e.material.forEach((function(e){void 0!==t.pano0&&(e.pano0=t.pano0),void 0!==t.pano1&&(e.pano1=t.pano1),void 0!==t.modelAlpha&&(e.modelAlpha=t.modelAlpha),void 0!==t.progress&&(e.progress=t.progress),void 0!==t.useBlackTransition&&(e.useBlackTransition=t.useBlackTransition),void 0!==t.perspToOrtho&&(e.perspToOrtho=t.perspToOrtho),void 0!==t.opacity&&(e.opacity=t.opacity)}))}))},i.prototype.disposeMaterial=function(){this.traverse((function(t){if(t instanceof pe){var e=[];t.material.forEach((function(t){var i=t.uniforms;Object.keys(i).map((function(t){if(/^pano\d\_/.test(t))i[t].value=null;else{var n=i[t].value;n&&"function"==typeof n.dispose&&-1===e.indexOf(n)&&(i[t].value=null,e.push(n))}})),t.dispose()})),e.forEach((function(t){return t.dispose()}))}}))},i.prototype.disposeGeometry=function(){this.traverse((function(t){t instanceof pe&&t.geometry.dispose()}))},i}(r.Group),fe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.floorIndex=0,e}return e.__extends(i,t),i}(Ae),ge=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}("{vs|z-rp@-z|qryPr{rH{vs|z-sy|n-}r}a|\\u|Hn\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rp@-|yq]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrrK0v{pyqr-I?l}nlrrK0v{pyqr-Ip|y|l}nlrrK|vq-znv{56-\n--0v{pyqr-IlrrK--0v{pyqr-I?lrrK--0v{pyqr-Ip|y|lrrK--0v{pyqr-Iortv{{|znylrrK--0v{pyqr-Iqrsny{|znylrrK--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--[|zny-J-{|znyv\tr5n{s|zrq[|zny6H--cvr]|vv|{-J-:z]|vv|{;\b\tH--|yq]|vv|{-J-5z|qryZnv-7-n{s|zrq6;\b\tH--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-n{s|zrqH--<<-修正正交相机模拟--rp@-pnzrn[|zny-J-5z|qrycvrZnv-7-rpA5=;=9-=;=9->;=9-=;=66;\b\tH--sy|n-|u|Qvn{pr-J-zn5=;=>9-q|5pnzrn[|zny9-z|qryPr{r-:-pnzrn]|vv|{66H--tyl]|vv|{;-J-zv5-tyl]|vv|{;9-tyl]|vv|{;-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H--tyl]|vv|{;\b-J-zv5-tyl]|vv|{;\b9-tyl]|vv|{;\b-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H\f"),ve=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-r}|rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6{vs|z-rp?-}n{|cvqr|lv\trH{vs|z-znA-}n{|cvqr|lznvH{vs|z-sy|n-}n{|cvqr|lny}unH{vs|z-nz}yr?Q-}n{|cvqr|lzn}H0r{qvsn\bv{t-rp@-|yq]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{Krp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--rpA-qvssrP|y|-J-rpA5qvssr;to9-|}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--<<-调整曝光值--vnqvn{pr-J-vnqvn{pr-7-r}|rH--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--<<-减少方向光对模型的影响--rp@-|t|v{tYvtu-J-5rsyrprqYvtu;qvrpQvssr-7-=;?6-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\b\t9-qvssrP|y|;n6H--\f--rp@-}n{|=a|crr-J-5|yq]|vv|{-:-}n{|=lznvh@j;\b\t6-7-zn@5}n{|=lznv6H--rp@-}n{|>a|crr-J-5|yq]|vv|{-:-}n{|>lznvh@j;\b\t6-7-zn@5}n{|>lznv6H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-rrPor5}n{|=lzn}9-}n{|=a|crr6H--rpA-}n{|>P|y|-J-rrPor5}n{|>lzn}9-}n{|>a|crr6H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-rrPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr6;H----}n{|>P|y|;n-J->;=-:-rrPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr6;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6-<-aNb-7-?;=H----}n{|P|y|-J-zv5}n{|=P|y|9-OYNPXlP\\Y\\_9-pynz}5oynpx]|tr-7-@;=9-=;=9->;=66H----}n{|P|y|-J-zv5}n{|P|y|9-}n{|>P|y|9-pynz}5oynpx]|tr-7-@;=-:-?;=9-=;=9->;=66H--0ryr----}n{|P|y|-J-zv5}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6----rp@-pnzrna|crr-J-|yq]|vv|{-:-pnzrn]|vv|{H----rpA-zn}P||q-J-rpA5pnzrna|crr9->;=6-7-}n{|cvqr|lznvH----rp?--J-rp?5------=;B-8-zn}P||q;-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;9------=;B-:-zn}P||q;\b-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;\b----6H----rpA-vqr|P|y|-J-rr?Q5}n{|cvqr|lzn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q;\t66-7-5>;=-:-r}5=;B9-no5;-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv5}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|lny}un6H--0r{qvs--tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b6H--tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H\f");function me(){return"undefined"==typeof document?{}:document.createElementNS("http://www.w3.org/1999/xhtml","img")}var ye=me();ye.width=ye.height=8;var be=new r.Texture(ye);be.name="EMPTY_TEXTURE";var we=new r.CubeTexture([ye,ye,ye,ye,ye,ye]);we.name="EMPTY_CUBE_TEXTURE",be.dispose=we.dispose=function(){};var xe=Object.assign({modelAlpha:new r.Uniform(0),progress:new r.Uniform(0),pano0_map:new r.Uniform(we),pano0_luminanceMap:new r.Uniform(null),pano0_matrix:new r.Uniform(new r.Matrix4),pano1_map:new r.Uniform(we),pano1_luminanceMap:new r.Uniform(null),pano1_matrix:new r.Uniform(new r.Matrix4),modelCenter:new r.Uniform(new r.Vector3),perspToOrtho:new r.Uniform(0)},{exposure:new r.Uniform(1),emissive:new r.Uniform(new r.Color(0)),emissiveMap:new r.Uniform(null),specular:new r.Uniform(new r.Color(1118481)),specularMap:new r.Uniform(null),normalMap:new r.Uniform(null),bumpMap:new r.Uniform(null),shininess:new r.Uniform(30)},r.UniformsLib.common,r.UniformsLib.lights),Ee=function(t){function i(e){void 0===e&&(e={});var i,n,o,s,a,u,l,h=this;return h=t.call(this,{vertexShader:ge,fragmentShader:ve,uniforms:r.UniformsUtils.clone(xe),defines:{USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1},blending:r.NoBlending,lights:!0})||this,Object.defineProperties(h,{pano0:{get:function(){return this.uniforms.pano0_map.value===we?null:{map:this.uniforms.pano0_map.value,luminanceMap:this.uniforms.pano0_luminanceMap.value,matrix:this.uniforms.pano0_matrix.value.clone()}},set:function(t){null===t?(this.uniforms.pano0_map.value=we,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity()):(this.uniforms.pano0_map.value=t.map,this.uniforms.pano0_luminanceMap.value=t.luminanceMap,this.uniforms.pano0_matrix.value.copy(t.matrix));var e=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==e&&(this.defines.USE_LUMINANCE=e,this.needsUpdate=!0)}},pano1:{get:function(){return this.uniforms.pano1_map.value===we?null:{map:this.uniforms.pano1_map.value,luminanceMap:this.uniforms.pano1_luminanceMap.value,matrix:this.uniforms.pano1_matrix.value.clone()}},set:function(t){null===t?(this.uniforms.pano1_map.value=we,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity()):(this.uniforms.pano1_map.value=t.map,this.uniforms.pano1_luminanceMap.value=t.luminanceMap,this.uniforms.pano1_matrix.value.copy(t.matrix));var e=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==e&&(this.defines.USE_LUMINANCE=e,this.needsUpdate=!0)}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(t){this.uniforms.modelAlpha.value=t}},progress:{get:function(){return this.uniforms.progress.value},set:function(t){this.uniforms.progress.value=t}},useBlackTransition:{get:function(){return this.defines.USE_BLACK_TRANSITION},set:function(t){this.defines.USE_BLACK_TRANSITION!==t&&(this.defines.USE_BLACK_TRANSITION=t,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(t){this.uniforms.opacity.value=t;var e=t<1?r.NormalBlending:r.NoBlending;e!==this.blending&&(this.blending=e,this.needsUpdate=!0)}},perspToOrtho:{get:function(){return this.uniforms.perspToOrtho.value},set:function(t){this.uniforms.perspToOrtho.value=t}}}),h.pano0=null!==(i=e.pano0)&&void 0!==i?i:null,h.pano1=null!==(n=e.pano1)&&void 0!==n?n:null,h.modelAlpha=null!==(o=e.modelAlpha)&&void 0!==o?o:1,h.progress=null!==(s=e.progress)&&void 0!==s?s:0,h.useBlackTransition=null!==(a=e.useBlackTransition)&&void 0!==a&&a,h.perspToOrtho=null!==(u=e.perspToOrtho)&&void 0!==u?u:0,h.opacity=null!==(l=e.opacity)&&void 0!==l?l:1,h.originOpacity=1,h}return e.__extends(i,t),i}(r.ShaderMaterial),Ie=function(t){function i(e){var i=e.preserveDrawingBuffer,n=void 0===i||i,o=e.backgroundColor,s=void 0===o?1579548:o,a=e.backgroundAlpha,u=void 0===a?1:a,l=e.pixelRatio,h=void 0===l?1:l,c=e.antialias,d=void 0!==c&&c,p=t.call(this,{antialias:d,preserveDrawingBuffer:n,alpha:u<1})||this;return p.setPixelRatio(h),p.setClearColor(s,u),p.outputEncoding=r.sRGBEncoding,p.autoClear=!0,p}return e.__extends(i,t),i}(r.WebGLRenderer),Ce=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(i,t),i.prototype.add=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.add.apply(this,e)},i.prototype.remove=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.remove.apply(this,e)},i}(r.Scene);var Se=2*Math.PI,Be=Math.PI/2;function Me(t){return t>0&&t<=Se?t:(t%Se+Se)%Se}var Pe,Te,Qe,Re,De=function(t){function i(e){var i=t.call(this,e,1,.1,1e3)||this;return i.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new r.Vector3},i.computePose(),i}return e.__extends(i,t),i.prototype.computePose=function(){var t=this.getWorldDirection(new r.Vector3);return this.pose.longitude=Me(-Math.atan2(t.x,-t.z)),this.pose.latitude=-Math.asin(t.y/1),this.pose.fov=this.fov,this.pose.distance=0,this.pose.offset.copy(this.position),this},i.prototype.setFromPose=function(t){var e,i,n,o,s,a=Me(null!==(e=t.longitude)&&void 0!==e?e:this.pose.longitude),u=Math.max(1e-4-Be,Math.min(Be-1e-4,null!==(i=t.latitude)&&void 0!==i?i:this.pose.latitude)),l=null!==(n=t.fov)&&void 0!==n?n:this.pose.fov,h=null!==(o=t.distance)&&void 0!==o?o:this.pose.distance,c=null!==(s=t.offset)&&void 0!==s?s:this.pose.offset,d=function(t){var e=Math.abs(Math.cos(t.latitude));return new r.Vector3(-Math.sin(t.longitude)*e,-Math.sin(t.latitude),-Math.cos(t.longitude)*e)}({longitude:a,latitude:u}).normalize();return this.position.set(0,0,0),this.lookAt(d),this.position.add(c).sub(d.clone().setLength(h)),this.fov!==l&&(this.fov=l,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=a,this.pose.latitude=u,this.pose.fov=l,this.pose.distance=h,this.pose.offset.copy(c),this},i.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},i}(r.PerspectiveCamera),ke=function(){function t(t,e,i){this.x=t,this.y=e,this.z=i}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},t.prototype.fromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},t.prototype.cross=function(t){var e=this.x,i=this.y,n=this.z;return this.x=i*t.z-n*t.y,this.y=n*t.x-e*t.z,this.z=e*t.y-i*t.x,this},t.prototype.crossVectors=function(t,e){var i=t.x,n=t.y,r=t.z,o=e.x,s=e.y,a=e.z;return this.x=n*a-r*s,this.y=r*o-i*a,this.z=i*s-n*o,this},t.prototype.clone=function(){return new t(this.x,this.y,this.z)},t}(),Ne=function(t,e,i){this.extents=t,this.startIndex=e,this.endIndex=i},Fe=function(t,e){this.triangle=t,this.intersectionPoint=e},Oe=(Pe=new ke(0,0,0),Te=new ke(0,0,0),Qe=new ke(0,0,0),Re=new ke(0,0,0),function(t,e,i,n,r,o){Te.subVectors(e,t),Qe.subVectors(i,t),Re.crossVectors(Te,Qe);var s,a=r.dot(Re);if(a>0){if(o)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Pe.subVectors(n,t);var u=s*r.dot(Qe.crossVectors(Pe,Qe));if(u<0)return null;var l=s*r.dot(Te.cross(Pe));if(l<0)return null;if(u+l>a)return null;var h=-s*Pe.dot(Re);if(h<0)return null;var c=h/a;return new ke(0,0,0).copy(r).multiplyScalar(c).add(n)}),Le=function(t,e){this.min=t,this.max=e};function Ve(t,e,i){var n=new Le(0,0);e.x>=0?(n.min=(i.extents[0]-t.x)*e.x,n.max=(i.extents[3]-t.x)*e.x):(n.min=(i.extents[3]-t.x)*e.x,n.max=(i.extents[0]-t.x)*e.x);var r=new Le(0,0);if(e.y>=0?(r.min=(i.extents[1]-t.y)*e.y,r.max=(i.extents[4]-t.y)*e.y):(r.min=(i.extents[4]-t.y)*e.y,r.max=(i.extents[1]-t.y)*e.y),n.min>r.max||r.min>n.max)return!1;r.min>n.min&&(n.min=r.min),r.max<n.max&&(n.max=r.max);var o=new Le(0,0);return e.z>=0?(o.min=(i.extents[2]-t.z)*e.z,o.max=(i.extents[5]-t.z)*e.z):(o.min=(i.extents[5]-t.z)*e.z,o.max=(i.extents[2]-t.z)*e.z),!(n.min>o.max||o.min>n.max)&&(o.min>n.min&&(n.min=o.min),o.max<n.max&&(n.max=o.max),!(n.max<0))}function He(t,e,i,n,r){if(i>=n)return[0,0,0,0,0,0];for(var o=1/0,s=1/0,a=1/0,u=-1/0,l=-1/0,h=-1/0,c=i,d=void 0,p=void 0;c<n;c++)(p=e[d=6*t[c]])<o&&(o=p),(p=e[d+1])<s&&(s=p),(p=e[d+2])<a&&(a=p),(p=e[d+3])>u&&(u=p),(p=e[d+4])>l&&(l=p),(p=e[d+5])>h&&(h=p);return[o-r,s-r,a-r,u+r,l+r,h+r]}var Ke=function(){function t(){}return t.prototype.create=function(t){return this.trianglesArray=t,this},t.prototype.splitNode=function(t){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");for(var e=this.trianglesArray,i=e.length/9,n=new Uint32Array(i),r=new Float32Array(6*i),o=[],s=1/0,a=1/0,u=1/0,l=-1/0,h=-1/0,c=-1/0,d=0,p=0,A=0,f=void 0,g=void 0,v=void 0,m=void 0,y=void 0,b=void 0,w=void 0;d<i;d++,p+=6,A+=9)n[d]=d,f=m=e[A],(w=e[A+3])<f&&(f=w),w>m&&(m=w),(w=e[A+6])<f&&(f=w),w>m&&(m=w),g=y=e[A+1],(w=e[A+4])<g&&(g=w),w>y&&(y=w),(w=e[A+7])<g&&(g=w),w>y&&(y=w),v=b=e[A+2],(w=e[A+5])<v&&(v=w),w>b&&(b=w),(w=e[A+8])<v&&(v=w),w>b&&(b=w),f<s&&(s=f),m>l&&(l=m),g<a&&(a=g),y>h&&(h=y),v<u&&(u=v),b>c&&(c=b),r[p]=f,r[p+1]=g,r[p+2]=v,r[p+3]=m,r[p+4]=y,r[p+5]=b;var x,E=new Ne([s,a,u,l,h,c],0,i);function I(e){for(var i=e.startIndex,s=e.endIndex,a=e.extents,u=[a[3]-a[0],a[4]-a[1],a[5]-a[2]],l=[0,1,2].sort((function(t,e){return u[e]-u[t]})),h=0;h<3;h++){for(var c=l[h],d=a[c]+a[c+3],p=i,A=s-1,f=-1,g=void 0;p<=A;)-1===f?(g=n[p],r[6*g+c]+r[6*g+c+3]<d?p++:f=g):(g=n[A],r[6*g+c]+r[6*g+c+3]>=d||(n[p]=g,n[A]=f,f=-1,p++),A--);if(p>i&&p<s){var v=new Ne(He(n,r,i,p,1e-6),i,p);v.endIndex-v.startIndex>t&&o.push(v);var m=new Ne(He(n,r,p,s,1e-6),p,s);m.endIndex-m.startIndex>t&&o.push(m),e.node0=v,e.node1=m,e.startIndex=0,e.endIndex=0;break}}}for(o.push(E);x=o.pop();)I(x);return this.offsetArray=n,this.rootNode=E,this},t.prototype.intersectRay=function(t,e,i){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");if(!this.rootNode||!this.offsetArray)throw new Error("bvh-tree never perpared. call `splitNode` to perpare.");for(var n,r=this.trianglesArray,o=this.offsetArray,s=this.rootNode,a=[],u=[],l=new ke(1/e.x,1/e.y,1/e.z),h=[s];n=h.pop();)if(Ve(t,l,n)){n.node0&&h.push(n.node0),n.node1&&h.push(n.node1);for(var c=n.startIndex;c<n.endIndex;c++)a.push(o[c])}for(var d=new ke(0,0,0),p=new ke(0,0,0),A=new ke(0,0,0),f=new ke(t.x,t.y,t.z),g=new ke(e.x,e.y,e.z),v=(c=0,void 0),m=a.length;c<m;c++){v=9*a[c],d.x=r[v],d.y=r[v+1],d.z=r[v+2],p.x=r[v+3],p.y=r[v+3+1],p.z=r[v+3+2],A.x=r[v+6],A.y=r[v+6+1],A.z=r[v+6+2];var y=Oe(d,p,A,f,g,i);y&&u.push(new Fe([d.clone(),p.clone(),A.clone()],y))}return u},t.prototype.dispose=function(){delete this.offsetArray,delete this.rootNode},t}(),ze=null,qe=!1,_e=[];function je(t){if(void 0===t&&(t=!1),t||!qe)if(ze)qe=!1;else{qe=!0;var e=_e.shift();if(e){try{e()}catch(t){}se.shared.add((function(){return je(!0)}),!0,2)}else qe=!1}}function Ue(){ze=null,je()}function Ge(t){return new Promise((function(e,i){_e.push((function(){try{e(t())}catch(t){i(t)}})),je()}))}function We(){var t={OutWindow:function(){this._windowSize=0}};return t.OutWindow.prototype.create=function(t){this._buffer&&this._windowSize===t||(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},t.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(0!==t){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},t.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},t.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},t.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},t.OutWindow.prototype.copyBlock=function(t,e){var i=this._pos-t-1;for(i<0&&(i+=this._windowSize);e--;)i>=this._windowSize&&(i=0),this._buffer[this._pos++]=this._buffer[i++],this._pos>=this._windowSize&&this.flush()},t.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},t.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},t.RangeDecoder=function(){},t.RangeDecoder.prototype.setStream=function(t){this._stream=t},t.RangeDecoder.prototype.releaseStream=function(){this._stream=null},t.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},t.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e,i=0,n=t;n--;)this._range>>>=1,e=this._code-this._range>>>31,this._code-=this._range&e-1,i=i<<1|1-e,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return i},t.RangeDecoder.prototype.decodeBit=function(t,e){var i=t[e],n=(this._range>>>11)*i;return(2147483648^this._code)<(2147483648^n)?(this._range=n,t[e]+=2048-i>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=n,this._code-=n,t[e]-=i>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},t.initBitModels=function(t,e){for(;e--;)t[e]=1024},t.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},t.BitTreeDecoder.prototype.init=function(){t.initBitModels(this._models,1<<this._numBitLevels)},t.BitTreeDecoder.prototype.decode=function(t){for(var e=1,i=this._numBitLevels;i--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},t.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e,i=1,n=0,r=0;r<this._numBitLevels;++r)i=i<<1|(e=t.decodeBit(this._models,i)),n|=e<<r;return n},t.reverseDecode2=function(t,e,i,n){for(var r,o=1,s=0,a=0;a<n;++a)o=o<<1|(r=i.decodeBit(t,e+o)),s|=r<<a;return s},t.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new t.BitTreeDecoder(8),this._numPosStates=0},t.LenDecoder.prototype.create=function(e){for(;this._numPosStates<e;++this._numPosStates)this._lowCoder[this._numPosStates]=new t.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new t.BitTreeDecoder(3)},t.LenDecoder.prototype.init=function(){var e=this._numPosStates;for(t.initBitModels(this._choice,2);e--;)this._lowCoder[e].init(),this._midCoder[e].init();this._highCoder.init()},t.LenDecoder.prototype.decode=function(t,e){return 0===t.decodeBit(this._choice,0)?this._lowCoder[e].decode(t):0===t.decodeBit(this._choice,1)?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},t.Decoder2=function(){this._decoders=[]},t.Decoder2.prototype.init=function(){t.initBitModels(this._decoders,768)},t.Decoder2.prototype.decodeNormal=function(t){var e=1;do{e=e<<1|t.decodeBit(this._decoders,e)}while(e<256);return 255&e},t.Decoder2.prototype.decodeWithMatchByte=function(t,e){var i,n,r=1;do{if(i=e>>7&1,e<<=1,r=r<<1|(n=t.decodeBit(this._decoders,(1+i<<8)+r)),i!==n){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}}while(r<256);return 255&r},t.LiteralDecoder=function(){},t.LiteralDecoder.prototype.create=function(e,i){var n;if(!this._coders||this._numPrevBits!==i||this._numPosBits!==e)for(this._numPosBits=e,this._posMask=(1<<e)-1,this._numPrevBits=i,this._coders=[],n=1<<this._numPrevBits+this._numPosBits;n--;)this._coders[n]=new t.Decoder2},t.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},t.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((255&e)>>>8-this._numPrevBits)]},t.Decoder=function(){this._outWindow=new t.OutWindow,this._rangeDecoder=new t.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new t.BitTreeDecoder(4),this._lenDecoder=new t.LenDecoder,this._repLenDecoder=new t.LenDecoder,this._literalDecoder=new t.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new t.BitTreeDecoder(6),this._posSlotDecoder[1]=new t.BitTreeDecoder(6),this._posSlotDecoder[2]=new t.BitTreeDecoder(6),this._posSlotDecoder[3]=new t.BitTreeDecoder(6)},t.Decoder.prototype.setDictionarySize=function(t){return!(t<0)&&(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},t.Decoder.prototype.setLcLpPb=function(t,e,i){var n=1<<i;return!(t>8||e>4||i>4)&&(this._literalDecoder.create(e,t),this._lenDecoder.create(n),this._repLenDecoder.create(n),this._posStateMask=n-1,!0)},t.Decoder.prototype.init=function(){var e=4;for(this._outWindow.init(!1),t.initBitModels(this._isMatchDecoders,192),t.initBitModels(this._isRep0LongDecoders,192),t.initBitModels(this._isRepDecoders,12),t.initBitModels(this._isRepG0Decoders,12),t.initBitModels(this._isRepG1Decoders,12),t.initBitModels(this._isRepG2Decoders,12),t.initBitModels(this._posDecoders,114),this._literalDecoder.init();e--;)this._posSlotDecoder[e].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},t.Decoder.prototype.decode=function(e,i,n){var r,o,s,a,u,l,h=0,c=0,d=0,p=0,A=0,f=0,g=0;for(this._rangeDecoder.setStream(e),this._outWindow.setStream(i),this.init();n<0||f<n;)if(r=f&this._posStateMask,0===this._rangeDecoder.decodeBit(this._isMatchDecoders,(h<<4)+r))o=this._literalDecoder.getDecoder(f++,g),g=h>=7?o.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(c)):o.decodeNormal(this._rangeDecoder),this._outWindow.putByte(g),h=h<4?0:h-(h<10?3:6);else{if(1===this._rangeDecoder.decodeBit(this._isRepDecoders,h))s=0,0===this._rangeDecoder.decodeBit(this._isRepG0Decoders,h)?0===this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(h<<4)+r)&&(h=h<7?9:11,s=1):(0===this._rangeDecoder.decodeBit(this._isRepG1Decoders,h)?a=d:(0===this._rangeDecoder.decodeBit(this._isRepG2Decoders,h)?a=p:(a=A,A=p),p=d),d=c,c=a),0===s&&(s=2+this._repLenDecoder.decode(this._rangeDecoder,r),h=h<7?8:11);else if(A=p,p=d,d=c,s=2+this._lenDecoder.decode(this._rangeDecoder,r),h=h<7?7:10,(u=this._posSlotDecoder[s<=5?s-2:3].decode(this._rangeDecoder))>=4){if(c=(2|1&u)<<(l=(u>>1)-1),u<14)c+=t.reverseDecode2(this._posDecoders,c-u-1,this._rangeDecoder,l);else if(c+=this._rangeDecoder.decodeDirectBits(l-4)<<4,(c+=this._posAlignDecoder.reverseDecode(this._rangeDecoder))<0){if(-1===c)break;return!1}}else c=u;if(c>=f||c>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(c,s),f+=s,g=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},t.Decoder.prototype.setDecoderProperties=function(t){var e,i,n,r,o;return!(t.size<5)&&(i=(e=t.readByte())%9,n=(e=~~(e/9))%5,r=~~(e/5),!!this.setLcLpPb(i,n,r)&&(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=16777216*t.readByte(),this.setDictionarySize(o)))},t.decompress=function(e,i,n,r){var o=new t.Decoder;if(!o.setDecoderProperties(e))throw"Incorrect stream properties";if(!o.decode(i,n,r))throw"Error in data stream";return!0},t.decompressFile=function(e,i){var n,r=new t.Decoder;if(!r.setDecoderProperties(e))throw"Incorrect stream properties";if(n=e.readByte(),n|=e.readByte()<<8,n|=e.readByte()<<16,n+=16777216*e.readByte(),e.readByte(),e.readByte(),e.readByte(),e.readByte(),!r.decode(e,i,n))throw"Error in data stream";return!0},t}var Xe=We();var Ye="\nvar decodeLZMA = (function() {\n var LZMA = (".concat(We.toString(),")();\n return function(data, callback) {\n return (").concat(function(t,e,i){try{var n={data:e,offset:0,readByte:function(){return this.data[this.offset++]}},r=n.data.length,o={data:[],offset:0,writeByte:function(t){var e=Math.floor(this.offset/r);this.data[e]||(this.data[e]=new Uint8Array(r)),this.data[e][this.offset%r]=t,this.offset++}};t.decompressFile(n,o);for(var s=new Uint8Array(o.offset),a=0;a<o.offset;a++)s[a]=o.data[Math.floor(a/r)][a%r];i(null,s)}catch(t){i(t)}}.toString(),")(LZMA, data, callback);\n }\n})();\n\nvar decodeLZMAWithWASM = (function() {\n var LZMA_WASM = (").concat(function(){return function(t){for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(256),n=0;n<e.length;n++)i[e.charCodeAt(n)]=n;var r,o,s,a,u,l=.75*t.length,h=t.length,c=0;"="===t[t.length-1]&&(l--,"="===t[t.length-2]&&l--);var d=new ArrayBuffer(l),p=new Uint8Array(d);for(r=0;r<h;r+=4)o=i[t.charCodeAt(r)],s=i[t.charCodeAt(r+1)],a=i[t.charCodeAt(r+2)],u=i[t.charCodeAt(r+3)],p[c++]=o<<2|s>>4,p[c++]=(15&s)<<4|a>>2,p[c++]=(3&a)<<6|63&u;return d}("AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EYdCAFQQh2cjYCACAAQQxqIAFBD2ooAgAiBUEYdCADQQh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsLCyACQRBxBEAgACABIgMtAAA6AAAgAEEBaiIBIAEgA0EBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEIcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEEcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAALIAJBAnEEQCAAIAEtAAA6AAAgAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAACyACQQFxBEAgACABLQAAOgAACwvVAgECfyAAIAFGBEAPCyABIAJqIABNIgNFBEAgACACaiABTSEDCyADBEAgACABIAIQGw8LIAAgAUkEQCABQQdxIABBB3FGBEADQCAAQQdxBEAgAkUEQA8LIAJBAWshAiAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAMAQsLA0AgAkEITwRAIAAgASkDADcDACACQQhrIQIgAEEIaiEAIAFBCGohAQwBCwsLA0AgAgRAIAAiBEEBaiEAIAEiA0EBaiEBIAQgAy0AADoAACACQQFrIQIMAQsLBSABQQdxIABBB3FGBEADQCAAIAJqQQdxBEAgAkUEQA8LIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwNAIAJBCE8EQCACQQhrIgIgAGogASACaikDADcDAAwBCwsLA0AgAgRAIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwsL4AoBCH8gACgCACIGIgQoAgAgBCgCBGovAQgiCCABIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAhrQf//A3FBBXYgCGohCCAHIAQ2AgxBAAUgCCAIQf//A3FBBXZrIQggByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyAGKAIEIAYoAgBqIAg7AQggByIFKAIMIwJJBEAgBSAFKAIMQQh0NgIMIAUoAhBBCHQhByAFKAIAIQYgBSAFKAIIIglBAWo2AgggBSAGIAkQEUH/AXEgB3I2AhALQf//A3FFBEAgAiAAKAIEKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEDIAEhBEEBIQgDQCAKIAMoAgRJBEAgAygCACIHKAIAIQEgBCgCECAHKAIEIAgiBUEBdCIIIAFqai8BCCIGIAQoAgxBC3ZsIglJBH9BgBAgBmtB//8DcUEFdiAGaiEGIAQgCTYCDEEABSAGIAZB//8DcUEFdmshBiAEIAQoAhAgCWs2AhAgBCAEKAIMIAlrNgIMQQELIAcoAgQgBygCACAFQQF0amogBjsBCCAEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhACAEKAIAIQUgBCAEKAIIIgFBAWo2AgggBCAFIAEQEUH/AXEgAHI2AhALQf//A3EgCGohCCAKQQFqIQoMAQsLIAhBASADKAIEdGsPCyAAKAIAIgooAgAhCCAFKAIQIAooAgQgCEECamovAQgiBCABKAIMQQt2bCIDSQR/IAUgAzYCDEEAIQlBgBAgBGtB//8DcUEFdiAEagUgBSAFKAIQIANrNgIQIAUgBSgCDCADazYCDEEBIQkgBCAEQf//A3FBBXZrCyEEIAoiBygCBCAHKAIAQQJqaiAEOwEIIAUiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQUgBigCACEHIAYgBigCCCIIQQFqNgIIIAYgByAIEBFB/wFxIAVyNgIQCyAJQf//A3FFBEAgAiAAKAIIKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEJIAEhA0EBIQRBACECA0AgAiAJKAIESQRAIAMoAhAgCSgCACIFKAIEIAQiBkEBdCIEIAUoAgBqai8BCCIHIAMoAgxBC3ZsIghJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAMgCDYCDEEABSAHIAdB//8DcUEFdmshByADIAMoAhAgCGs2AhAgAyADKAIMIAhrNgIMQQELIAUoAgQgBSgCACAGQQF0amogBzsBCCADKAIMIwJJBEAgAyADKAIMQQh0NgIMIAMoAhBBCHQhBSADKAIAIQcgAyADKAIIIgZBAWo2AgggAyAHIAYQEUH/AXEgBXI2AhALQf//A3EgBGohBCACQQFqIQIMAQsLIARBASAJKAIEdGtBCGoPCyAAKAIMIQQgASEDQQEhCUEAIQIDQCACIAQoAgRJBEAgBCgCACIIKAIAIQogAygCECAIKAIEIAogCSIHQQF0IgFqai8BCCIFIAMoAgxBC3ZsIgZJBH8gAyAGNgIMQQAhBkGAECAFa0H//wNxQQV2IAVqBSADIAMoAhAgBms2AhAgAyADKAIMIAZrNgIMQQEhBiAFIAVB//8DcUEFdmsLIQUgCCgCBCAIKAIAIAdBAXRqaiAFOwEIIAMoAgwjAkkEQCADIAMoAgxBCHQ2AgwgAygCEEEIdCEAIAMoAgAhBSADIAMoAggiCkEBajYCCCADIAUgChARQf8BcSAAcjYCEAsgBkH//wNxIAFqIQkgAkEBaiECDAELCyAJQQEgBCgCBHRrQRBqC5YCAQh/QQEhBwNAAkAgBiABTg0AIAIoAhAgACgCBCAAKAIAIAMgB2oiCUEBdGpqLwEIIgQgAigCDEELdmwiBUkEfyACIAU2AgxBACEFQYAQIARrQf//A3FBBXYgBGoFIAIgAigCECAFazYCECACIAIoAgwgBWs2AgxBASEFIAQgBEH//wNxQQV2awshBCAAKAIEIAAoAgAgCUEBdGpqIAQ7AQggAiIEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhCiAEKAIAIQsgBCAEKAIIIglBAWo2AgggBCALIAkQEUH/AXEgCnI2AhALIAVB//8DcSIEIAdBAXRqIQcgBCAGdCAIciEIIAZBAWohBgwBCwsgCAvwBAEIf0EDIAEgAUEDSxsiAiAAKAIkKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACyEEIAAoAgQhAkEBIQEDQCAHIAQoAgRJBEAgBCgCACIFKAIAIQMgAigCECAFKAIEIAFBAXQiCSADamovAQgiAyACKAIMQQt2bCIGSQR/IAIgBjYCDEEAIQhBgBAgA2tB//8DcUEFdiADagUgAiACKAIQIAZrNgIQIAIgAigCDCAGazYCDEEBIQggAyADQf//A3FBBXZrCyEDIAUoAgQgBSgCACABQQF0amogAzsBCCACKAIMIwJJBEAgAiACKAIMQQh0NgIMIAIoAhBBCHQhBiACKAIAIQUgAiACKAIIIgNBAWo2AgggAiAFIAMQEUH/AXEgBnI2AhALIAhB//8DcSAJaiEBIAdBAWohBwwBCwsgAUEBIAQoAgR0ayIBQQRJBEAgAQ8LIAFBAXFBAnIgAUEBdkEBayICdCEDIAFBDkkEfyAAKAIsIAIgACgCBCADIAFrEB4gA2oFIAAoAgQhASACQQRrIQJBACEEA0AgASABKAIMQQF2NgIMIAEgASgCECABKAIMazYCECABIAEoAhBBACABKAIQQR92ayIHIAEoAgxxajYCECABKAIQIAEoAgxGBEAgAUEBOgAECyABKAIMIwJJBEAgASABKAIMQQh0NgIMIAEoAhBBCHQhBSABKAIAIQggASABKAIIIgZBAWo2AgggASAIIAYQEUH/AXEgBXI2AhALIAdBAWogBEEBdGohBCACQQFrIgINAAsgBEEEdCADaiAAKAIoIgQoAgAgBCgCBCAAKAIEQQAQHmoLC9AcAQ9/IAAQGiAAKAIEIgdBADoABCAHKAIAIAcgBygCCCIDQQFqNgIIIAMQEUH/AXEEQCAHQQE6AAQLIAdBfzYCDCAHQQA2AhBBACEDA0AgA0EESARAIAcoAhBBCHQhBSAHKAIAIQwgByAHKAIIIghBAWo2AgggByAMIAgQEUH/AXEgBXI2AhAgA0EBaiEDDAELCyAHKAIQIAcoAgxGBEAgB0EBOgAECyABBEAgACgCCCACEA82AgQFIAAoAghBBBAPNgIEC0EAIQwDQAJAIAJFIAEgARsiBwR/IAAtAABFBSAHCwRAIAAoAgQoAhBFBEBBAw8LCyAAKAIwIgUoAgAhByAFKAIEIAAoAggoAgBBASAAKAIQdEEBa3EiCyAMQQR0Qf8BcWoiBkEBdCAHamovAQghAyAGIQcgACgCBCIEKAIMQQt2IANsIQggBCgCECAISQR/IAQgCDYCDEEAIQlBgBAgA2tB//8DcUEFdiADagUgBCAEKAIQIAhrNgIQIAQgBCgCDCAIazYCDEEBIQkgAyADQf//A3FBBXZrCyEIIAUiAygCBCADKAIAIAdBAXRqaiAIOwEIIAQiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQggBigCACEDIAYgBigCCCIHQQFqNgIIIAYgAyAHEBFB/wFxIAhyNgIQCyAJQf//A3FFBEAgAkUgASABGw0BIAwhCEEAIQYgACgCCCIFKAIMRSIEBH8gBS0AGEUFIAQLRQRAIAAoAggiBSgCCCIGKAIEQQEgBSgCDEwEfyAFKAIMQQFrBSAFKAIMIAUoAhRBAWtqCyAGKAIAamotAAghBgtBASEEIAAoAggoAgBBASAALQAUdEEBa3EgACgCDHQgBkEIIAAoAgxrdmpBgAZsIQcgCEEHTwRAIAAoAggiBigCCCIJKAIEIA5BAWoiDSAGKAIMTAR/IAYoAgwgDWsFIAYoAgwgBigCFCANa2oLIAkoAgBqai0ACCENA0ACQCANQf8BcUEHdiEGIA1BAXQhDSAAKAIgIgkoAgAhCyAJKAIEIAZBAWpBCHQgB2ogBGoiDEEBdCALamovAQgiCyAAKAIEIgMoAgxBC3ZsIQogAygCECAKSQR/QYAQIAtrQf//A3FBBXYgC2ohCyADIAo2AgxBAAUgCyALQf//A3FBBXZrIQsgAyADKAIQIAprNgIQIAMgAygCDCAKazYCDEEBCyEFIAkoAgQgCSgCACAMQQF0amogCzsBCCADIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEDIAooAgAhDCAKIAooAggiC0EBajYCCCAKIAwgCxARQf8BcSADcjYCEAsgBEEBdCAFciEEIAVB//8DcSAGRw0AIARB//8DcUGAAkkNAQsLCwNAIARBgAJJBEAgBEEBdCEJIAAoAiAiBSgCACEMIAUoAgQgBCAHaiIGQQF0IAxqai8BCCILIAAoAgQiDSgCDEELdmwhCiANKAIQIApJBH9BgBAgC2tB//8DcUEFdiALaiELIA0gCjYCDEEABSALIAtB//8DcUEFdmshCyANIA0oAhAgCms2AhAgDSANKAIMIAprNgIMQQELIAUoAgQgBSgCACAGQQF0amogCzsBCCANIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEGIAooAgAhBSAKIAooAggiDEEBajYCCCAKIAUgDBARQf8BcSAGcjYCEAsgCXIhBAwBCwsgACgCCCIDIAMoAgBBAWo2AgAgAygCCCELIAMgAygCDCIGQQFqNgIMIAsoAgQgCygCACAGamogBEGAAmsiCjoACCADKAIMIAMoAhRGBEAgA0EANgIMIANBAToAGAsgAygCBCgCCCADKAIQRgRAIAMgAygCBCIGKAIIQQF0EA82AgQgAygCBCgCACADKAIEKAIEakEIaiAGKAIAIAYoAgRqQQhqIAYoAggQHCAGKAIAGgsgAygCBCEJIAMgAygCECIMQQFqNgIQIAkoAgQgCSgCACAMamogCjoACCAIIgVBBEkEf0EABSAFQQNrIAVBBmsgBUEKSRsLIQwgAkEBayECDAILIAAoAjQiBigCACEFIAYoAgQgDCIDQQF0IAVqai8BCCIHIAAoAgQiCigCDEELdmwhBCAKKAIQIARJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAogBDYCDEEABSAHIAdB//8DcUEFdmshByAKIAooAhAgBGs2AhAgCiAKKAIMIARrNgIMQQELIAMhBSAGIgMoAgAhDSADKAIEIAVBAXQgDWpqIAc7AQggCiIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhBiAJKAIAIQMgCSAJKAIIIgVBAWo2AgggCSADIAUQEUH/AXEgBnI2AhALQf//A3EEQCACRSABIAEbDQEgACgCCCIIKAIMRSIEBH8gCC0AGEUFIAQLDQEgACgCOCIDKAIAIQggAygCBCAMQQF0IAhqai8BCCIEIAAoAgQiBSgCDEELdmwhByAFKAIQIAdJBH9BgBAgBGtB//8DcUEFdiAEaiEEIAUgBzYCDEEABSAEIARB//8DcUEFdmshBCAFIAUoAhAgB2s2AhAgBSAFKAIMIAdrNgIMQQELIAMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEFIAkoAgAhAyAJIAkoAggiCEEBajYCCCAJIAMgCBARQf8BcSAFcjYCEAtB//8DcQRAIAAoAjwiCCgCACEHIAgoAgQgDEEBdCAHamovAQgiBCAAKAIEIgUoAgxBC3ZsIQYgBSgCECAGSQR/QYAQIARrQf//A3FBBXYgBGohBCAFIAY2AgxBAAUgBCAEQf//A3FBBXZrIQQgBSAFKAIQIAZrNgIQIAUgBSgCDCAGazYCDEEBCyAIIgMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiB0EBajYCCCAJIAMgBxARQf8BcSAIcjYCEAtB//8DcQRAIAAoAkAiAygCACEKIAMoAgQgDEEBdCAKamovAQgiBiAAKAIEIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAZrQf//A3FBBXYgBmohBiAHIAQ2AgxBAAUgBiAGQf//A3FBBXZrIQYgByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyADKAIEIAMoAgAgDEEBdGpqIAY7AQggByIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhCCAJKAIAIQMgCSAJKAIIIgpBAWo2AgggCSADIAoQEUH/AXEgCHI2AhALQf//A3EEQCARIQMgDyERBSAPIQMLIBAhDwUgECEDCyAOIRAgAyEOBSAAKAJEIgYoAgAhCiAGKAIEIAxBBHRB/wFxIAtqIgNBAXQgCmpqLwEIIgcgACgCBCIIKAIMQQt2bCEEIAgoAhAgBEkEf0GAECAHa0H//wNxQQV2IAdqIQcgCCAENgIMQQAFIAcgB0H//wNxQQV2ayEHIAggCCgCECAEazYCECAIIAgoAgwgBGs2AgxBAQsgAyEKIAYiAygCACENIAMoAgQgCkEBdCANamogBzsBCCAIIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiCkEBajYCCCAJIAMgChARQf8BcSAIcjYCEAtB//8DcUUEQEEJQQsgDEEHSRshDCAAKAIIIQQgACgCCCIFKAIIIgMoAgQgDkEBaiIHIAUoAgxMBH8gBSgCDCAHawUgBSgCDCAFKAIUIAdragsgAygCAGpqLQAIIQcgBCAEKAIAQQFqNgIAIAQoAgghBSAEIAQoAgwiBkEBajYCDCAFKAIEIAUoAgAgBmpqIAc6AAggBCgCDCAEKAIURgRAIARBADYCDCAEQQE6ABgLIAQoAgQoAgggBCgCEEYEQCAEIAQoAgQiBigCCEEBdBAPNgIEIAQoAgQoAgAgBCgCBCgCBGpBCGogBigCACAGKAIEakEIaiAGKAIIEBwgBigCABoLIAQoAgQhAyAEIAQoAhAiCEEBajYCECADKAIEIAMoAgAgCGpqIAc6AAggAkEBayECDAQLCyAAKAJMIAAoAgQgCxAdIQtBCEELIAxBB0kbIQwFIA8hESAQIQ8gDiEQQQdBCiAMQQdJGyEMIAAgACgCSCAAKAIEIAsQHSILEB8iDkF/RgRAIAAoAgQoAhAEf0EBBUECCw8LIAJFIAEgARsNASAOIAAoAhhPIgUEfyAFBSAOIAAoAggiBCgCDEwiBgR/IAYFIAQtABgLRQsNAQtBACENIAAoAgghBSAOQQFqIQQgAiALQQJqIgtIIAEgARsEQEEBIQ0gAiELCyALIQYDQCAGQQBKBEAgBSIIKAIIIgkoAgQgBCAFKAIMTAR/IAUoAgwgBGsFIAUoAgwgBSgCFCAEa2oLIAkoAgBqai0ACCEHIAggCCgCAEEBajYCACAIKAIIIQMgCCAIKAIMIgpBAWo2AgwgAygCBCADKAIAIApqaiAHOgAIIAgoAgwgCCgCFEYEQCAIQQA2AgwgCEEBOgAYCyAIKAIEKAIIIAgoAhBGBEAgCCAIKAIEIgMoAghBAXQQDzYCBCAIKAIEKAIAIAgoAgQoAgRqQQhqIAMoAgAgAygCBGpBCGogAygCCBAcIAMoAgAaCyAIKAIEIQkgCCAIKAIQIgNBAWo2AhAgCSgCBCAJKAIAIANqaiAHOgAIIAZBAWshBgwBCwsgAiALayECIA1FDQELC0EBCyYBAX9BEBABIgQgADYCACAEIAE2AgQgBCACNgIIIAQgAzYCDCAEC7YEAQZ/IAAgATYCBEENEA8hAgNAAkAgA0ENTg0AIAIgAyABIAMQEUH/AXEQEiADQQFqIQMMAQsLIAAoAgAhBCACIQZBBBAPIgIoAgQgAigCAGogBigCBCAGKAIAai0ACCIDOgAIIANB/wFxQeEBTwRAQQBBgAFBoQFBDBAAAAsgAigCBCACKAIAQQFqaiADQf8BcUEJcCIHOgAIIAIoAgQgAigCAGogA0H/AXFBCW4iAzoACCADQQVwIQUgAigCBCACKAIAQQJqaiADQQVuIgM6AAggAigCBCACKAIAQQNqaiAFOgAIIAQgBzYCDCAEIAM2AhAgBCAFOgAUIARBADYCHEEAIQIDQAJAIAJBBE8NACAEIAQoAhwgBigCBCAGKAIAIAJBAWpqai0ACCACQQN0dHI2AhwgAkEBaiECDAELCyAEIAQoAhw2AhggBCgCGEGAIEkEQCAEQYAgNgIYC0EAIQJBACEFQQAhAwNAAkAgA0EITg0AIAYgA0EFahARQf8BcSIEQf8BRwRAQQEhBQsgBCADQQN0dCACciECIANBAWohAwwBCwsgACgCACAFRToAACAAKAIAKAIEIAE2AgAgACgCABAWAkAgACgCACAFIAIQICIBQQFGDQAgAUEDRwRAIAFBAkYEQCAFBEAgACgCACgCCCgCECACRw0DCwUMAgsLIAAoAgAoAgQtAAQaQQFBACAAKAIAKAIIKAIQIAAoAgAoAggoAgQQIQ8LQQBBAUEAQQAQIQsIACMDIAAQIgsWAEG4ASQAIwAkAUGAgIAIJAIQDCQDCwMAAQsLtwEEAEEICxcKAAAAdQBzAGUAIABzAHQAcgBpAGMAdABBIAsdDQAAAH4AbABpAGIALwBhAHIAcgBhAHkALgB0AHMAQcAACzkbAAAAfgBsAGkAYgAvAGkAbgB0AGUAcgBuAGEAbAAvAHQAeQBwAGUAZABhAHIAcgBhAHkALgB0AHMAQYABCzMYAAAAcwByAGMALwBsAHoAbQBhAC8AbAB6AG0AYQAtAGQAZQBjAG8AZABlAHIALgB0AHM=")}.toString(),")();\n return function(data, callback) {\n return (").concat(function(t,e,i){try{var n=new WebAssembly.Memory({initial:16}),r=new WebAssembly.Module(t),o=new WebAssembly.Instance(r,{env:{memory:n,abort:function(){i(new Error("webAssembly abort"))}}}).exports,s=o.newU8Array(e.length);new Uint8Array(n.buffer,s+24,e.length).set(e);var a=o.decode(s),u=new Uint32Array(n.buffer,a,4),l=u[0],h=u[2],c=u[3];l?i(null,new Uint8Array(n.buffer,c+24,h).slice(0,h)):i(new Error("lzma deocder error"))}catch(t){i(t)}}.toString(),')(LZMA_WASM, data, callback);\n }\n})();\n\nself.onmessage = function(event) {\n var packet = event.data;\n if (!packet.id) {\n postMessage({ id: packet.id, error: "No incoming id." });\n return;\n }\n if (!packet.data) {\n postMessage({ id: packet.id, error: "No input data." });\n return;\n }\n if (packet.type == "decompress") {\n if (packet.data.constructor !== Uint8Array) {\n postMessage({ id: packet.id, error: "Input data is not Uint8Array." });\n }\n const callback = function(error, result) {\n if (error) {\n postMessage({ id: packet.id, error: error.toString() });\n } else {\n postMessage({ id: packet.id, result: result, error: null }, [ result.buffer ]);\n }\n }\n if (typeof WebAssembly !== "undefined" && WebAssembly.instantiate) {\n decodeLZMAWithWASM(packet.data, callback);\n } else {\n decodeLZMA(packet.data, callback);\n }\n return;\n }\n postMessage({ id: packet.id, error: "type never matched." });\n};\n'),Ze="undefined"!=typeof Worker&&"undefined"!=typeof Blob,Je="";if(Ze)try{var $e=new Blob([Ye],{type:"text/javascript"});Je=URL.createObjectURL($e)}catch(t){}var ti=function(){function t(){var t=this;if(!Ze)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(Je);e.onmessage=function(e){var i=e.data,n=i.id,r=i.result,o=i.error,s=t.getKey(n);t.requests[s]&&(o?t.requests[s](new Error(o)):t.requests[s](null,r),delete t.requests[s])},e.onerror=function(t){return console.error(t)}}return t.prototype.getKey=function(t){return"key_"+String(t)},t.prototype.decompress=function(t,e){var i=++this.callCounter;this.requests[this.getKey(i)]=e,this.worker.postMessage({type:"decompress",id:i,data:t},[t.buffer])},t.prototype.terminate=function(){this.worker.terminate()},t.support=Ze,t}();function ei(t){return Array.prototype.reduce.call(t,(function(t,e,i){return t|e<<8*i}),0)}function ii(t){var e=new Uint8Array(t),i=ei(e.slice(0,4));if(i>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var n=[],r=[],o=4+4*i,s=0;s<i;s++)r[s]=ei(e.slice(4+4*s,8+4*s)),n[s]=s===i-1?e.subarray(o,o+r[s]):e.slice(o,o+r[s]),o+=r[s];return ti.support?function(t){for(var e=[],i=t.length,n=function(i){e.push(new Promise((function(e,n){var r=new ti;r.decompress(t[i],(function(t,i){if(r.terminate(),t)return n(t);e(i)}))})))},r=0;r<i;r++)n(r);return Promise.all(e)}(n):Promise.resolve(function(t){for(var e,i=[],n=t.length,r=function(n){var r={data:t[n],offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(t){var e=Math.floor(this.offset/o);this.data[e]||(this.data[e]=new Uint8Array(o)),this.data[e][this.offset%o]=t,this.offset++}};Xe.decompressFile(r,s),e=new Uint8Array(s.offset);for(var a=0;a<s.offset;a++)e[a]=s.data[Math.floor(a/o)][a%o];i.push(e)},o=0;o<n;o++)r(o);return i}(n))}function ni(t,e){for(var i={},n=0,r=e;n<r.length;n++){var o=r[n];o in t&&(i[o]=t[o])}return i}var ri=!1;try{ri="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(t){}var oi=[];function si(){var t=this.src;this.onerror=this.onload=Lt,this.removeAttribute("src"),/^blob\:/.test(t)&&URL.revokeObjectURL(t),this.close=Lt}function ai(){oi.push(this)}function ui(){return Object.assign(new Image,{crossOrigin:"",close:si})}function li(t){return new Promise((function(e,i){var n=ui();n.onload=function(){n.onload=n.onerror=Lt,setTimeout((function(){return e(n)}),30)},n.onerror=function(){var t=n.src;n.onload=n.onerror=Lt,n.close(),i(new Error("image load error: ".concat(t)))},n.src=URL.createObjectURL(t)}))}function hi(t,e){if(e&&(t.width>e.width||t.height>e.height)){var i=function(t,e){var i=oi.shift();if(i)return i.width=t,i.height=e,i;if(ri){var n=new OffscreenCanvas(t,e);return Object.assign(n,{close:ai})}return n=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),Object.assign(n,{close:ai})}(Math.min(t.width,e.width),Math.min(t.height,e.height)),n=i.getContext("2d");n.clearRect(0,0,i.width,i.height),n.drawImage(t,0,0,i.width,i.height),t.close();var o=new r.Texture(i);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){i.close(),s.call(o),delete o.dispose},o}var a=new r.Texture(t);a.needsUpdate=!0,a.minFilter=r.LinearFilter,a.magFilter=r.LinearFilter,a.flipY=!0;var u=a.dispose;return a.dispose=function(){t.close(),u.call(a),delete a.dispose},a}var ci=new r.WebGLRenderTarget(1,1),di=new r.OrthographicCamera(-1,1,1,-1,0,1),pi=new r.BufferGeometry;pi.setAttribute("position",new r.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),pi.setAttribute("uv",new r.Float32BufferAttribute([0,2,0,0,2,0],2));var Ai=new r.Mesh(pi),fi=new r.Scene;fi.add(Ai);var gi,vi=new r.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform sampler2D map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0));\n }\n "}),mi=new r.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform samplerCube map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0, 0));\n }\n "});function yi(t,e,i){return void 0!==e.flipY&&(t.flipY=e.flipY),void 0!==e.format&&(t.format=e.format),void 0!==e.encoding&&(t.encoding=e.encoding),void 0!==e.minFilter&&(t.minFilter=e.minFilter),void 0!==e.magFilter&&(t.magFilter=e.magFilter),i?new Promise((function(e){se.shared.add((function(){try{var n=i.getRenderTarget();i.setRenderTarget(ci),t instanceof r.CubeTexture?(Ai.material=mi,mi.uniforms.map.value=t,i.render(fi,di),mi.uniforms.map.value=null):(Ai.material=vi,vi.uniforms.map.value=t,i.render(fi,di),mi.uniforms.map.value=null),i.setRenderTarget(n),e(t)}catch(i){e(t)}}),!0,1)})):Promise.resolve(t)}var bi='\nvar config, transcoderPending, _BasisFile;\nself.onmessage = function(e) {\n var message = e.data;\n switch (message.type) {\n case "init":\n config = message.config;\n init(message.transcoderBinary);\n break;\n case "transcode":\n transcoderPending.then(function() {\n try {\n var result = transcode(message.buffer);\n var width = result.width;\n var height = result.height;\n var hasAlpha = result.hasAlpha;\n var mipmaps = result.mipmaps;\n var format = result.format;\n var buffers = [];\n for (var i = 0; i < mipmaps.length; ++i) {\n buffers.push(mipmaps[i].data.buffer);\n }\n self.postMessage({ type: "transcode", id: message.id, width, height, hasAlpha, mipmaps, format }, buffers);\n } catch (error) {\n console.error(error);\n self.postMessage({ type: "error", id: message.id, error: error.message });\n }\n });\n break;\n default: break;\n }\n};\n\nfunction init(wasmBinary) {\n var BasisModule;\n transcoderPending = new Promise(function(resolve) {\n BasisModule = { wasmBinary, onRuntimeInitialized: resolve };\n BASIS(BasisModule); // eslint-disable-line no-undef\n }).then(function() {\n _BasisFile = BasisModule.BasisFile;\n BasisModule.initializeBasis();\n self.postMessage({ type: "initialized" });\n });\n}\n\nfunction transcode(buffer) {\n var basisFile = new _BasisFile(new Uint8Array(buffer));\n var width = basisFile.getImageWidth(0, 0);\n var height = basisFile.getImageHeight(0, 0);\n var levels = basisFile.getNumLevels(0);\n var hasAlpha = basisFile.getHasAlpha();\n function cleanup() {\n basisFile.close();\n basisFile.delete();\n }\n if (!hasAlpha) {\n switch (config.format) {\n case 9: // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGBA\n config.format = 8; // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGB;\n break;\n default: break;\n }\n }\n if (!width || !height || !levels) {\n cleanup();\n throw new Error("BasisTextureLoader: Invalid .basis file");\n }\n if (!basisFile.startTranscoding()) {\n cleanup();\n throw new Error("BasisTextureLoader: .startTranscoding failed");\n }\n var mipmaps = [];\n for (var mip = 0; mip < levels; mip++) {\n var mipWidth = basisFile.getImageWidth(0, mip);\n var mipHeight = basisFile.getImageHeight(0, mip);\n var dst = new Uint8Array(basisFile.getImageTranscodedSizeInBytes(0, mip, config.format));\n var status = basisFile.transcodeImage(dst, 0, mip, config.format, 0, hasAlpha);\n if (!status) {\n cleanup();\n throw new Error("BasisTextureLoader: .transcodeImage failed.");\n }\n mipmaps.push({ data: dst, width: mipWidth, height: mipHeight });\n }\n cleanup();\n return { width, height, hasAlpha, mipmaps, format: config.format };\n}\n',wi={cTFETC1:0,cTFETC2:1,cTFBC1:2,cTFBC3:3,cTFBC4:4,cTFBC5:5,cTFBC7_M6_OPAQUE_ONLY:6,cTFBC7_M5:7,cTFPVRTC1_4_RGB:8,cTFPVRTC1_4_RGBA:9,cTFASTC_4x4:10,cTFATC_RGB:11,cTFATC_RGBA_INTERPOLATED_ALPHA:12,cTFRGBA32:13,cTFRGB565:14,cTFBGR565:15,cTFRGBA4444:16},xi={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779},Ei=((gi={})[wi.cTFBC1]=xi.COMPRESSED_RGB_S3TC_DXT1_EXT,gi[wi.cTFBC3]=xi.COMPRESSED_RGBA_S3TC_DXT5_EXT,gi),Ii=function(){function t(){}return t.setTranscoderPath=function(t){return this.transcoderPath=t,this},t.setWorkerLimit=function(t){return this.workerLimit=t,this},t.isInitialized=function(){return 0!==this.workerPool.filter((function(t){return t._initialized})).length},t.detectSupport=function(e){var i=this.workerConfig;if(i.astcSupported=!!e.extensions.get("WEBGL_compressed_texture_astc"),i.bptcSupported=!!e.extensions.get("EXT_texture_compression_bptc"),i.etcSupported=!!e.extensions.get("WEBGL_compressed_texture_etc1"),i.dxtSupported=!!e.extensions.get("WEBGL_compressed_texture_s3tc"),i.pvrtcSupported=!!e.extensions.get("WEBGL_compressed_texture_pvrtc")||!!e.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc"),i.astcSupported)i.format=t.BASIS_FORMAT.cTFASTC_4x4;else if(i.bptcSupported)i.format=t.BASIS_FORMAT.cTFBC7_M5;else if(i.dxtSupported)i.format=t.BASIS_FORMAT.cTFBC3;else if(i.pvrtcSupported)i.format=t.BASIS_FORMAT.cTFPVRTC1_4_RGBA;else{if(!i.etcSupported)throw new Error("BasisTextureLoader: No suitable compressed texture format found.");i.format=t.BASIS_FORMAT.cTFETC1}return this},t.createTexture=function(t){var e,i,n=this,o=t.byteLength,s=this._allocateWorker(o).then((function(r){return e=r,i=n.workerNextTaskID++,new Promise((function(n,r){e._callbacks[i]={resolve:n,reject:r},e.postMessage({type:"transcode",id:i,buffer:t},[t])}))})).then((function(t){var e,i=n.workerConfig,o=t.width,s=t.height,a=t.mipmaps;switch(t.format){case wi.cTFASTC_4x4:e=new r.CompressedTexture(a,o,s,r.RGBA_ASTC_4x4_Format);break;case wi.cTFBC1:case wi.cTFBC3:e=new r.CompressedTexture(a,o,s,Ei[i.format],r.UnsignedByteType);break;case wi.cTFETC1:e=new r.CompressedTexture(a,o,s,r.RGB_ETC1_Format);break;case wi.cTFPVRTC1_4_RGB:e=new r.CompressedTexture(a,o,s,r.RGB_PVRTC_4BPPV1_Format);break;case wi.cTFPVRTC1_4_RGBA:e=new r.CompressedTexture(a,o,s,r.RGBA_PVRTC_4BPPV1_Format);break;default:throw new Error("BasisTextureLoader: No supported format available.")}return e.minFilter=1===a.length?r.LinearFilter:r.LinearMipmapLinearFilter,e.magFilter=r.LinearFilter,e.generateMipmaps=!1,e.needsUpdate=!0,e}));return s.catch((function(){return!0})).then((function(){e&&i&&(e._taskLoad-=o,delete e._callbacks[i])})),s},t._initTranscoder=function(){var t=this;if(!this.transcoderPending){var e=new r.FileLoader;e.setPath(this.transcoderPath);var i=new Promise((function(t,i){e.load("basis_transcoder.js",t,void 0,i)})),n=new r.FileLoader;n.setPath(this.transcoderPath),n.setResponseType("arraybuffer");var o=new Promise((function(t,e){n.load("basis_transcoder.wasm",t,void 0,e)}));this.transcoderPending=Promise.all([i,o]).then((function(e){var i=e[0],n=e[1],r=["/* basis_transcoder.js */",i,"/* worker */",bi].join("\n");t.workerSourceURL=URL.createObjectURL(new Blob([r])),t.transcoderBinary=n}))}return this.transcoderPending},t._allocateWorker=function(t){var e=this;return this._initTranscoder().then((function(){if(e.workerPool.length<e.workerLimit){var i=function(t){var e=new Worker(t);return Object.assign(e,{_callbacks:{},_initialized:!1,_taskLoad:0})}(e.workerSourceURL);i._callbacks={},i._initialized=!1,i._taskLoad=0,i.postMessage({type:"init",config:e.workerConfig,transcoderBinary:e.transcoderBinary}),i.onmessage=function(t){var e=t.data;switch(e.type){case"initialized":i._initialized=!0,console.info("BasisTextureLoader: basis loader initialized");break;case"transcode":i._callbacks[e.id].resolve(e);break;case"error":i._callbacks[e.id].reject(e);break;default:console.error('BasisTextureLoader: Unexpected message, "'.concat(e.type,'"'))}},e.workerPool.push(i)}else e.workerPool.sort((function(t,e){return t._taskLoad>e._taskLoad?-1:1}));var n=e.workerPool[e.workerPool.length-1];return n._taskLoad+=t,n}))},t.prototype.dispose=function(){for(var e=0;e<t.workerPool.length;e++)t.workerPool[e].terminate();return t.workerPool.length=0,this},t.BASIS_FORMAT=wi,t.DXT_FORMAT=xi,t.DXT_FORMAT_MAP=Ei,t.transcoderPath="https://vrlab-public.ljcdn.com/release/static/image/release/five/basis/",t.transcoderBinary=null,t.transcoderPending=null,t.workerLimit=1,t.workerPool=[],t.workerNextTaskID=1,t.workerSourceURL="",t.workerConfig={format:null,astcSupported:!1,bptcSupported:!1,etcSupported:!1,dxtSupported:!1,pvrtcSupported:!1},t}();function Ci(t){var e=t.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return e?e[1]:location.protocol}var Si=function(){function t(t){this.timeout=t.timeout,this.allowHosts=t.allowHosts,this.networkSubscribe=t.networkSubscribe}return t.prototype.setAllowHosts=function(t){this.allowHosts=t},t.prototype.setNetworkSubscribe=function(t){this.networkSubscribe=t},t.prototype.load=function(t,i,n,o,s,a){var u;void 0===i&&(i={}),void 0===n&&(n=Lt),void 0===o&&(o=Lt),void 0===s&&(s=Lt);var l=Ci(t),h={timeout:this.timeout,allowHosts:this.allowHosts,networkSubscribe:this.networkSubscribe},c=null!==(u=i.viaAjax)&&void 0!==u&&u,d=Zt(t),p=/^https?:$/.test(l),A=/\.basis$/.test(Jt(t).split("?")[0]);if(d?c=!0:p||(c=!1),c){if(A){var f=null,g="arraybuffer";return!0===i.flipY?Promise.reject(new Error(".basis cannnot set flipY: true.")):ee(t,e.__assign(e.__assign({},h),{responseType:g}),void 0,void 0,s).then((function(t){return f=t.meta,Ii.createTexture(t.body)})).then((function(t){return!1!==i.preInit?yi(t,e.__assign({flipY:!1,encoding:r.sRGBEncoding},ni(i,["wrapS","wrapT"])),a):t})).then((function(t){var e={meta:f,body:t};return n(e),e})).catch((function(t){return o(t),Promise.reject(t)}))}g="blob";return ee(t,e.__assign(e.__assign({},h),{responseType:g}),void 0,void 0,s).then((function(t){return li(t.body)})).then((function(t){return hi(t,i.maxSize)})).then((function(t){return!1!==i.preInit?yi(t,e.__assign({flipY:!0,encoding:r.sRGBEncoding},i),a):t})).then((function(t){var e={meta:null,body:t};return n(e),e})).catch((function(t){return o(t),Promise.reject(t)}))}if(A){var v=new Error("cannot load basis texture via image");return o(v),Promise.reject(v)}var m=null,y=ui();return ne(t,h,void 0,void 0,s,y).then((function(t){return m=t.meta,hi(t.body,i.maxSize)})).then((function(t){return!1!==i.preInit?yi(t,e.__assign({flipY:!0,encoding:r.sRGBEncoding},i),a):t})).then((function(t){var e={meta:m,body:t};return n(e),e})).catch((function(t){return y.close(),o(t),Promise.reject(t)}))},t.prototype.loadCube=function(t,i,n,o,s,a){var u;void 0===i&&(i={}),void 0===n&&(n=Lt),void 0===o&&(o=Lt),void 0===s&&(s=Lt),Array.isArray(t)||(t=[t.right,t.left,t.up,t.down,t.front,t.back]);for(var l={timeout:this.timeout,allowHosts:this.allowHosts,networkSubscribe:this.networkSubscribe},h=[],c=[0,0,0,0,0,0],d=[],p=function(n){var r=t[n],a=Ci(r),p=function(t){c[n]=t,s(c.reduce((function(t,e){return t+e}),0)/6)},A=null!==(u=i.viaAjax)&&void 0!==u&&u,f=/^https?:$/.test(a),g=Zt(r),v=/\.basis$/.test(Jt(r).split("?")[0]);if(g?A=!0:f||(A=!1),A)if(v){var m="arraybuffer",y=ee(r,e.__assign(e.__assign({},l),{responseType:m}),void 0,void 0,p).then((function(t){return d[n]=t.meta,Ii.createTexture(t.body)}));h.push(y)}else{m="blob",y=ee(r,e.__assign(e.__assign({},l),{responseType:m}),void 0,void 0,p).then((function(t){return d[n]=t.meta,li(t.body)}));h.push(y)}else{if(v){var b=new Error("cannot load basis texture via image");return o(b),{value:Promise.reject(b)}}var w=ui();y=ne(r,l,void 0,void 0,p,w).then((function(t){return d[n]=t.meta,t.body})).catch((function(t){return w.close(),Promise.reject(t)}));h.push(y)}},A=0;A<6;A++){var f=p(A);if("object"==typeof f)return f.value}return Promise.all(h).then((function(t){return t[0]instanceof r.CompressedTexture?function(t){var e=new r.CubeTexture(t);e.needsUpdate=!0;var i=e.dispose;return e.dispose=function(){for(var n=0,r=t;n<r.length;n++)r[n].dispose();i.call(e),delete e.dispose},e.isCompressedTexture=!0,e.format=t[0].format,e.minFilter=t[0].minFilter,e.magFilter=t[0].magFilter,e}(t):function(t){var e=new r.CubeTexture(t);e.needsUpdate=!0,e.minFilter=r.LinearFilter,e.magFilter=r.LinearFilter,e.flipY=!1;var i=e.dispose;return e.dispose=function(){for(var n=0,r=t;n<r.length;n++)r[n].close();i.call(e),delete e.dispose},e}(t)})).then((function(t){return!1!==i.preInit?t.isCompressedTexture?yi(t,e.__assign({flipY:!1,encoding:r.sRGBEncoding},ni(i,["wrapS","wrapT"])),a):yi(t,e.__assign({flipY:!1,encoding:r.sRGBEncoding},i),a):t})).then((function(t){var e={body:t,meta:d};return n(e),e})).catch((function(t){for(var e=0,i=h;e<i.length;e++){i[e].then((function(t){t instanceof r.Texture?t.dispose():t.close()})).catch(Lt)}return o(t),Promise.reject(t)}))},t}();const Bi=o.Reader,Mi=o.util,Pi=o.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(o.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),Ti=Pi.Model=(()=>{function t(t){if(this.chunks=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.chunks=Mi.emptyArray,t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Model;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Pi.Chunk.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t})();function Qi(t){var e,i,n=(new r.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function o(t){var e=t.match(/(group|floor)-?(\d+)/);return e?parseInt(e[2],10):0}function s(t){var e=t.match(/(chunk)-?(\d+)/);return e?parseInt(e[2],10):0}function a(t){return 1e6*o(t.name)+1e3*s(t.name)+function(t){var e=t.match(/(sub)-?(\d+)/);return e?parseInt(e[2],10):0}(t.name)}for(var u=[],l=0,h=(null!==(e=t.chunks)&&void 0!==e?e:[]).sort((function(t,e){return a(t)-a(e)}));l<h.length;l++){var c=o((R=h[l]).name);u[c]||(u[c]=[]),u[c].push(R)}for(var d=[],p=0;p<u.length;p++){var A=u[p];if(A){for(var f=0,g=0,v=0;v<A.length;v++){g+=(R=A[v]).vertices.xyz.length/3,f+=R.faces.indices.length}for(var m=3*g,y=2*g,b=3*g,w=f,x=new ArrayBuffer(4*m+4*y+4*b+4*w),E=new Float32Array(x,0,m),I=new Float32Array(x,4*m,y),C=new Float32Array(x,4*m+4*y,b),S=new Uint32Array(x,4*m+4*y+4*b,w),B=[],M=[1/0,1/0,1/0,-1/0,-1/0,-1/0],P=0,T=0,Q=0;Q<A.length;Q++){var R,D=(R=A[Q]).vertices.xyz,k=R.vertices.uvs,N=R.faces.indices,F=D.length/3,O=N.length,L=[1/0,1/0,1/0,-1/0,-1/0,-1/0];for(v=0;v<F;v++){var V=D[3*v],H=D[3*v+1],K=D[3*v+2],z=n.elements,q=1/(z[3]*V+z[7]*H+z[11]*K+z[15]),_=(z[0]*V+z[4]*H+z[8]*K+z[12])*q,j=(z[1]*V+z[5]*H+z[9]*K+z[13])*q,U=(z[2]*V+z[6]*H+z[10]*K+z[14])*q;E[3*T+3*v]=_,E[3*T+3*v+1]=j,E[3*T+3*v+2]=U,I[2*T+2*v]=k[2*v],I[2*T+2*v+1]=k[2*v+1],_<L[0]&&(L[0]=_),j<L[1]&&(L[1]=j),U<L[2]&&(L[2]=U),_>L[3]&&(L[3]=_),j>L[4]&&(L[4]=j),U>L[5]&&(L[5]=U)}L[0]<M[0]&&(M[0]=L[0]),L[1]<M[1]&&(M[1]=L[1]),L[2]<M[2]&&(M[2]=L[2]),L[3]>M[3]&&(M[3]=L[3]),L[4]>M[4]&&(M[4]=L[4]),L[5]>M[5]&&(M[5]=L[5]);for(v=0;v<O;v++)S[P+v]=T+N[v];B.push({materialIndex:Q,name:R.name,chunkName:s(R.name),start:P,count:R.faces.indices.length,texture:null!==(i=R.texture)&&void 0!==i?i:void 0}),T+=F,P+=O}for(v=0;v<f;v+=3){var G,W,X,Y,Z,J,$,tt,et,it,nt,rt,ot,st,at,ut,lt,ht,ct;G=3*S[v],W=3*S[v+1],X=3*S[v+2],Y=E[G],Z=E[G+1],J=E[G+2],$=E[W],tt=E[W+1],et=E[W+2],it=E[X],lt=(rt=E[X+1]-tt)*(ut=J-et)-(ot=E[X+2]-et)*(at=Z-tt),ht=ot*(st=Y-$)-(nt=it-$)*ut,ct=nt*at-rt*st,C[G]+=lt,C[G+1]+=ht,C[G+2]+=ct,C[W]+=lt,C[W+1]+=ht,C[W+2]+=ct,C[X]+=lt,C[X+1]+=ht,C[X+2]+=ct}d.push({floorIndex:p,vertices:E,uvs:I,indices:S,normals:C,groups:B,extents:M})}}return d}function Ri(t,i,n,o){var s=e.__assign({key:"texture.pbm",basisLoaderInitialized:Ii.isInitialized()},ni(i,["format","quality","size","sharpen"]));return t=i.transform?i.transform(t,s):de(t,s),new Si({allowHosts:n,networkSubscribe:o}).load(t,{wrapS:r.ClampToEdgeWrapping,wrapT:r.ClampToEdgeWrapping,minFilter:r.LinearFilter,maxSize:"number"==typeof s.size?new r.Vector2(s.size,s.size):void 0,preInit:!0}).then((function(t){var e=t.body;return e.needsUpdate=!0,e}))}function Di(t,e,i,n,o,s,a){void 0===o&&(o={});for(var u=[],l=0,h=Qi(t);l<h.length;l++){var c=h[l],d=c.floorIndex,p=c.vertices,A=c.uvs,f=c.indices,g=c.normals,v=c.groups,m=c.extents,y=new r.Box3;y.min.x=m[0],y.min.y=m[1],y.min.z=m[2],y.max.x=m[3],y.max.y=m[4],y.max.z=m[5];var b=new r.BufferGeometry;b.setAttribute("position",new r.BufferAttribute(p,3)),b.setAttribute("uv",new r.BufferAttribute(A,2)),b.setAttribute("normal",new r.BufferAttribute(g,3)),b.setIndex(new r.BufferAttribute(f,1)),b.boundingBox=y,b.boundingSphere=y.getBoundingSphere(new r.Sphere);for(var w=0,x=v;w<x.length;w++){var E=x[w];b.addGroup(E.start,E.count,E.materialIndex)}for(var I=[],C=function(t){var u=i[t.chunkName]||(t.texture?e+t.texture:void 0),l=new Ee;if(I.push(l),u){var h=void 0;u in o?h=o[u]:(h=Ri(u,n,s,a),o[u]=h),h.then((function(t){l.uniforms.map.value=t,l.uniforms.exposure.value=3.3}),(function(){l.defines.USE_MAP=!1,l.uniforms.color.value=new r.Color(16777215)}))}else l.defines.USE_MAP=!1,l.uniforms.color.value=new r.Color(16777215)},S=0,B=v;S<B.length;S++){C(E=B[S])}var M=new pe(b,I);M.name="model_floor_"+d,M.floorIndex=d,u.push(M)}return{objects:u,texturePromise:Promise.all(Object.keys(o).map((function(t){return o[t].catch(Lt)}))).then(Lt)}}function ki(t,e){return!1!==(t=Object.assign({},t)).autoResize&&(t.size=e>96?Math.min(t.size||1/0,100):e>48?Math.min(t.size||1/0,200):e>24?Math.min(t.size||1/0,400):e>12?Math.min(t.size||1/0,800):Math.min(t.size||1/0,1024)),t}function Ni(t){return 0===t.indexOf("//")||/^[0-9a-z]+\:\/\//i.test(t)}Pi.Chunk=(()=>{function t(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.vertices=null,t.prototype.faces=null,t.prototype.name="",t.prototype.texture="",t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Chunk;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.vertices=Pi.Vertices.decode(t,t.uint32());break;case 2:n.faces=Pi.Faces.decode(t,t.uint32());break;case 3:n.name=t.string();break;case 4:n.texture=t.string();break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("vertices"))throw Mi.ProtocolError("missing required 'vertices'",{instance:n});if(!n.hasOwnProperty("faces"))throw Mi.ProtocolError("missing required 'faces'",{instance:n});if(!n.hasOwnProperty("name"))throw Mi.ProtocolError("missing required 'name'",{instance:n});return n},t})(),Pi.Vertices=(()=>{function t(t){if(this.xyz=[],this.uvs=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.xyz=Mi.emptyArray,t.prototype.uvs=Mi.emptyArray,t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Vertices;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.xyz&&n.xyz.length||(n.xyz=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.xyz.push(t.float())}else n.xyz.push(t.float());break;case 2:if(n.uvs&&n.uvs.length||(n.uvs=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.uvs.push(t.float())}else n.uvs.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Pi.Faces=(()=>{function t(t){if(this.indices=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.indices=Mi.emptyArray,t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Faces;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.indices.push(t.uint32())}else n.indices.push(t.uint32());break;default:t.skipType(7&e)}}return n},t})();const Fi=o.Reader,Oi=o.util,Li=o.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(o.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),Vi=Li.Model=(()=>{function t(t){if(this.meshes=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.meshes=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Model;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.meshes&&n.meshes.length||(n.meshes=[]),n.meshes.push(Li.Mesh.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t})();function Hi(t){for(var e=[0,0,0],i=0;i<t.attributes.normal.array.length/9;i++)e[0]=t.attributes.normal.array[9*i],e[1]=t.attributes.normal.array[9*i+1],e[2]=t.attributes.normal.array[9*i+2],t.attributes.normal.array[9*i]=t.attributes.normal.array[9*i+6],t.attributes.normal.array[9*i+1]=t.attributes.normal.array[9*i+7],t.attributes.normal.array[9*i+2]=t.attributes.normal.array[9*i+8],t.attributes.normal.array[9*i+6]=e[0],t.attributes.normal.array[9*i+7]=e[1],t.attributes.normal.array[9*i+8]=e[2];for(i=0;i<t.attributes.position.array.length/9;i++)e[0]=t.attributes.position.array[9*i],e[1]=t.attributes.position.array[9*i+1],e[2]=t.attributes.position.array[9*i+2],t.attributes.position.array[9*i]=t.attributes.position.array[9*i+6],t.attributes.position.array[9*i+1]=t.attributes.position.array[9*i+7],t.attributes.position.array[9*i+2]=t.attributes.position.array[9*i+8],t.attributes.position.array[9*i+6]=e[0],t.attributes.position.array[9*i+7]=e[1],t.attributes.position.array[9*i+8]=e[2];for(i=0;i<t.attributes.uv.array.length/6;i++)e[0]=t.attributes.uv.array[6*i],e[1]=t.attributes.uv.array[6*i+1],t.attributes.uv.array[6*i]=t.attributes.uv.array[6*i+4],t.attributes.uv.array[6*i+1]=t.attributes.uv.array[6*i+5],t.attributes.uv.array[6*i+4]=e[0],t.attributes.uv.array[6*i+5]=e[1];t.attributes.normal.needsUpdate=!0,t.attributes.position.needsUpdate=!0,t.attributes.uv.needsUpdate=!0}function Ki(t){var e=t.position,i=t.normal,n=t.uv,o=t.uv2,s=t.groups,a=new r.BufferGeometry;a.setAttribute("position",new r.BufferAttribute(new Float32Array(e.array),3)),i&&a.setAttribute("normal",new r.BufferAttribute(new Float32Array(i.array),3)),n&&a.setAttribute("uv",new r.BufferAttribute(new Float32Array(n.array),2)),o&&a.setAttribute("uv2",new r.BufferAttribute(new Float32Array(o.array),2));for(var u=0,l=s;u<l.length;u++){var h=l[u];a.addGroup(h.start,h.count,h.materialIndex)}return a}function zi(t,i,n,o,s,a){if(a.hasOwnProperty(t))return a[t];Ni(t=t.split("?")[0])||(t=i+t),0===(t=t.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/")).indexOf("//")&&(t="https:"+t);var u=e.__assign({key:"texture.dome",size:64,basisLoaderInitialized:Ii.isInitialized()},ni(n,["quality","format","sharpen"]));return a[t=n.transform?n.transform(t,u):de(t,u)]=s.load(t,{wrapS:r.RepeatWrapping,wrapT:r.RepeatWrapping,preInit:!0}).then((function(t){var e=t.body;return o&&e.repeat.copy(o),e.needsUpdate=!0,e.updateMatrix(),e}))}function qi(t,e,i,n,o){var s=[],a=new Ee,u=a.uniforms;u.exposure.value=4.3;var l=a.defines;if(l.USE_MAP=!1,l.USE_UV=!1,t.kd&&(u.diffuse.value=(new r.Color).fromArray(t.kd.rgb)),t.mapkd){var h=null;if(t.mapkdrepeat){var c=t.mapkdrepeat.split(/\s+/).map((function(t){return Number(t)})),d=c[0],p=c[1];h=new r.Vector2(d,p)}s.push(zi(t.mapkd,e,i,h,n,o).then((function(t){l.USE_MAP=!0,l.USE_UV=!0,u.map.value=t,u.uvTransform.value=t.matrix})).catch(Lt))}if(t.ks&&(u.specular.value=(new r.Color).fromArray(t.ks.rgb)),t.mapks&&s.push(zi(t.mapks,e,i,null,n,o).then((function(t){u.specularMap.value=t})).catch(Lt)),t.ke&&(u.emissive.value=(new r.Color).fromArray(t.ke.rgb)),t.mapke&&s.push(zi(t.mapke,e,i,null,n,o).then((function(t){u.emissiveMap.value=t})).catch(Lt)),t.norm&&s.push(zi(t.norm,e,i,null,n,o).then((function(t){u.normalMap.value=t})).catch(Lt)),t.mapbump&&s.push(zi(t.mapbump,e,i,null,n,o).then((function(t){u.bumpMap.value=t})).catch(Lt)),t.bump&&s.push(zi(t.bump,e,i,null,n,o).then((function(t){u.bumpMap.value=t})).catch(Lt)),"number"==typeof t.ns&&(u.shininess.value=t.ns),"number"==typeof t.d){var A=t.d;A>0&&A<1&&(a.originOpacity=A,a.opacity=A)}return{material:a,textureReady:Promise.all(s).then(Lt)}}function _i(t,e,i,n,o){for(var s,a=[],u=[],l=(s=t,Vi.decode(s).meshes),h=new Si({allowHosts:n,networkSubscribe:o}),c=new r.Matrix4,d=new r.Vector3,p=new r.Quaternion,A=new r.Vector3,f={},g=0,v=l;g<v.length;g++){var m=v[g],y=m.name,b=m.chunks,w=m.matrix;if("Ceiling"!==y&&"CeilingDrop"!==y)for(var x=0,E=w;x<E.length;x++){var I=E[x];c.elements=I.elements;var C=new fe;C.renderOrder=-3;for(var S=0;S<b.length;S++){var B=Ki(b[S].geometry);B.applyMatrix4(c),c.decompose(d,p,A),A.x*A.y*A.z<0&&B.attributes.normal&&B.attributes.position&&B.attributes.uv&&Hi(B);for(var M=[],P=0,T=b[S].material;P<T.length;P++){var Q=qi(T[P],e,i,h,f),R=Q.material,D=Q.textureReady;u.push(D),M.push(R)}var k=new pe(B,M);k.name="chunk_"+S,C.add(k)}C.floorIndex=0,C.name=y,a.push(C)}}return{objects:a,texturePromise:Promise.all(u).catch(Lt)}}function ji(t){return null==t}Li.Mesh=(()=>{function t(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.name="",t.prototype.chunks=Oi.emptyArray,t.prototype.matrix=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Mesh;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.name=t.string();break;case 2:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Li.Chunk.decode(t,t.uint32()));break;case 3:n.matrix&&n.matrix.length||(n.matrix=[]),n.matrix.push(Li.Matrix.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("name"))throw Oi.ProtocolError("missing required 'name'",{instance:n});return n},t})(),Li.Matrix=(()=>{function t(t){if(this.elements=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.elements=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Matrix;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.elements&&n.elements.length||(n.elements=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.elements.push(t.float())}else n.elements.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.Chunk=(()=>{function t(t){if(this.material=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.geometry=null,t.prototype.material=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Chunk;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 2:n.geometry=Li.Geometry.decode(t,t.uint32());break;case 3:n.material&&n.material.length||(n.material=[]),n.material.push(Li.Material.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("geometry"))throw Oi.ProtocolError("missing required 'geometry'",{instance:n});return n},t})(),Li.Geometry=(()=>{function t(t){if(this.groups=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.position=null,t.prototype.uv=null,t.prototype.uv2=null,t.prototype.normal=null,t.prototype.groups=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Geometry;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.position=Li.Position.decode(t,t.uint32());break;case 2:n.uv=Li.UV.decode(t,t.uint32());break;case 3:n.uv2=Li.UV.decode(t,t.uint32());break;case 4:n.normal=Li.Normal.decode(t,t.uint32());break;case 5:n.groups&&n.groups.length||(n.groups=[]),n.groups.push(Li.Group.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("position"))throw Oi.ProtocolError("missing required 'position'",{instance:n});if(!n.hasOwnProperty("normal"))throw Oi.ProtocolError("missing required 'normal'",{instance:n});return n},t})(),Li.Position=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.array=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Position;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.UV=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.array=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.UV;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.Normal=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.array=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Normal;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.Group=(()=>{function t(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.start=0,t.prototype.count=0,t.prototype.materialIndex=0,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Group;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.start=t.uint32();break;case 2:n.count=t.uint32();break;case 3:n.materialIndex=t.uint32();break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("start"))throw Oi.ProtocolError("missing required 'start'",{instance:n});if(!n.hasOwnProperty("count"))throw Oi.ProtocolError("missing required 'count'",{instance:n});if(!n.hasOwnProperty("materialIndex"))throw Oi.ProtocolError("missing required 'materialIndex'",{instance:n});return n},t})(),Li.Material=(()=>{function t(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.kd=null,t.prototype.ks=null,t.prototype.ke=null,t.prototype.mapkd="",t.prototype.mapks="",t.prototype.mapke="",t.prototype.norm="",t.prototype.mapbump="",t.prototype.bump="",t.prototype.mapd="",t.prototype.ns=0,t.prototype.d=0,t.prototype.tr=0,t.prototype.mapkdrepeat="",t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Material;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.kd=Li.Color.decode(t,t.uint32());break;case 2:n.ks=Li.Color.decode(t,t.uint32());break;case 3:n.ke=Li.Color.decode(t,t.uint32());break;case 4:n.mapkd=t.string();break;case 5:n.mapks=t.string();break;case 6:n.mapke=t.string();break;case 7:n.norm=t.string();break;case 8:n.mapbump=t.string();break;case 9:n.bump=t.string();break;case 10:n.mapd=t.string();break;case 11:n.ns=t.float();break;case 12:n.d=t.float();break;case 13:n.tr=t.float();break;case 14:n.mapkdrepeat=t.string();break;default:t.skipType(7&e)}}return n},t})(),Li.Color=(()=>{function t(t){if(this.rgb=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.rgb=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Color;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.rgb&&n.rgb.length||(n.rgb=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.rgb.push(t.float())}else n.rgb.push(t.float());break;default:t.skipType(7&e)}}return n},t})();var Ui=function(t,e){void 0===e&&(e=1e-4),e=Math.max(e,Number.EPSILON);for(var i={},n=t.getIndex(),o=t.getAttribute("position"),s=n?n.count:o.count,a=0,u=Object.keys(t.attributes),l={},h={},c=[],d=["getX","getY","getZ","getW"],p=0,A=u.length;p<A;p++){l[b=u[p]]=[],(I=t.morphAttributes[b])&&(h[b]=new Array(I.length).fill().map((function(){return[]})))}var f=Math.log10(1/e),g=Math.pow(10,f);for(p=0;p<s;p++){var v=n?n.getX(p):p,m="",y=0;for(A=u.length;y<A;y++)for(var b=u[y],w=(E=t.getAttribute(b)).itemSize,x=0;x<w;x++)m+="".concat(~~(E[d[x]](v)*g),",");if(m in i)c.push(i[m]);else{for(y=0,A=u.length;y<A;y++){b=u[y];var E=t.getAttribute(b),I=t.morphAttributes[b],C=(w=E.itemSize,l[b]),S=h[b];for(x=0;x<w;x++){var B=d[x];if(C.push(E[B](v)),I)for(var M=0,P=I.length;M<P;M++)S[M].push(I[M][B](v))}}i[m]=a,c.push(a),a++}}var T=t.clone();for(p=0,A=u.length;p<A;p++){b=u[p];var Q=t.getAttribute(b),R=new Q.array.constructor(l[b]);E=new r.BufferAttribute(R,Q.itemSize,Q.normalized);if(T.setAttribute(b,E),b in h)for(y=0;y<h[b].length;y++){var D=t.morphAttributes[b][y],k=(R=new D.array.constructor(h[b][y]),new r.BufferAttribute(R,D.itemSize,D.normalized));T.morphAttributes[b][y]=k}}return T.setIndex(c),T};function Gi(t){var i;return new((i=r.Triangle).bind.apply(i,e.__spreadArray([void 0],t.map((function(t){return new r.Vector3(t.x,t.y,t.z)})),!1)))}var Wi={at3d:function(t,e){for(var i=ki(e.textureOptions,t.textures.length),n={},r=0,o=t.textures;r<o.length;r++){var s=o[r];n[s]=Ri(s,i,e.allowHosts,e.networkSubscribe)}return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(t){return ii(t.body)})).then((function(t){return Ge((function(){for(var e,i={chunks:[]},n=0,r=t;n<r.length;n++){var o=r[n],s=Ti.decode(o);s.chunks.length&&(e=i.chunks).push.apply(e,s.chunks)}return i}))})).then((function(r){return Ge((function(){return Di(r,t.textureBase,t.textures.slice(),i,n,e.allowHosts,e.networkSubscribe)}))}))},pbm:function(t,e){for(var i=ki(e.textureOptions,t.textures.length),n={},r=0,o=t.textures;r<o.length;r++){var s=o[r];n[s]=Ri(s,i,e.allowHosts,e.networkSubscribe)}return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(t){return Ge((function(){var e=new Uint8Array(t.body);return Ti.decode(e)}))})).then((function(r){return Ge((function(){return Di(r,t.textureBase,t.textures.slice(),i,n,e.allowHosts,e.networkSubscribe)}))}))},dome:function(t,e){return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(i){return _i(new Uint8Array(i.body),t.textureBase,e.textureOptions,e.allowHosts,e.networkSubscribe)}))},domez:function(t,e){return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(t){return ii(t.body)})).then((function(t){var e=t.reduce((function(t,e){return t+e.length}),0),i=new Uint8Array(e),n=0;return t.forEach((function(t){i.set(t,n),n+=t.length})),i})).then((function(i){return _i(i,t.textureBase,e.textureOptions,e.allowHosts,e.networkSubscribe)}))}},Xi=function(t){function i(e){void 0===e&&(e={});var i=t.call(this)||this;return i.empty=!0,i.name="model",i.loaded=!1,i.bvhs=Object.assign([],{loaded:!1}),i.bounding=new r.Box3,i.shownFloor=null,i.floorLength=0,i.networkSubscribe=e.networkSubscribe,i.allowHosts=e.allowHosts,i.renderOrder=-3,i}return e.__extends(i,t),Object.defineProperty(i.prototype,"shownfloor",{get:function(){return this.shownFloor},enumerable:!1,configurable:!0}),i.prototype.getEdges=function(t){var e;void 0===t&&(t=30/180*Math.PI);for(var i=Math.cos(t),n=[],o=0,s=this.children;o<s.length;o++){var a=s[o];if(a instanceof pe){for(var u={},l=["a","b","c"],h=Ui(a.geometry),c=h.getAttribute("position").array,d=(null===(e=h.getIndex())||void 0===e?void 0:e.array)||[],p=[],A=[],f=0,g=c.length;f<g;f+=3)p.push(new r.Vector3(c[f],c[f+1],c[f+2]));for(f=0,g=d.length;f<g;f+=3){var v=d[f],m=d[f+1],y=d[f+2],b=(new r.Vector3).crossVectors(p[m].clone().sub(p[v]),p[y].clone().sub(p[v])).normalize();A.push({a:v,b:m,c:y,normal:b})}for(f=0,g=A.length;f<g;f++)for(var w=A[f],x=0;x<3;x++){var E=w[l[x]],I=w[l[(x+1)%3]],C=[Math.min(E,I),Math.max(E,I)];void 0===u[S=C[0]+"-"+C[1]]?u[S]={index1:C[0],index2:C[1],face1:f}:u[S].face2=f}for(var S in u){var B=u[S];if(void 0===B.face2||A[B.face1].normal.dot(A[B.face2].normal)<=i){var M=p[B.index1],P=p[B.index2];n.push(new r.Line3(M,P))}}h.dispose(),p.length=0,A.length=0}}return n},i.prototype.hasFloors=function(){return this.hasFloors_()},i.prototype.hasFloors_=function(){var t=[];return this.traverse((function(e){e instanceof pe&&(t[e.floorIndex]=!0)})),t.length},i.prototype.show=function(){for(var t,e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var n=this.shownFloor,r=null,o=1,s=null!==(t=e[1])&&void 0!==t?t:.1,a=0!==e.length;this.shownFloor=r=a?e[0]:null,this.traverse((function(t){t instanceof pe&&t.material.forEach((function(e){null===r||r===t.floorIndex?e.opacity=e.originOpacity*o:e.opacity=e.originOpacity*s}))})),n!==this.shownFloor&&this.emit("shownFloorChange",this.shownFloor,this.floorLength),this.needsRender=!0},i.prototype.intersectRaycaster=function(t,e){var i=t.ray,n=i.origin,o=i.direction;if(ji(e))if(ji(this.shownFloor)){var s=this.floorLength;e=[];for(var a=-1;a<s;a++)e.push(a)}else e=[this.shownFloor];var u=[],l=[];Array.isArray(e)?l.push.apply(l,e):l.push(e);for(var h=function(e){var i=c.bvhs&&c.bvhs[e];if(i){var s=new ke(n.x,n.y,n.z),a=new ke(o.x,o.y,o.z);(l=i.intersectRay(s,a,!0).map((function(t){var e=t.intersectionPoint,i=t.triangle,o=new r.Vector3(e.x,e.y,e.z);return{point:o,face:{normal:Gi(i).getNormal(new r.Vector3)},distance:n.distanceTo(o)}}))).length&&u.push.apply(u,l)}else{var l,h=[];c.traverse((function(t){t instanceof pe&&t.floorIndex===e&&h.push(t)})),(l=t.intersectObjects(h).map((function(t){return{face:t.face?{normal:t.face.normal}:void 0,point:t.point,distance:t.distance}}))).length&&u.push.apply(u,l)}},c=this,d=0,p=l;d<p.length;d++){h(p[d])}return u.filter((function(e){var i=e.distance;return i<=t.far&&i>=t.near})).sort((function(t,e){return t.distance-e.distance}))},i.prototype.buildBVH=function(){if(!this.bvhs.loaded){var t=[];this.traverse((function(e){e instanceof pe&&(t[e.floorIndex]=t[e.floorIndex]||[],t[e.floorIndex].push(e.geometry))})),this.bvhs.length=0;for(var e=0,i=t;e<i.length;e++){for(var n=i[e],r=0,o=0,s=n;o<s.length;o++){r+=(c=s[o]).index?c.index.array.length:c.attributes.position.array.length}for(var a=new Float32Array(3*r),u=0,l=0,h=n;l<h.length;l++){var c,d=(c=h[l]).attributes.position.array,p=c.index?c.index.array:null;if(p){for(var A=p.length,f=0,g=void 0,v=void 0;f<A;f++)g=3*(u+f),v=3*p[f],a[g]=d[v],a[g+1]=d[v+1],a[g+2]=d[v+2];u+=A}else{for(A=d.length/3,f=0,g=void 0,v=void 0;f<A;f++)v=3*f,a[g=3*(u+f)]=d[v],a[g+1]=d[v+1],a[g+2]=d[v+2];u+=A}}var m=(new Ke).create(a).splitNode(50);this.bvhs.push(m)}this.bvhs.loaded=!0,this.emit("bvhLoaded")}},i.prototype.load=function(t,e){var i=this;if(void 0===e&&(e={}),!0===this.loaded)throw new Error("[MODEL LOAD ERROR]: model cannot load twice.");var n=function(t,e){void 0===e&&(e=[]);var i=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(t);if(!i)return"";for(var n=0,r=String(i[1]).trim().split(".").slice(1).reverse();n<r.length;n++){var o=r[n],s=e.indexOf(o);if(s>=0)return e[s]}return""}(t.file,Object.keys(Wi)),o=Wi[n];if(!o)throw new Error("[MODEL LOAD ERROR]: file type(".concat(n,") does not support."));return this.name=t.file,o(t,{textureOptions:e,allowHosts:this.allowHosts,networkSubscribe:this.networkSubscribe}).then((function(t){var e=t.objects,n=t.texturePromise;i.bounding.makeEmpty();for(var o=0,s=e;o<s.length;o++){(h=s[o]).traverse((function(t){if(t instanceof pe){var e=t.geometry;e.boundingBox||e.computeBoundingBox(),e.boundingSphere||e.computeBoundingSphere(),i.bounding.union(e.boundingBox)}})),i.add(h)}for(var a=i.bounding.getCenter(new r.Vector3),u=0,l=e;u<l.length;u++){var h;(h=l[u]).traverse((function(t){if(t instanceof pe)for(var e=0,i=t.material;e<i.length;e++){i[e].uniforms.modelCenter.value=a}}))}i.floorLength=i.hasFloors_(),i.empty=!1,i.loaded=!0,Ge((function(){i.emit("geometryLoaded"),n.then((function(){i.emit("materialLoaded"),i.emit("loaded")}))}))})).catch((function(t){return i.name="",i.emit("error",t),Promise.reject(t)}))},i.prototype.dispose=function(){for(this.off(),this.disposeGeometry(),this.disposeMaterial();this.children.length;)this.remove(this.children[0]);this.bvhs.length=0,this.bvhs.loaded=!1},i}(Ae);Object.assign(Xi.prototype,{on:Ot.prototype.on,once:Ot.prototype.once,off:Ot.prototype.off,emit:Ot.prototype.emit,hasListener:Ot.prototype.hasListener});function Yi(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=[];t=t.map((function(t){return t.trim()})).filter((function(t){return t.length>0&&!/^\/+$/.test(t)}));for(var n=0;n<t.length;n++){var r=0===n,o=n===t.length-1,s=t[n];r||(s=s.replace(/^\/+/,"")),o||(s=s.replace(/\/+$/,"")),i.push(s)}return i.join("/")}function Zi(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var i,n,r;if(Array.isArray(t)){if((i=t.length)!=e.length)return!1;for(n=i;0!=n--;)if(!Zi(t[n],e[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((i=(r=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(n=i;0!=n--;)if(!Object.prototype.hasOwnProperty.call(e,r[n]))return!1;for(n=i;0!=n--;){var o=r[n];if(!Zi(t[o],e[o]))return!1}return!0}return t!=t&&e!=e}function Ji(t){return"number"==typeof t}function $i(t){return 0==(t&t-1)&&0!==t}var tn=function(){return new Error("Invalid input.")},en=function(){return new Error("Invalid certificate.")},nn=function(){return new Error("Invalid signature.")};function rn(t,e){void 0===e&&(e=!1);var i=typeof t;if("string"===i)return JSON.stringify(t);if(!0===t)return"true";if(!1===t)return"false";if(null===t)return"null";if(t instanceof Array){for(var n="[",r=t.length-1,o=0;o<r;o++)n+=rn(t[o],!1)+",";return r>-1&&(n+=rn(t[o],!1)),n+"]"}if(t instanceof Object){if("function"==typeof t.toJSON)return rn(t.toJSON(),e);var s=Object.keys(t).sort(),a=s.length;for(n="",o=0;o<a;){var u=s[o],l=rn(t[u],!0);void 0!==l&&(o&&""!==n&&(n+=","),n+=JSON.stringify(u)+":"+l),o++}return"{"+n+"}"}switch(i){case"function":case"undefined":return e?void 0:null;case"number":return 0;default:return isFinite(t)?t:null}}function on(t){return String(rn(t,!1))}function sn(t){var e,i,n;if(Array.isArray(t)){var r,o,s=void 0;if(t.length<=0)return tn();for(var a=function(e){var i=sn(t[e]);if(i instanceof Error)return{value:i};if(s){if(s!==i.issuer)return{value:en()}}else s=i.issuer;r?i.expire.getTime()<r.getTime()&&(r=i.expire):r=i.expire,o=o?o.filter((function(t){return-1!==i.allowHosts.indexOf(t)})):i.allowHosts},u=0;u<t.length;u++){var l=a(u);if("object"==typeof l)return l.value}return Kt({issuer:s,expire:r,allowHosts:o})}var h=JSON.parse(t),c="undefined"!=typeof location?location.hostname:"",d=Date.now();if("object"!=typeof h)return tn();var p=new Date("string"==typeof h.expire_at&&/^\d+$/.test(h.expire_at)?Number(h.expire_at):h.expire_at),A=Array.isArray(h.allow_hosts)?h.allow_hosts:[];if(0===c.length||qt(c)||Ut.filter((function(t){return _t(t,c)})).length>0){var f=String(null!==(e=h.certificate)&&void 0!==e?e:"");if(f){var g=new Mt;return g.readCertPEM(f),Kt({issuer:g.getSubjectString(),expire:p,allowHosts:A})}return Kt({issuer:"none",expire:p,allowHosts:A})}var v=String(null!==(i=h.certificate)&&void 0!==i?i:"");if(!v)return en();var m=new Mt;m.readCertPEM(v);var y=String(null!==(n=h._signature)&&void 0!==n?n:"");return y?!1===function(t,e,i){var n=new Mt;if("string"==typeof i?n.readCertPEM(i):n.readCertHex(i.hex),!1===Dt(n))return!1;var r=new X;return r.readCertPubKeyHex(n.hex,6),!!r.verify(t,N(e))}(on(function(t,e){for(var i={},n=0,r=Object.keys(t);n<r.length;n++){var o=r[n];-1===e.indexOf(o)&&(i[o]=t[o])}return i}(h,["_signature"])),y,m)?nn():d<p.getTime()?0===A.filter((function(t){return _t(t,c)})).length?function(t){return new Error("host(".concat(JSON.stringify(t),") is not allowed."))}(c):Kt({issuer:m.getSubjectString(),expire:p,allowHosts:A}):function(t){return new Error("date(".concat(t.toString(),") expired."))}(p):nn()}var an=new WeakMap,un=function(){function t(){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={mode:"Panorama",latitude:0,longitude:0,panoIndex:0,fov:80},this.observers=[],this.issuer="none",this.raw={works:[""],options:""}}return t.prototype.toJSON=function(){return this.raw.works},t.parse=dn,t}();function ln(t){return null==t?"null":Array.isArray(t)?"array":"object"==typeof t?"dict":"value"}function hn(t,e){var i=ln(t),n=ln(e);if("null"===n)return t;if("value"===n)return e;if(n!==i)return JSON.parse(JSON.stringify(e));if("array"===n)for(var r=0;r<e.length;r++)t[r]=hn(t[r],e[r]);else if("dict"===n)for(var o in e)t[o]=hn(t[o],e[o]);return t}function cn(t,e,i){for(var n,o=JSON.stringify(e),s=[],a=0,u=[].concat(t);a<u.length;a++){var l=u[a];l instanceof un?s.push.apply(s,l.raw.works):"string"==typeof l?s.push(l):s.push(JSON.stringify(l))}var h=sn(s);if(h instanceof Error)return h;e=JSON.parse(o),t=s.map((function(t){return JSON.parse(t)})).reduce((function(t,e){return hn(t,e)}));var c=new un;if(h instanceof Error)return h;c.issuer=h.issuer,c.expire=h.expire,c.allowHosts=h.allowHosts,c.raw={works:s,options:o};var d=null!==(n=t.base_url)&&void 0!==n?n:"";d&&"/"!==d[d.length-1]&&(d+="/");var p=function(t,e){return 0===t.indexOf(e)},A=function(t,n){var r,o=t;if(!0===e.jsonp){o=t.replace(/([\?\#].*)?$/i,"");var s=Pt("".concat(o)).slice(0,7);o="".concat(o,".").concat(s,".jsonp")}if(!0===e.shortPath){var a=o.replace(d,"").split("."),u=null!==(r=a.shift())&&void 0!==r?r:"",l=a.join(".");o=Yi(d,Pt(u))+(l?"."+l:"")}var h=o.replace(d,"");return e.baseURL&&(o=Yi(e.baseURL,h)),i&&i(t,o,h,n),o},f=function(e,i){var n,r,o,s,a,u,l=e;if(!Ni(e)){var h=null!==(u=null!==(s=null!==(r=null===(n=t.panorama)||void 0===n?void 0:n.pano_high_cube_base_url)&&void 0!==r?r:null===(o=t.panorama)||void 0===o?void 0:o.pano_cube_base_url)&&void 0!==s?s:null===(a=t.panorama)||void 0===a?void 0:a.base_url)&&void 0!==u?u:"";h&&(h=Yi(h,String(i))),l=Yi(h,l)}return Ni(l)||(l=Yi(d,l)),p(l,d)||console.warn("".concat(l," is not start with base_url(").concat(d,").")),A(l,"panorama")},g=function(t){var e=t;return Ni(e)||(e=Yi(d,t)),p(e,d)||console.warn("".concat(e," is not start with base_url(").concat(d,").")),A(e,"model")},v=function(t,e){void 0===e&&(e="");var i=t;return Ni(i)||(i=Yi(e,i)),Ni(i)||(i=Yi(d,i)),p(i,d)||console.warn("".concat(i," is not start with base_url(").concat(d,").")),A(i,"texture")};if(h instanceof Error)return h;if(c.workCode=String(t.work_code||t.code||t.vr_code||t.workCode),c.name=String(t.name),h instanceof Error)return h;if(t.initial&&("Floorplan"!==t.initial.mode&&"Topview"!==t.initial.mode&&"Panorama"!==t.initial.mode&&"VRPanorama"!==t.initial.mode&&"Model"!==t.initial.mode&&"DepthPanorama"!==t.initial.mode||(c.initial.mode=t.initial.mode),Ji(t.initial.latitude)&&(c.initial.latitude=t.initial.latitude),Ji(t.initial.longitude)?c.initial.longitude=t.initial.longitude:Ji(t.initial.heading)&&(c.initial.longitude=-(360*(t.initial.heading-.25)+90)/180*Math.PI),Ji(t.initial.fov)&&(c.initial.fov=t.initial.fov),Ji(t.initial.panoIndex)?c.initial.panoIndex=t.initial.panoIndex:Ji(t.initial.pano_index)?c.initial.panoIndex=t.initial.pano_index:Ji(t.initial.pano)&&(c.initial.panoIndex=t.initial.pano)),h instanceof Error)return h;if(t.model){var m={bvh:!0,async:!1,textureBase:"",textures:[]};"boolean"==typeof e.modelBvh?m.bvh=e.modelBvh:"boolean"==typeof t.model.bvh?m.bvh=t.model.bvh:"boolean"==typeof t.bvh&&(m.bvh=t.bvh),t.model.file?m.file=g(t.model.file):t.model.file_url&&(m.file=g(t.model.file_url)),t.model.textureBase?m.textureBase=t.model.textureBase:t.model.material_base_url&&(m.textureBase=t.model.material_base_url),Array.isArray(t.model.textures)?m.textures=t.model.textures.map((function(t){return v(t,m.textureBase)})):Array.isArray(t.model.material_textures)&&(m.textures=t.model.material_textures.map((function(t){return v(t,m.textureBase)}))),m.file&&(c.model=m)}if(h instanceof Error)return h;if(t.observers&&Array.isArray(t.observers)){var y=[];t.panorama&&(Array.isArray(t.panorama)?y=t.panorama:Array.isArray(t.panorama.list)?y=t.panorama.list:Array.isArray(t.panorama.info)&&(y=t.panorama.info));for(var b=0;b<t.observers.length;b++){var w={},x=t.observers[b];if(!x)break;var E=y[b];if(!E)break;x=Object.assign({},x,E,{active:!1!==x.active&&!1!==E.active}),w.panoIndex=b,w.active=!1!==x.active,w.loadable=!0===x.loadable,w.images={up:f(x.images?x.images.up:x.up,b),down:f(x.images?x.images.down:x.down,b),right:f(x.images?x.images.right:x.right,b),left:f(x.images?x.images.left:x.left,b),front:f(x.images?x.images.front:x.front,b),back:f(x.images?x.images.back:x.back,b)};var I=x.images?x.images.depth:x.depth;I&&(w.images.depth=f(I,b));var C=x.images?x.images.luminance:x.luminance;C&&(w.images.luminance={up:f(C.up,b),down:f(C.down,b),right:f(C.right,b),left:f(C.left,b),front:f(C.front,b),back:f(C.back,b)});var S=x.images?x.images.tiles:x.tiles;if(S){for(var B=[],M=function(t){var e=t.match(/\/cube_(\d+)\//);if(e){var i=Number(e[1]);if($i(i))return i}return!1},P=function(t,e){return t.replace(/\/cube_(\d+)\//,(function(){return"/cube_".concat(e,"/")}))},T=0,Q=S;T<Q.length;T++){var R=Q[T];if("number"==typeof R){var D=R,k=M(w.images.front);if(!1===k)continue;if((K=Math.max(k,512*Math.pow(2,D)))>2048){var N=P(w.images.up,K),F=P(w.images.down,K),O=P(w.images.right,K),L=P(w.images.left,K),V=P(w.images.front,K),H=P(w.images.back,K);B.push({level:D,size:K,up:N,down:F,right:O,left:L,front:V,back:H})}else{N=w.images.up,F=w.images.down,O=w.images.right,L=w.images.left,V=w.images.front,H=w.images.back;B.push({level:D,size:K,up:N,down:F,right:O,left:L,front:V,back:H})}}else{var K;if("number"!=typeof(D=R.level))continue;if("number"!=typeof(K=R.size))continue;N=f(R.up,b),F=f(R.down,b),O=f(R.right,b),L=f(R.left,b),V=f(R.front,b),H=f(R.back,b);B.push({level:D,size:K,up:N,down:F,right:O,left:L,front:V,back:H})}}B.sort((function(t,e){return t.level-e.level})),w.images.tiles=B}if(x.position instanceof r.Vector3)w.position=x.position.clone();else{if(!Array.isArray(x.position))break;w.position=(new r.Vector3).fromArray(x.position)}if(x.standingPosition instanceof r.Vector3)w.standingPosition=x.standingPosition.clone();else if(Array.isArray(x.standingPosition))w.standingPosition=(new r.Vector3).fromArray(x.standingPosition);else if(x.standing_position instanceof r.Vector3)w.standingPosition=x.standing_position.clone();else{if(!Array.isArray(x.standing_position))break;w.standingPosition=(new r.Vector3).fromArray(x.standing_position)}if(x.quaternion instanceof r.Quaternion)w.quaternion=x.quaternion.clone();else if(Array.isArray(x.quaternion))w.quaternion=(new r.Quaternion).fromArray(x.quaternion);else{if(!x.quaternion)break;var z=x.quaternion,q=z.x,_=z.y,j=z.z,U=z.w;w.quaternion=new r.Quaternion(q,_,j,U)}if(Array.isArray(x.accessibleNodes)?w.accessibleNodes=x.accessibleNodes.slice():Array.isArray(x.accessible_nodes)&&(w.accessibleNodes=x.accessible_nodes.slice()),Array.isArray(x.visibleNodes)?w.visibleNodes=x.visibleNodes.slice():Array.isArray(x.visible_nodes)&&(w.visibleNodes=x.visible_nodes.slice()),Ji(x.floorIndex)?w.floorIndex=x.floorIndex:Ji(x.floor_index)?w.floorIndex=x.floor_index:w.floorIndex=0,x.video){var G={};"string"==typeof x.video.source&&(G.source=x.video.source),x.video.matrix instanceof r.Matrix4?G.matrix=x.video.matrix.clone():Array.isArray(x.video.matrix)&&(G.matrix=(new r.Matrix4).fromArray(x.video.matrix)),x.video.size instanceof r.Vector2?G.size=x.video.size.clone():Array.isArray(x.video.size)&&(G.size=(new r.Vector2).fromArray(x.video.size)),G.source&&G.matrix&&G.size&&(w.video=G)}c.observers[b]=w}}if(h instanceof Error)return h;for(var W=0,X=c.observers;W<X.length;W++){if(!(w=X[W]).accessibleNodes){w.accessibleNodes=[];for(var Y=0;Y<c.observers.length;Y++)c.observers[Y]!==w&&w.accessibleNodes.push(Y)}if(!w.visibleNodes){w.visibleNodes=[];for(Y=0;Y<c.observers.length;Y++)c.observers[Y]!==w&&w.visibleNodes.push(Y)}}if(h instanceof Error)return h;var Z=Kt(c);return an.set(Z,{works:s,options:o}),Z}function dn(t,e,i){"string"==typeof t&&"{"===t.trim()[0]&&(t=JSON.parse(t));var n=an.get(t);if(n){if(e&&!Zi(JSON.parse(n.options),e))throw new Error("[PARSE FAILED]: work is parsed with different options.");return t}var r=cn(t,null!=e?e:{},i);if(r instanceof Error)throw new Error("[PARSE FAILED]: "+r.message);return r}function pn(t,e,i){return t<e?e:t>i?i:t}function An(t,e,i){return t+(e-t)*i}function fn(t,e){var i=e[1]-e[0];return t<e[0]?fn(t+i,e):t>=e[1]?fn(t-i,e):t}function gn(t,e,i,n){return n?function(t,e,i,n){var r=n[1]-n[0];return t=fn(t,n),An((e=fn(e,n))-t>r/2?t+r:t-e>r/2?t-r:t,e,i)}(t,e,i,n):An(t,e,i)}var vn=function(){function t(t){for(var i in this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=Ht(),this.startVelocity=0,this.duration=0,this.keyframes=[],t){var n=t[i];"number"==typeof n?(this.value[i]=n,this.config[i]={circle:!1}):(this.value[i]=n.value,this.config[i]={circle:n.circle})}this.keyframes=[{progress:0,value:e.__assign({},this.value)},{progress:1,value:e.__assign({},this.value)}]}return t.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-function(t,e,i,n){var r=(e*i+2*t)/Math.pow(i,3),o=-(2*e*i+3*t)/Math.pow(i,2),s=e,a=t;return r*Math.pow(n,3)+o*Math.pow(n,2)+s*n+a}(1,this.startVelocity,this.duration,e)},t.prototype.getValue=function(t){for(var i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>t){var n=this.keyframes[i-1],r=this.keyframes[i],o={};for(var s in this.config){var a=(t-n.progress)/(r.progress-n.progress);o[s]=gn(n.value[s],r.value[s],a,this.config[s].circle)}return o}return e.__assign({},this.keyframes[this.keyframes.length-1].value)},t.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:function(t,e,i,n){var r=(e*i+2*t)/Math.pow(i,3),o=-(2*e*i+3*t)/Math.pow(i,2),s=e;return 3*r*Math.pow(n,2)+2*o*n+s}(1,this.startVelocity,this.duration,e)},t.prototype.update=function(t){return!!this.ended||(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},t.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>e)return[this.keyframes[i-1],this.keyframes[i]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},t.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},t.prototype.set=function(t,e,i,n){var r;void 0===i&&(i=0),isNaN(e)&&(e=0),isNaN(i)&&(i=0),n=null!=n?n:Ht();var o=this.getProgress(n),s=this.getValue(o),a={};for(var u in this.config)a[u]=null!==(r=t[u])&&void 0!==r?r:s[u];var l=[{progress:0,value:s},{progress:1,value:a}];return this.setKeyframes(l,e,i,n)},t.prototype.setKeyframes=function(t,i,n,r){var o=this;if(void 0===n&&(n=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(i)&&(i=0),isNaN(n)&&(n=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise((function(s,a){r=null!=r?r:Ht(),o.progress=0,o.ended=!1,o.startTime=r,o.startVelocity=n,o.keyframes=t,o.duration=i,0===i?(o.progress=1,o.value=e.__assign({},t[t.length-1].value)):o.value=e.__assign({},t[0].value),o.callbacks=[s,a]}))},t.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},t}(),mn=me(),yn=new r.Texture(mn);mn.onload=function(){return yn.needsUpdate=!0},mn.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC";var bn=new r.RingBufferGeometry(.06,.07,32).rotateX(-Math.PI/2),wn=new r.MeshBasicMaterial({map:yn,transparent:!0}),xn=new r.SphereBufferGeometry(.12,16,16),En=new r.MeshBasicMaterial({color:16777215,opacity:0,transparent:!0});function In(){if("undefined"==typeof document){var t=new r.Texture;return Object.assign(t,{draw:function(t){},retain:!1,pool:!1})}var e=document.createElement("canvas"),i=512,n=256,o=190;e.setAttribute("width",String(i)),e.setAttribute("height",String(i));var s=new r.Texture(e),a=e.getContext("2d");if(!a)throw Error("cannot create canvas context");var u=a.createRadialGradient(n,n,150,n,n,0);function l(){var t=Math.PI/12,e=2*Math.PI/3;a&&(a.beginPath(),a.arc(n,n,o,0*e,1*e-t),a.stroke(),a.beginPath(),a.arc(n,n,o,1*e,2*e-t),a.stroke(),a.beginPath(),a.arc(n,n,o,2*e,3*e-t),a.stroke())}function h(t){a&&(a.clearRect(0,0,i,i),a.lineWidth=20,-1!==t&&(a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, 1)",l(),a.globalCompositeOperation="source-in",a.beginPath(),a.arc(n,n,o,0,2*Math.PI*t),a.strokeStyle="rgba(255, 255, 255, 1)",a.stroke(),a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, "+(t?.5:1)+")",l()),a.beginPath(),a.arc(n,n,150,0,2*Math.PI),a.closePath(),a.fillStyle=u,a.fill(),a.fillStyle="rgba(255, 255, 255, 0.01)",a.fillRect(0,0,i,i),s.needsUpdate=!0)}return u.addColorStop(0,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 0.5)"),u.addColorStop(.4,"rgba(255, 255, 255, 0.0)"),u.addColorStop(1,"rgba(255, 255, 255, 0.0)"),h(0),Object.assign(s,{draw:h,retain:!1,pool:!1})}var Cn=[];var Sn=In();Sn.draw(0);var Bn=In();Bn.draw(1);var Mn=In();Mn.draw(-1);var Pn=new r.CircleBufferGeometry(.12,32).rotateX(-Math.PI/2);function Tn(){return new r.Mesh(Pn,new r.MeshBasicMaterial({map:Sn,transparent:!0}))}function Qn(t,e){var i=t.map;0===e||1===e?(!0===i.pool&&(i.retain=!1),0===e&&(t.map=Sn),1===e&&(t.map=Bn)):(!0!==i.pool&&(t.map=function(){for(var t=0,e=Cn;t<e.length;t++){var i=e[t];if(!1===i.retain)return i}var n=In();return n.pool=!0,n.retain=!0,Cn.push(n),n}()),t.map.draw(e))}var Rn=function(t){function i(){var e=t.call(this)||this;return e.loading=!1,e.disabled=!1,e.current=!1,e.progress=0,e.opacity=0,e.hitTestMesh=new r.Mesh(xn,En),e.add(e.hitTestMesh),e.centerMesh=Tn(),e.centerMesh.position.y+=.01,e.add(e.centerMesh),e.loadingMesh=new r.Mesh(bn,wn),e.loadingMesh.position.y+=.011,e.progressMotion=new vn({progress:e.progress}),e.opacityMotion=new vn({opacity:e.opacity}),e.needsRender=!0,e.renderOrder=-2,e}return e.__extends(i,t),i.prototype.setLoading=function(t){var e=this;this.loading=t,this.stopInterval&&this.stopInterval(),t?(this.add(this.loadingMesh),this.stopInterval=se.shared.add((function(){e.loadingMesh.rotateOnAxis(new r.Vector3(0,1,0),.1),e.needsRender=!0}))):this.remove(this.loadingMesh),this.needsRender=!0},i.prototype.setDisabled=function(t){this.disabled=t,function(t,e){var i=t.map;!0===i.pool&&(i.retain=!1),t.map=e?Mn:Sn}(this.centerMesh.material,t),this.needsRender=!0},i.prototype.setProgress=function(t){this.setLoading(!1),this.setDisabled(!1),this.progress=t=pn(t,0,1),t!==this.progressMotion.getTargetKeyframe().value.progress&&this.progressMotion.set({progress:t},120).catch(Lt)},i.prototype.setOpacity=function(t){this.opacity=t=pn(t,0,1),this.current&&(t=1),t!==this.opacityMotion.getTargetKeyframe().value.opacity&&this.opacityMotion.set({opacity:t},500).catch(Lt)},i.prototype.setCurrent=function(t){this.current!==t&&(this.current=t,this.setOpacity(this.opacity))},i.prototype.updateTime=function(t,e){this.opacityMotion.ended||(this.opacityMotion.update(t),this.centerMesh.material.opacity=this.opacityMotion.value.opacity,this.needsRender=!0),this.progressMotion.ended||(this.progressMotion.update(t),Qn(this.centerMesh.material,this.progressMotion.value.progress),this.needsRender=!0)},i.prototype.dispose=function(){this.setLoading(!1),this.remove(this.hitTestMesh),this.remove(this.centerMesh),this.remove(this.loadingMesh),this.centerMesh.material.dispose()},i}(r.Object3D),Dn=new Float32Array([-.13,0,-.13,.13,0,-.13,-.13,0,.13,.13,0,.13]),kn=new Float32Array([0,1,1,1,0,0,1,0]),Nn=new Uint8Array([0,2,1,2,3,1]),Fn=new r.BufferGeometry;Fn.setAttribute("position",new r.BufferAttribute(Dn,3)),Fn.setAttribute("uv",new r.BufferAttribute(kn,2)),Fn.setIndex(new r.BufferAttribute(Nn,1));var On,Ln,Vn=(On=me(),Ln=new r.Texture,On.onload=function(){if("undefined"!=typeof document){var t=256,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){i.drawImage(On,0,0,t,t),i.globalCompositeOperation="source-out";var n=128;i.beginPath(),i.lineWidth=29.952,i.arc(n,n,84.48,0,2*Math.PI),i.strokeStyle="rgba(255, 255, 255, 0.5)",i.closePath(),i.stroke(),Ln.image=e,Ln.needsUpdate=!0}}},On.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC",Ln),Hn=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256,n=199.68;return e.beginPath(),e.arc(i,i,n,0,2*Math.PI),e.fillStyle="rgba(255, 255, 255, 0.1)",e.closePath(),e.fill(),e.save(),e.beginPath(),e.arc(i,i,n,0,2*Math.PI),e.strokeStyle="rgba(255, 255, 255, 0.5)",e.lineWidth=10.24,e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),Kn=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256,n=138.24,o=e.createLinearGradient(i-Math.cos(Math.PI/4)*n,i-Math.sin(Math.PI/4)*n,i+Math.cos(Math.PI/4)*n,i+Math.sin(Math.PI/4)*n);return o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.6)"),o.addColorStop(1,"rgba(255, 255, 255, 1)"),e.beginPath(),e.lineWidth=33.28,e.arc(i,i,n,0,2*Math.PI),e.strokeStyle=o,e.shadowBlur=38.4,e.shadowColor="rgba(0, 0, 0, 0.3)",e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),zn=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256,n=199.68,o=e.createLinearGradient(i+Math.cos(Math.PI/4)*n,i-Math.sin(Math.PI/4)*n,i-Math.cos(Math.PI/4)*n,i+Math.sin(Math.PI/4)*n);return o.addColorStop(0,"rgba(255, 255, 255, 0.5)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.1)"),o.addColorStop(1,"rgba(255, 255, 255, 0.5)"),e.beginPath(),e.lineWidth=15.36,e.arc(i,i,n,0,2*Math.PI),e.strokeStyle=o,e.shadowBlur=25.6,e.shadowColor="rgba(0, 0, 0, 0.5)",e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),qn=function(t,e){var i=128;t.clearRect(0,0,256,256),t.beginPath(),t.lineWidth=29.44,t.arc(i,i,84.48,0,2*Math.PI*e),t.strokeStyle="rgba(255, 255, 255, 0.2)",t.stroke()},_n=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(256)),t.setAttribute("height",String(256));var e=t.getContext("2d");e&&qn(e,2*Math.PI);var i=new r.CanvasTexture(t);return Object.assign(i,{setProgress:function(t){e&&(qn(e,t),i.needsUpdate=!0)}})}return null},jn=[],Un=_n(),Gn=function(t){function i(){var i=t.call(this)||this;i.progress=0,i.opacity=0,i.loading=!1,i.current=!1,i.disabled=!1,i.ringRotateMotion=new vn({angle:0}),i.tapMotion=new vn({scale:1,opacity:1}),i.progressMotion=new vn({progress:0}),i.progressOpacityMotion=new vn({opacity:0}),i.opacityMotion=new vn({opacity:0});var n={blending:r.CustomBlending,blendSrc:r.SrcAlphaFactor,blendDst:r.OneMinusSrcAlphaFactor,blendSrcAlpha:r.OneFactor,blendDstAlpha:r.OneMinusSrcAlphaFactor,depthWrite:!1};return i.centerMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Kn,opacity:0}))),i.ringMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:zn,opacity:0}))),i.loadingMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Vn,opacity:.5}))),i.disableMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Hn,opacity:0}))),i.progressMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Un,opacity:0}))),i.loadingMesh.visible=!1,i.disableMesh.visible=!1,i.ringMesh.position.y=.003,i.disableMesh.position.y=.002,i.centerMesh.position.y=.002,i.loadingMesh.position.y=.005,i.progressMesh.position.y=.004,i.centerMesh.frustumCulled=!1,i.ringMesh.frustumCulled=!1,i.progressMesh.frustumCulled=!1,i.loadingMesh.frustumCulled=!1,i.disableMesh.frustumCulled=!1,i.renderOrder=-2,i.add(i.centerMesh),i.add(i.ringMesh),i.add(i.progressMesh),i.add(i.loadingMesh),i.add(i.disableMesh),i.needsRender=!0,i}return e.__extends(i,t),i.prototype.setProgress=function(t){this.setDisabled(!1),this.setLoading(!1),this.progress!==t&&(t=pn(t,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},300).catch(Lt),0===t?(this.progressOpacityMotion.set({opacity:0},300).catch(Lt),this.progressMotion.set({progress:pn(1.2*t,0,1)},0).catch(Lt)):this.progressMotion.set({progress:pn(1.2*t,0,1)},100).catch(Lt)),this.progress=t)},i.prototype.setOpacity=function(t){this.opacity!==t&&(this.opacity=t=pn(t,0,1),this.opacityMotion.set({opacity:t},500).catch(Lt))},i.prototype.setCurrent=function(t){if(this.current!==t){if(!0===t&&this.ringRotateMotion.ended){var e=[{progress:0,value:{angle:0}},{progress:1,value:{angle:2*Math.PI}}];this.ringRotateMotion.setKeyframes(e,5e3).catch(Lt)}this.current=t}},i.prototype.setLoading=function(t){this.loading!==t&&(this.loading=t,!0===this.disabled&&this.setDisabled(!1),this.loadingMesh.visible=t,this.needsRender=!0)},i.prototype.setDisabled=function(t){this.disabled!==t&&(this.disabled=t,!0===this.loading&&this.setLoading(!1),this.disableMesh.visible=t,this.ringMesh.visible=!t,this.centerMesh.visible=!t,this.needsRender=!0)},i.prototype.tap=function(){var t=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(Lt),this.progressMotion.set({progress:0},0).catch(Lt),this.tapMotion.setKeyframes([{progress:0,value:{scale:1,opacity:1}},{progress:.3,value:{scale:.85,opacity:.5}},{progress:.8,value:{scale:1.05,opacity:.6}},{progress:1,value:{scale:1,opacity:1}}],600).then((function(){t.progressOpacityMotion.set({opacity:t.progress>0?1:0},300).catch(Lt),t.progressMotion.set({progress:t.progress},120).catch(Lt)})).catch(Lt)},i.prototype.updateTime=function(t,e){var i;if(!this.progressMotion.ended){this.progressMotion.update(t);var n=this.progressMotion.value.progress;if(null!==this.progressMesh.material.map)if(0===n)this.progressMesh.material.map!==Un&&(jn.push(this.progressMesh.material.map),this.progressMesh.material.map=Un);else if(1===n)this.progressMesh.material.map!==Un&&(jn.push(this.progressMesh.material.map),this.progressMesh.material.map=Un);else{if(this.progressMesh.material.map===Un){var o=jn.pop()||_n();this.progressMesh.material.map=o}null===(i=this.progressMesh.material.map)||void 0===i||i.setProgress(n)}this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(t);var s=this.progressOpacityMotion.value.opacity;this.progressMesh.material.opacity=s,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(t);s=this.opacityMotion.value.opacity*this.tapMotion.value.opacity;this.centerMesh.material.opacity=s,this.ringMesh.material.opacity=s,this.disableMesh.material.opacity=s,this.loadingMesh.material.opacity=s,this.needsRender=!0}if(!0===this.loadingMesh.visible&&(this.loadingMesh.rotateY(-e/120),this.needsRender=!0),!this.tapMotion.ended){this.tapMotion.update(t);var a=this.tapMotion.value.scale;this.centerMesh.scale.set(a,a,a),this.ringMesh.scale.set(a,a,a),this.progressMesh.scale.set(a,a,a);s=this.opacityMotion.value.opacity*this.tapMotion.value.opacity;this.centerMesh.material.opacity=s,this.ringMesh.material.opacity=s,this.disableMesh.material.opacity=s,this.loadingMesh.material.opacity=s,this.needsRender=!0}this.ringRotateMotion.ended||(this.ringRotateMotion.update(t),this.ringMesh.quaternion.setFromEuler(new r.Euler(0,this.ringRotateMotion.value.angle,0)),this.needsRender=!0)},i.prototype.dispose=function(){this.ringRotateMotion.dispose(),this.tapMotion.dispose(),this.progressMotion.dispose(),this.progressOpacityMotion.dispose(),this.opacityMotion.dispose(),this.progressMesh.material.map!==Un&&(jn.push(this.progressMesh.material.map),this.progressMesh.material.map=null),this.ringMesh.material.dispose(),this.disableMesh.material.dispose(),this.centerMesh.material.dispose(),this.loadingMesh.material.dispose(),this.progressMesh.material.dispose()},i}(r.Object3D),Wn=new r.CircleBufferGeometry(.1,16),Xn=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256,o=192,s=76.8;i.lineWidth=s,i.arc(n,n,o,0,2*Math.PI),i.strokeStyle="rgba(147, 162, 255, 0.3)",i.shadowBlur=12.8,i.shadowColor="rgba(255, 255, 255, 0.6)",i.stroke(),i.lineWidth=s,i.arc(n,n,o,0,2*Math.PI);var a=i.createRadialGradient(n,n,153.6,n,n,230.4);a.addColorStop(0,"rgba(255, 255, 255, 0.3)"),a.addColorStop(.3,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.7,"rgba(255, 255, 255, 0.0)"),a.addColorStop(1,"rgba(255, 255, 255, 0.3)"),i.strokeStyle=a,i.stroke(),i.beginPath(),i.lineWidth=4.8,i.arc(n,n,228,0,2*Math.PI);var u=i.createLinearGradient(0,0,t,0);return u.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),u.addColorStop(.08,"rgba(255, 255, 255, 0.0)"),u.addColorStop(.92,"rgba(255, 255, 255, 0.0)"),u.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=u,i.stroke(),new r.CanvasTexture(e)}}return null}(),Yn=new r.MeshBasicMaterial({map:Xn,transparent:!0}),Zn=function(t){function i(){var e=t.call(this)||this;return e.ringMesh=new r.Mesh(Wn,Yn),e.ringMesh.renderOrder=-3,e.add(e.ringMesh),e}return e.__extends(i,t),i.prototype.dispose=function(){this.remove(this.ringMesh)},i}(r.Object3D);function Jn(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function $n(){return(Jn()+Jn()+"-"+Jn()+"-4"+Jn().substr(0,3)+"-"+Jn()+"-"+Jn()+Jn()+Jn()).toLowerCase()}function tr(t,e,i){var n=Math.abs(t-e);return n<.001||void 0!==i&&Math.abs(i-n)<.001}function er(t,e,i){return!tr(t,e,i)}function ir(t,e){return t.distanceTo(e)<.001}function nr(t,e){return!ir(t,e)}var rr=new r.Vector3(0,0,0),or=function(t){function i(e,i){void 0===i&&(i=rr);var n=t.call(this)||this,o=new r.BoxBufferGeometry(e.max.x-e.min.x+2*i.x,e.max.y-e.min.y+2*i.y,e.max.z-e.min.z+2*i.z,1,1);o.groups.length=0,o.groups.push({start:0,count:36,materialIndex:0}),o.applyMatrix4((new r.Matrix4).makeScale(-1,1,1));var s=new Ee;s.defines.USE_MAP=!1,s.defines.USE_UV=!1,s.uniforms.diffuse.value=new r.Color(16777215);var a=new pe(o,[s]);return a.floorIndex=-1,a.position.copy(e.getCenter(new r.Vector3)),a.frustumCulled=!1,n.renderOrder=-3,n.add(a),n.boundingBox=new r.Box3,n.computeBoundingBox(),n}return e.__extends(i,t),i.prototype.computeBoundingBox=function(){this.boundingBox.setFromObject(this)},i.prototype.dispose=function(){this.disposeMaterial(),this.disposeGeometry()},i}(fe);function sr(t,e){return void 0===e&&(e=rr),new or(t,e)}var ar=2*Math.PI;function ur(t){return t>=0&&t<ar?t:(t%ar+ar)%ar}var lr=Math.PI,hr=2*lr;function cr(t,e,i){if(t===e)return e;var n=e-t;return Math.abs(n)<=i?e:t+(n>0?1:-1)*i}!function(){try{var t=document.createElement("canvas");!window.WebGLRenderingContext||!t.getContext("webgl")&&t.getContext("experimental-webgl")}catch(t){return!1}}();var dr=function(){var t="undefined"!=typeof navigator?navigator.userAgent.toLowerCase():"node";return/android/i.test(t)||/webos/i.test(t)||/ipad|iphone|ipod/i.test(t)||/iemobile/i.test(t)||/opera mini/i.test(t)||/blackberry/i.test(t)||/windows phone/i.test(t)};function pr(t,e){t.mode=e.mode,t.panoIndex=e.panoIndex,t.longitude=e.longitude,t.latitude=e.latitude,t.fov=e.fov,t.offset.copy(e.offset)}function Ar(t,e){return t.panoIndex===e.panoIndex&&t.mode===e.mode&&tr(t.longitude,e.longitude,2*Math.PI)&&tr(t.latitude,e.latitude)&&tr(t.fov,e.fov)&&ir(t.offset,e.offset)}var fr=function(t){return Number(t)};function gr(t,e,i){var n;void 0===e&&(e=fr),void 0===i&&(i=!1);for(var r,o=1/0,s=0,a=t;s<a.length;s++){var u=a[s],l=e(u);l<=o&&(r=(n=[u,l])[0],o=n[1])}return i?[r,o]:r}function vr(t){for(var e in t)return!1;return!0}function mr(t){return{longitude:t.longitude,latitude:t.latitude,fov:t.fov,offset:t.offset.clone()}}
|
|
367
|
+
function(t,e){for(var i=t.toByteArray(),n=0;n<i.length&&0==i[n];)++n;if(i.length-n!=e-1||2!=i[n])return null;for(++n;0!=i[n];)if(++n>=i.length)return null;for(var r="";++n<i.length;){var o=255&i[n];o<128?r+=String.fromCharCode(o):o>191&&o<224?(r+=String.fromCharCode((31&o)<<6|63&i[n+1]),++n):(r+=String.fromCharCode((15&o)<<12|(63&i[n+1])<<6|63&i[n+2]),n+=2)}return r}(i,this.n.bitLength()+7>>3)},X.prototype.decryptOAEP=function(t,e,i){if(t.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var n=G(t,16),r=this.doPrivate(n);return null==r?null:function(t,e,i,n){var r=u.crypto.MessageDigest,o=u.crypto.Util,s=null;for(i||(i="sha1"),"string"==typeof i&&(s=r.getCanonicalAlgName(i),n=r.getHashLength(s),i=function(t){return rt(o.hashHex(ot(t),s))}),t=t.toByteArray(),a=0;a<t.length;a+=1)t[a]&=255;for(;t.length<e;)t.unshift(0);if((t=String.fromCharCode.apply(String,t)).length<2*n+2)throw"Cipher too short";var a,l=t.substr(1,n),h=t.substr(n+1),c=Y(h,n,i),d=[];for(a=0;a<l.length;a+=1)d[a]=l.charCodeAt(a)^c.charCodeAt(a);var p=Y(String.fromCharCode.apply(String,d),t.length-n,i),A=[];for(a=0;a<h.length;a+=1)A[a]=h.charCodeAt(a)^p.charCodeAt(a);if((A=String.fromCharCode.apply(String,A)).substr(0,n)!==i(""))throw"Hash mismatch";var f=(A=A.substr(n)).indexOf("");if((-1!=f?A.substr(0,f).lastIndexOf("\0"):-1)+1!=f)throw"Malformed data";return A.substr(f+1)}(r,this.n.bitLength()+7>>3,e,i)},void 0!==u.lang&&u.lang||(u.lang={}),u.lang.String=function(){},u.lang.String.isInteger=function(t){return!!t.match(/^[0-9]+$/)||!!t.match(/^-[0-9]+$/)},u.lang.String.isHex=function(t){return ct(t)},u.lang.String.isBase64=function(t){return!(!(t=t.replace(/\s+/g,"")).match(/^[0-9A-Za-z+\/]+={0,3}$/)||t.length%4!=0)},u.lang.String.isBase64URL=function(t){return!t.match(/[+/=]/)&&(t=$(t),u.lang.String.isBase64(t))},u.lang.String.isIntegerArray=function(t){return!!(t=t.replace(/\s+/g,"")).match(/^\[[0-9,]+\]$/)},u.lang.String.isPrintable=function(t){return null!==t.match(/^[0-9A-Za-z '()+,-./:=?]*$/)},u.lang.String.isIA5=function(t){return null!==t.match(/^[\x20-\x21\x23-\x7f]*$/)},u.lang.String.isMail=function(t){return null!==t.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)};var pt=function(t,e,i){return null==i&&(i="0"),t.length>=e?t:new Array(e-t.length+1).join(i)+t};function At(t,e){var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e)}void 0!==u.crypto&&u.crypto||(u.crypto={}),u.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:h.algo.MD5,sha1:h.algo.SHA1,sha224:h.algo.SHA224,sha256:h.algo.SHA256,sha384:h.algo.SHA384,sha512:h.algo.SHA512,ripemd160:h.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,i){var n=this.getDigestInfoHex(t,e),r=i/4;if(n.length+22>r)throw"key is too short for SigAlg: keylen="+i+","+e;for(var o="0001",s="00"+n,a="",u=r-o.length-s.length,l=0;l<u;l+=2)a+="ff";return o+a+s},this.hashString=function(t,e){return new u.crypto.MessageDigest({alg:e}).digestString(t)},this.hashHex=function(t,e){return new u.crypto.MessageDigest({alg:e}).digestHex(t)},this.sha1=function(t){return this.hashString(t,"sha1")},this.sha256=function(t){return this.hashString(t,"sha256")},this.sha256Hex=function(t){return this.hashHex(t,"sha256")},this.sha512=function(t){return this.hashString(t,"sha512")},this.sha512Hex=function(t){return this.hashHex(t,"sha512")},this.isKey=function(t){return t instanceof X||t instanceof u.crypto.DSA||t instanceof u.crypto.ECDSA}},u.crypto.Util.md5=function(t){return new u.crypto.MessageDigest({alg:"md5",prov:"cryptojs"}).digestString(t)},u.crypto.Util.ripemd160=function(t){return new u.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"}).digestString(t)},u.crypto.Util.SECURERANDOMGEN=new U,u.crypto.Util.getRandomHexOfNbytes=function(t){var e=new Array(t);return u.crypto.Util.SECURERANDOMGEN.nextBytes(e),Z(e)},u.crypto.Util.getRandomBigIntegerOfNbytes=function(t){return new c(u.crypto.Util.getRandomHexOfNbytes(t),16)},u.crypto.Util.getRandomHexOfNbits=function(t){var e=t%8,i=new Array((t-e)/8+1);return u.crypto.Util.SECURERANDOMGEN.nextBytes(i),i[0]=(255<<e&255^255)&i[0],Z(i)},u.crypto.Util.getRandomBigIntegerOfNbits=function(t){return new c(u.crypto.Util.getRandomHexOfNbits(t),16)},u.crypto.Util.getRandomBigIntegerZeroToMax=function(t){for(var e=t.bitLength();;){var i=u.crypto.Util.getRandomBigIntegerOfNbits(e);if(-1!=t.compareTo(i))return i}},u.crypto.Util.getRandomBigIntegerMinToMax=function(t,e){var i=t.compareTo(e);if(1==i)throw"biMin is greater than biMax";if(0==i)return t;var n=e.subtract(t);return u.crypto.Util.getRandomBigIntegerZeroToMax(n).add(t)},u.crypto.MessageDigest=function(t){this.setAlgAndProvider=function(t,e){if(null!==(t=u.crypto.MessageDigest.getCanonicalAlgName(t))&&void 0===e&&(e=u.crypto.Util.DEFAULTPROVIDER[t]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(t)&&"cryptojs"==e){try{this.md=u.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[t].create()}catch(e){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+e}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){var e=h.enc.Hex.parse(t);this.md.update(e)},this.digest=function(){return this.md.finalize().toString(h.enc.Hex)},this.digestString=function(t){return this.updateString(t),this.digest()},this.digestHex=function(t){return this.updateHex(t),this.digest()}}if(-1!=":sha256:".indexOf(t)&&"sjcl"==e){try{this.md=new sjcl.hash.sha256}catch(e){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+e}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){var e=sjcl.codec.hex.toBits(t);this.md.update(e)},this.digest=function(){var t=this.md.finalize();return sjcl.codec.hex.fromBits(t)},this.digestString=function(t){return this.updateString(t),this.digest()},this.digestHex=function(t){return this.updateHex(t),this.digest()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==t&&void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov&&(this.provName=u.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},u.crypto.MessageDigest.getCanonicalAlgName=function(t){return"string"==typeof t&&(t=(t=t.toLowerCase()).replace(/-/,"")),t},u.crypto.MessageDigest.getHashLength=function(t){var e=u.crypto.MessageDigest,i=e.getCanonicalAlgName(t);if(void 0===e.HASHLENGTH[i])throw"not supported algorithm: "+t;return e.HASHLENGTH[i]},u.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},u.crypto.Mac=function(t){this.setAlgAndProvider=function(t,e){if(null==(t=t.toLowerCase())&&(t="hmacsha1"),"hmac"!=(t=t.toLowerCase()).substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+t;void 0===e&&(e=u.crypto.Util.DEFAULTPROVIDER[t]),this.algProv=t+"/"+e;var i=t.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(i)&&"cryptojs"==e){try{var n=u.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[i];this.mac=h.algo.HMAC.create(n,this.pass)}catch(t){throw"setAlgAndProvider hash alg set fail hashAlg="+i+"/"+t}this.updateString=function(t){this.mac.update(t)},this.updateHex=function(t){var e=h.enc.Hex.parse(t);this.mac.update(e)},this.doFinal=function(){return this.mac.finalize().toString(h.enc.Hex)},this.doFinalString=function(t){return this.updateString(t),this.doFinal()},this.doFinalHex=function(t){return this.updateHex(t),this.doFinal()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algProv},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algProv},this.doFinal=function(){throw"digest() not supported for this alg/prov: "+this.algProv},this.doFinalString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algProv},this.doFinalHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algProv},this.setPassword=function(t){if("string"==typeof t){var e=t;return t.length%2!=1&&t.match(/^[0-9A-Fa-f]+$/)||(e=ot(t)),void(this.pass=h.enc.Hex.parse(e))}if("object"!=typeof t)throw"KJUR.crypto.Mac unsupported password type: "+t;e=null;if(void 0!==t.hex){if(t.hex.length%2!=0||!t.hex.match(/^[0-9A-Fa-f]+$/))throw"Mac: wrong hex password: "+t.hex;e=t.hex}if(void 0!==t.utf8&&(e=it(t.utf8)),void 0!==t.rstr&&(e=ot(t.rstr)),void 0!==t.b64&&(e=N(t.b64)),void 0!==t.b64u&&(e=et(t.b64u)),null==e)throw"KJUR.crypto.Mac unsupported password type: "+t;this.pass=h.enc.Hex.parse(e)},void 0!==t&&(void 0!==t.pass&&this.setPassword(t.pass),void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov&&(this.provName=u.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName)))},u.crypto.Signature=function(t){var e=null;if(this._setAlgNames=function(){var t=this.algName.match(/^(.+)with(.+)$/);t&&(this.mdAlgName=t[1].toLowerCase(),this.pubkeyAlgName=t[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(t,e){for(var i="",n=e/4-t.length,r=0;r<n;r++)i+="0";return i+t},this.setAlgAndProvider=function(t,e){if(this._setAlgNames(),"cryptojs/jsrsa"!=e)throw new Error("provider not supported: "+e);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new u.crypto.MessageDigest({alg:this.mdAlgName})}catch(t){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+t)}this.init=function(t,e){var i=null;try{i=void 0===e?Et.getKey(t):Et.getKey(t,e)}catch(t){throw"init failed:"+t}if(!0===i.isPrivate)this.prvKey=i,this.state="SIGN";else{if(!0!==i.isPublic)throw"init failed.:"+i;this.pubKey=i,this.state="VERIFY"}},this.updateString=function(t){this.md.updateString(t)},this.updateHex=function(t){this.md.updateHex(t)},this.sign=function(){if(this.sHashHex=this.md.digest(),void 0===this.prvKey&&void 0!==this.ecprvhex&&void 0!==this.eccurvename&&void 0!==u.crypto.ECDSA&&(this.prvKey=new u.crypto.ECDSA({curve:this.eccurvename,prv:this.ecprvhex})),this.prvKey instanceof X&&"rsaandmgf1"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen);else if(this.prvKey instanceof X&&"rsa"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName);else if(this.prvKey instanceof u.crypto.ECDSA)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex);else{if(!(this.prvKey instanceof u.crypto.DSA))throw"Signature: unsupported private key alg: "+this.pubkeyAlgName;this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}return this.hSign},this.signString=function(t){return this.updateString(t),this.sign()},this.signHex=function(t){return this.updateHex(t),this.sign()},this.verify=function(t){if(this.sHashHex=this.md.digest(),void 0===this.pubKey&&void 0!==this.ecpubhex&&void 0!==this.eccurvename&&void 0!==u.crypto.ECDSA&&(this.pubKey=new u.crypto.ECDSA({curve:this.eccurvename,pub:this.ecpubhex})),this.pubKey instanceof X&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,t,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof X&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);if(void 0!==u.crypto.ECDSA&&this.pubKey instanceof u.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);if(void 0!==u.crypto.DSA&&this.pubKey instanceof u.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(t,e){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(t){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(t){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(t){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(t){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=t,void 0!==t&&(void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov?this.provName=u.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=t.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==t.psssaltlen&&(this.pssSaltLen=t.psssaltlen),void 0!==t.prvkeypem)){if(void 0!==t.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{e=Et.getKey(t.prvkeypem);this.init(e)}catch(t){throw"fatal error to load pem private key: "+t}}},u.crypto.Cipher=function(t){},u.crypto.Cipher.encrypt=function(t,e,i){if(e instanceof X&&e.isPublic){var n=u.crypto.Cipher.getAlgByKeyAndName(e,i);if("RSA"===n)return e.encrypt(t);if("RSAOAEP"===n)return e.encryptOAEP(t,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return e.encryptOAEP(t,"sha"+r[1]);throw"Cipher.encrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.encrypt: unsupported key or algorithm"},u.crypto.Cipher.decrypt=function(t,e,i){if(e instanceof X&&e.isPrivate){var n=u.crypto.Cipher.getAlgByKeyAndName(e,i);if("RSA"===n)return e.decrypt(t);if("RSAOAEP"===n)return e.decryptOAEP(t,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return e.decryptOAEP(t,"sha"+r[1]);throw"Cipher.decrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.decrypt: unsupported key or algorithm"},u.crypto.Cipher.getAlgByKeyAndName=function(t,e){if(t instanceof X){if(-1!=":RSA:RSAOAEP:RSAOAEP224:RSAOAEP256:RSAOAEP384:RSAOAEP512:".indexOf(e))return e;if(null==e)return"RSA";throw"getAlgByKeyAndName: not supported algorithm name for RSAKey: "+e}throw"getAlgByKeyAndName: not supported algorithm name: "+e},u.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}};var ft,gt,vt,mt,yt,bt,wt,xt,Et=(ft=function(t,e,i){return gt(h.AES,t,e,i)},gt=function(t,e,i,n){var r=h.enc.Hex.parse(e),o=h.enc.Hex.parse(i),s=h.enc.Hex.parse(n),a={};a.key=o,a.iv=s,a.ciphertext=r;var u=t.decrypt(a,o,{iv:s});return h.enc.Hex.stringify(u)},vt=function(t,e,i){return mt(h.AES,t,e,i)},mt=function(t,e,i,n){var r=h.enc.Hex.parse(e),o=h.enc.Hex.parse(i),s=h.enc.Hex.parse(n),a=t.encrypt(r,o,{iv:s}),u=h.enc.Hex.parse(a.toString());return h.enc.Base64.stringify(u)},yt={"AES-256-CBC":{proc:ft,eproc:vt,keylen:32,ivlen:16},"AES-192-CBC":{proc:ft,eproc:vt,keylen:24,ivlen:16},"AES-128-CBC":{proc:ft,eproc:vt,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:function(t,e,i){return gt(h.TripleDES,t,e,i)},eproc:function(t,e,i){return mt(h.TripleDES,t,e,i)},keylen:24,ivlen:8},"DES-CBC":{proc:function(t,e,i){return gt(h.DES,t,e,i)},eproc:function(t,e,i){return mt(h.DES,t,e,i)},keylen:8,ivlen:8}},bt=function(t){var e={},i=t.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));i&&(e.cipher=i[1],e.ivsalt=i[2]);var n=t.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));n&&(e.type=n[1]);var r=-1,o=0;-1!=t.indexOf("\r\n\r\n")&&(r=t.indexOf("\r\n\r\n"),o=2),-1!=t.indexOf("\n\n")&&(r=t.indexOf("\n\n"),o=1);var s=t.indexOf("-----END");if(-1!=r&&-1!=s){var a=t.substring(r+2*o,s-o);a=a.replace(/\s+/g,""),e.data=a}return e},wt=function(t,e,i){for(var n=i.substring(0,16),r=h.enc.Hex.parse(n),o=h.enc.Utf8.parse(e),s=yt[t].keylen+yt[t].ivlen,a="",u=null;;){var l=h.algo.MD5.create();if(null!=u&&l.update(u),l.update(o),l.update(r),u=l.finalize(),(a+=h.enc.Hex.stringify(u)).length>=2*s)break}var c={};return c.keyhex=a.substr(0,2*yt[t].keylen),c.ivhex=a.substr(2*yt[t].keylen,2*yt[t].ivlen),c},xt=function(t,e,i,n){var r=h.enc.Base64.parse(t),o=h.enc.Hex.stringify(r);return(0,yt[e].proc)(o,i,n)},{version:"1.0.0",parsePKCS5PEM:function(t){return bt(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,i){return wt(t,e,i)},decryptKeyB64:function(t,e,i,n){return xt(t,e,i,n)},getDecryptedKeyHex:function(t,e){var i=bt(t),n=i.cipher,r=i.ivsalt,o=i.data,s=wt(n,e,r).keyhex;return xt(o,n,s,r)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,i,n,r){var o="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===yt[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==r&&null!=r||(r=function(t){var e=h.lib.WordArray.random(t);return h.enc.Hex.stringify(e)}(yt[n].ivlen).toUpperCase());var s=function(t,e,i,n){return(0,yt[e].eproc)(t,i,n)}(e,n,wt(n,i,r).keyhex,r);return o="-----BEGIN "+t+" PRIVATE KEY-----\r\n",o+="Proc-Type: 4,ENCRYPTED\r\n",o+="DEK-Info: "+n+","+r+"\r\n",o+="\r\n",o+=s.replace(/(.{64})/g,"$1\r\n"),o+="\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={},o=i(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;r.ciphertext=n(t,o[1]);var s=i(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=i(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=i(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";r.encryptionSchemeAlg="TripleDES",r.encryptionSchemeIV=n(t,u[1]);var l=i(t,a[0]);if(2!=l.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+l.length;if("2a864886f70d01050c"!=n(t,l[0]))throw"this only supports pkcs5PBKDF2";var h=i(t,l[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;r.pbkdf2Salt=n(t,h[0]);var c=n(t,h[1]);try{r.pbkdf2Iter=parseInt(c,16)}catch(t){throw"malformed format pbkdf2Iter: "+c}return r},getPBKDF2KeyHexFromParam:function(t,e){var i=h.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,r=h.PBKDF2(e,i,{keySize:6,iterations:n});return h.enc.Hex.stringify(r)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var i=ut(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(i),r=Et.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=h.enc.Hex.parse(n.ciphertext);var s=h.enc.Hex.parse(r),a=h.enc.Hex.parse(n.encryptionSchemeIV),u=h.TripleDES.decrypt(o,s,{iv:a});return h.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var i=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(i)},parsePlainPrivatePKCS8Hex:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={algparam:null};if("30"!=t.substr(0,2))throw new Error("malformed plain PKCS8 private key(code:001)");var o=i(t,0);if(o.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if("30"!=t.substr(o[1],2))throw new Error("malformed PKCS8 private key(code:003)");var s=i(t,o[1]);if(2!=s.length)throw new Error("malformed PKCS8 private key(code:004)");if("06"!=t.substr(s[0],2))throw new Error("malformed PKCS8 private key(code:005)");if(r.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(r.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw new Error("malformed PKCS8 private key(code:006)");return r.keyidx=e.getVidx(t,o[2]),r},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=ut(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,i=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==i.algoid)e=new X;else if("2a8648ce380401"==i.algoid)e=new u.crypto.DSA;else{if("2a8648ce3d0201"!=i.algoid)throw"unsupported private key algorithm";e=new u.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,i=It.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===i)e=new X;else if("2a8648ce380401"===i)e=new u.crypto.DSA;else{if("2a8648ce3d0201"!==i)throw"unsupported PKCS#8 public key hex";e=new u.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=i(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(r.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return r.e=n(t,o[1]),r},parsePublicPKCS8Hex:function(t){var e=It,i=e.getChildIdx,n=e.getV,r={algparam:null},o=i(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=i(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(r.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?r.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(r.algparam={},r.algparam.p=e.getVbyList(t,a[1],[0],"02"),r.algparam.q=e.getVbyList(t,a[1],[1],"02"),r.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return r.key=n(t,o[1]).substr(2),r}});Et.getKey=function(t,e,i){var n=(m=It).getChildIdx;m.getV;var r=m.getVbyList,o=u.crypto,s=o.ECDSA,a=o.DSA,l=X,h=ut,d=Et;if(void 0!==l&&t instanceof l)return t;if(void 0!==s&&t instanceof s)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new s({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new s({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new l).setPublic(t.n,t.e),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(P=new l).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(P=new l).setPrivate(t.n,t.e,t.d),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(P=new a).setPublic(t.p,t.q,t.g,t.y),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(P=new a).setPrivate(t.p,t.q,t.g,t.y,t.x),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new l).setPublic(et(t.n),et(t.e)),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(P=new l).setPrivateEx(et(t.n),et(t.e),et(t.d),et(t.p),et(t.q),et(t.dp),et(t.dq),et(t.qi)),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(P=new l).setPrivate(et(t.n),et(t.e),et(t.d)),P;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var p=(M=new s({curve:t.crv})).ecparams.keylen/4,A="04"+("0000000000"+et(t.x)).slice(-p)+("0000000000"+et(t.y)).slice(-p);return M.setPublicKeyHex(A),M}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){p=(M=new s({curve:t.crv})).ecparams.keylen/4,A="04"+("0000000000"+et(t.x)).slice(-p)+("0000000000"+et(t.y)).slice(-p);var f=("0000000000"+et(t.d)).slice(-p);return M.setPublicKeyHex(A),M.setPrivateKeyHex(f),M}if("pkcs5prv"===i){var g,v=t,m=It;if(9===(g=n(v,0)).length)(P=new l).readPKCS5PrvKeyHex(v);else if(6===g.length)(P=new a).readPKCS5PrvKeyHex(v);else{if(!(g.length>2&&"04"===v.substr(g[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(P=new s).readPKCS5PrvKeyHex(v)}return P}if("pkcs8prv"===i)return P=d.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===i)return d._getKeyFromPublicPKCS8Hex(t);if("x509pub"===i)return Mt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Mt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var y=ut(t,"PUBLIC KEY");return d._getKeyFromPublicPKCS8Hex(y)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var b=h(t,"RSA PRIVATE KEY");return d.getKey(b,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var w=r(R=h(t,"DSA PRIVATE KEY"),0,[1],"02"),x=r(R,0,[2],"02"),E=r(R,0,[3],"02"),I=r(R,0,[4],"02"),C=r(R,0,[5],"02");return(P=new a).setPrivate(new c(w,16),new c(x,16),new c(E,16),new c(I,16),new c(C,16)),P}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){b=h(t,"EC PRIVATE KEY");return d.getKey(b,null,"pkcs5prv")}if(-1!=t.indexOf("-END PRIVATE KEY-"))return d.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var S=d.getDecryptedKeyHex(t,e),B=new X;return B.readPKCS5PrvKeyHex(S),B}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var M,P=r(R=d.getDecryptedKeyHex(t,e),0,[1],"04"),T=r(R,0,[2,0],"06"),Q=r(R,0,[3,0],"03").substr(2);if(void 0===u.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(M=new s({curve:u.crypto.OID.oidhex2name[T]})).setPublicKeyHex(Q),M.setPrivateKeyHex(P),M.isPublic=!1,M}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var R;w=r(R=d.getDecryptedKeyHex(t,e),0,[1],"02"),x=r(R,0,[2],"02"),E=r(R,0,[3],"02"),I=r(R,0,[4],"02"),C=r(R,0,[5],"02");return(P=new a).setPrivate(new c(w,16),new c(x,16),new c(E,16),new c(I,16),new c(C,16)),P}if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return d.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Et.generateKeypair=function(t,e){if("RSA"==t){var i=e;(s=new X).generate(i,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new X,r=s.n.toString(16),o=s.e.toString(16);return n.setPublic(r,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,l=e,h=new u.crypto.ECDSA({curve:l}).generateKeyPairHex();return(s=new u.crypto.ECDSA({curve:l})).setPublicKeyHex(h.ecpubhex),s.setPrivateKeyHex(h.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new u.crypto.ECDSA({curve:l})).setPublicKeyHex(h.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Et.getPEM=function(t,e,i,n,r,o){var s=u,a=s.asn1,l=a.DERObjectIdentifier,c=a.DERInteger,d=a.ASN1Util.newObject,p=a.x509.SubjectPublicKeyInfo,A=s.crypto,f=A.DSA,g=A.ECDSA,v=X;function m(t){return d({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function y(t){return d({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function b(t){return d({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==v&&t instanceof v||void 0!==f&&t instanceof f||void 0!==g&&t instanceof g)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return at(I=new p(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==v&&t instanceof v&&(void 0===i||null==i)&&1==t.isPrivate)return at(I=m(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===i||null==i)&&1==t.isPrivate){var w=new l({name:t.curveName}).getEncodedHex(),x=y(t).getEncodedHex(),E="";return E+=at(w,"EC PARAMETERS"),E+=at(x,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==f&&t instanceof f&&(void 0===i||null==i)&&1==t.isPrivate)return at(I=b(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==v&&t instanceof v&&void 0!==i&&null!=i&&1==t.isPrivate){var I=m(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",I,i,n,o)}if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==i&&null!=i&&1==t.isPrivate){I=y(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",I,i,n,o)}if("PKCS5PRV"==e&&void 0!==f&&t instanceof f&&void 0!==i&&null!=i&&1==t.isPrivate){I=b(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",I,i,n,o)}var C=function(t,e){var i=S(t,e);return new d({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:i.pbkdf2Salt}},{int:i.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:i.encryptionSchemeIV}}]}]}]},{octstr:{hex:i.ciphertext}}]}).getEncodedHex()},S=function(t,e){var i=h.lib.WordArray.random(8),n=h.lib.WordArray.random(8),r=h.PBKDF2(e,i,{keySize:6,iterations:100}),o=h.enc.Hex.parse(t),s=h.TripleDES.encrypt(o,r,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=h.enc.Hex.stringify(i),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=h.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=v&&t instanceof v&&1==t.isPrivate){var B=m(t).getEncodedHex();I=d({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:B}}]}).getEncodedHex();return void 0===i||null==i?at(I,"PRIVATE KEY"):at(x=C(I,i),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate){B=new d({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),I=d({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:B}}]}).getEncodedHex();return void 0===i||null==i?at(I,"PRIVATE KEY"):at(x=C(I,i),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==f&&t instanceof f&&1==t.isPrivate){B=new c({bigint:t.x}).getEncodedHex(),I=d({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:B}}]}).getEncodedHex();return void 0===i||null==i?at(I,"PRIVATE KEY"):at(x=C(I,i),"ENCRYPTED PRIVATE KEY")}throw new Error("unsupported object nor format")},Et.getKeyFromCSRPEM=function(t){var e=ut(t,"CERTIFICATE REQUEST");return Et.getKeyFromCSRHex(e)},Et.getKeyFromCSRHex=function(t){var e=Et.parseCSRHex(t);return Et.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Et.parseCSRHex=function(t){var e=It,i=e.getChildIdx,n=e.getTLV,r={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=i(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=i(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return r.p8pubkeyhex=n(o,a[2]),r},Et.getKeyID=function(t){var e=Et,i=It;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=ut(e.getPEM(t)),r=i.getIdxbyList(n,0,[1]),o=i.getV(n,r).substring(2);return u.crypto.Util.hashHex(o,"sha1")},Et.getJWKFromKey=function(t){var e={};if(t instanceof X&&t.isPrivate)return e.kty="RSA",e.n=tt(t.n.toString(16)),e.e=tt(t.e.toString(16)),e.d=tt(t.d.toString(16)),e.p=tt(t.p.toString(16)),e.q=tt(t.q.toString(16)),e.dp=tt(t.dmp1.toString(16)),e.dq=tt(t.dmq1.toString(16)),e.qi=tt(t.coeff.toString(16)),e;if(t instanceof X&&t.isPublic)return e.kty="RSA",e.n=tt(t.n.toString(16)),e.e=tt(t.e.toString(16)),e;if(t instanceof u.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var i=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=tt(i.x),e.y=tt(i.y),e.d=tt(t.prvKeyHex),e}if(t instanceof u.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;i=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=tt(i.x),e.y=tt(i.y),e}throw"not supported key object"},void 0!==u.asn1&&u.asn1||(u.asn1={}),u.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var i=e.substr(1).length;i%2==1?i+=1:e.match(/^[0-7]/)||(i+=2);for(var n="",r=0;r<i;r++)n+="f";e=new c(n,16).xor(t).add(c.ONE).toString(16).replace(/^-/,"")}return e},this.getPEMStringFromHex=function(t,e){return at(t,e)},this.newObject=function(t){var e=u.asn1,i=e.ASN1Object,n=e.DERBoolean,r=e.DERInteger,o=e.DERBitString,s=e.DEROctetString,a=e.DERNull,l=e.DERObjectIdentifier,h=e.DEREnumerated,c=e.DERUTF8String,d=e.DERNumericString,p=e.DERPrintableString,A=e.DERTeletexString,f=e.DERIA5String,g=e.DERUTCTime,v=e.DERGeneralizedTime,m=e.DERVisibleString,y=e.DERBMPString,b=e.DERSequence,w=e.DERSet,x=e.DERTaggedObject,E=e.ASN1Util.newObject;if(t instanceof e.ASN1Object)return t;var I=Object.keys(t);if(1!=I.length)throw new Error("key of param shall be only one.");var C=I[0];if(-1==":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+C+":"))throw new Error("undefined key: "+C);if("bool"==C)return new n(t[C]);if("int"==C)return new r(t[C]);if("bitstr"==C)return new o(t[C]);if("octstr"==C)return new s(t[C]);if("null"==C)return new a(t[C]);if("oid"==C)return new l(t[C]);if("enum"==C)return new h(t[C]);if("utf8str"==C)return new c(t[C]);if("numstr"==C)return new d(t[C]);if("prnstr"==C)return new p(t[C]);if("telstr"==C)return new A(t[C]);if("ia5str"==C)return new f(t[C]);if("utctime"==C)return new g(t[C]);if("gentime"==C)return new v(t[C]);if("visstr"==C)return new m(t[C]);if("bmpstr"==C)return new y(t[C]);if("asn1"==C)return new i(t[C]);if("seq"==C){for(var S=t[C],B=[],M=0;M<S.length;M++){var P=E(S[M]);B.push(P)}return new b({array:B})}if("set"==C){for(S=t[C],B=[],M=0;M<S.length;M++){P=E(S[M]);B.push(P)}return new w({array:B})}if("tag"==C){var T=t[C];if("[object Array]"===Object.prototype.toString.call(T)&&3==T.length){var Q=E(T[2]);return new x({tag:T[0],explicit:T[1],obj:Q})}return new x(T)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},u.asn1.ASN1Util.oidHexToInt=function(t){for(var e="",i=parseInt(t.substr(0,2),16),n=(e=Math.floor(i/40)+"."+i%40,""),r=2;r<t.length;r+=2){var o=("00000000"+parseInt(t.substr(r,2),16).toString(2)).slice(-8);if(n+=o.substr(1,7),"0"==o.substr(0,1))e=e+"."+new c(n,2).toString(10),n=""}return e},u.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},i=function(t){var i="",n=new c(t,10).toString(2),r=7-n.length%7;7==r&&(r=0);for(var o="",s=0;s<r;s++)o+="0";n=o+n;for(s=0;s<n.length-1;s+=7){var a=n.substr(s,7);s!=n.length-7&&(a="1"+a),i+=e(parseInt(a,2))}return i};if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var n="",r=t.split("."),o=40*parseInt(r[0])+parseInt(r[1]);n+=e(o),r.splice(0,2);for(var s=0;s<r.length;s++)n+=i(r[s]);return n},u.asn1.ASN1Object=function(t){this.params=null,this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+"".length+",v="+this.hV);var t=this.hV.length/2,e=t.toString(16);if(e.length%2==1&&(e="0"+e),t<128)return e;var i=e.length/2;if(i>15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+i).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},u.asn1.DERAbstractString=function(t){u.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=it(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},l.lang.extend(u.asn1.DERAbstractString,u.asn1.ASN1Object),u.asn1.DERAbstractTime=function(t){u.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,i){var n=this.zeroPadding,r=this.localDateToUTC(t),o=String(r.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(r.getMonth()+1),2)+n(String(r.getDate()),2)+n(String(r.getHours()),2)+n(String(r.getMinutes()),2)+n(String(r.getSeconds()),2);if(!0===i){var a=r.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=J(t)},this.setByDateValue=function(t,e,i,n,r,o){var s=new Date(Date.UTC(t,e-1,i,n,r,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},l.lang.extend(u.asn1.DERAbstractTime,u.asn1.ASN1Object),u.asn1.DERAbstractStructured=function(t){u.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},l.lang.extend(u.asn1.DERAbstractStructured,u.asn1.ASN1Object),u.asn1.DERBoolean=function(t){u.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},l.lang.extend(u.asn1.DERBoolean,u.asn1.ASN1Object),u.asn1.DERInteger=function(t){u.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=u.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new c(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},l.lang.extend(u.asn1.DERInteger,u.asn1.ASN1Object),u.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=u.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}u.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw"unused bits shall be from 0 to 7: u = "+t;var i="0"+t;this.hTLV=null,this.isModified=!0,this.hV=i+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,"")).length%8;8==e&&(e=0);for(var i=0;i<=e;i++)t+="0";var n="";for(i=0;i<t.length-1;i+=8){var r=t.substr(i,8),o=parseInt(r,2).toString(16);1==o.length&&(o="0"+o),n+=o}this.hTLV=null,this.isModified=!0,this.hV="0"+e+n},this.setByBooleanArray=function(t){for(var e="",i=0;i<t.length;i++)1==t[i]?e+="1":e+="0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),i=0;i<t;i++)e[i]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},l.lang.extend(u.asn1.DERBitString,u.asn1.ASN1Object),u.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=u.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}u.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},l.lang.extend(u.asn1.DEROctetString,u.asn1.DERAbstractString),u.asn1.DERNull=function(){u.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},l.lang.extend(u.asn1.DERNull,u.asn1.ASN1Object),u.asn1.DERObjectIdentifier=function(t){u.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){var e=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},i=function(t){var i="",n=parseInt(t,10).toString(2),r=7-n.length%7;7==r&&(r=0);for(var o="",s=0;s<r;s++)o+="0";for(n=o+n,s=0;s<n.length-1;s+=7){var a=n.substr(s,7);s!=n.length-7&&(a="1"+a),i+=e(parseInt(a,2))}return i};try{if(!t.match(/^[0-9.]+$/))return null;var n="",r=t.split("."),o=40*parseInt(r[0],10)+parseInt(r[1],10);n+=e(o),r.splice(0,2);for(var s=0;s<r.length;s++)n+=i(r[s]);return n}catch(t){return null}}(t);if(null==e)throw new Error("malformed oid string: "+t);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueName=function(t){var e=u.asn1.x509.OID.name2oid(t);if(""===e)throw new Error("DERObjectIdentifier oidName undefined: "+t);this.setValueOidString(e)},this.setValueNameOrOid=function(t){t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(t){"string"==typeof t?this.setValueNameOrOid(t):void 0!==t.oid?this.setValueNameOrOid(t.oid):void 0!==t.name?this.setValueNameOrOid(t.name):void 0!==t.hex&&this.setValueHex(t.hex)},void 0!==t&&this.setByParam(t)},l.lang.extend(u.asn1.DERObjectIdentifier,u.asn1.ASN1Object),u.asn1.DEREnumerated=function(t){u.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=u.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new c(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},l.lang.extend(u.asn1.DEREnumerated,u.asn1.ASN1Object),u.asn1.DERUTF8String=function(t){u.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},l.lang.extend(u.asn1.DERUTF8String,u.asn1.DERAbstractString),u.asn1.DERNumericString=function(t){u.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},l.lang.extend(u.asn1.DERNumericString,u.asn1.DERAbstractString),u.asn1.DERPrintableString=function(t){u.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},l.lang.extend(u.asn1.DERPrintableString,u.asn1.DERAbstractString),u.asn1.DERTeletexString=function(t){u.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},l.lang.extend(u.asn1.DERTeletexString,u.asn1.DERAbstractString),u.asn1.DERIA5String=function(t){u.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},l.lang.extend(u.asn1.DERIA5String,u.asn1.DERAbstractString),u.asn1.DERVisibleString=function(t){u.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="1a"},l.lang.extend(u.asn1.DERVisibleString,u.asn1.DERAbstractString),u.asn1.DERBMPString=function(t){u.asn1.DERBMPString.superclass.constructor.call(this,t),this.hT="1e"},l.lang.extend(u.asn1.DERBMPString,u.asn1.DERAbstractString),u.asn1.DERUTCTime=function(t){u.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=J(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=J(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},l.lang.extend(u.asn1.DERUTCTime,u.asn1.DERAbstractTime),u.asn1.DERGeneralizedTime=function(t){u.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=J(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=J(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},l.lang.extend(u.asn1.DERGeneralizedTime,u.asn1.DERAbstractTime),u.asn1.DERSequence=function(t){u.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++){t+=this.asn1Array[e].getEncodedHex()}return this.hV=t,this.hV}},l.lang.extend(u.asn1.DERSequence,u.asn1.DERAbstractStructured),u.asn1.DERSet=function(t){u.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t.push(i.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(""),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},l.lang.extend(u.asn1.DERSet,u.asn1.DERAbstractStructured),u.asn1.DERTaggedObject=function(t){u.asn1.DERTaggedObject.superclass.constructor.call(this);var e=u.asn1;this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,i){this.hT=e,this.isExplicit=t,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(t){null!=t.tag&&(this.hT=t.tag),null!=t.explicit&&(this.isExplicit=t.explicit),null!=t.tage&&(this.hT=t.tage,this.isExplicit=!0),null!=t.tagi&&(this.hT=t.tagi,this.isExplicit=!1),null!=t.obj&&(t.obj instanceof e.ASN1Object?(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)):"object"==typeof t.obj&&(this.asn1Object=e.ASN1Util.newObject(t.obj),this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},null!=t&&this.setByParam(t)},l.lang.extend(u.asn1.DERTaggedObject,u.asn1.ASN1Object);var It=new function(){};function Ct(t,e){for(var i="",n=e/4-t.length,r=0;r<n;r++)i+="0";return i+t}function St(t,e,i){for(var n="",r=0;n.length<e;)n+=rt(i(ot(t+String.fromCharCode.apply(String,[(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r])))),r+=1;return n}function Bt(t){for(var e in u.crypto.Util.DIGESTINFOHEAD){var i=u.crypto.Util.DIGESTINFOHEAD[e],n=i.length;if(t.substring(0,n)==i)return[e,t.substring(n)]}return[]}function Mt(t){var e,i=It,n=i.getChildIdx,r=i.getV,o=i.getTLV,s=i.getVbyList,a=i.getVbyListEx,l=i.getTLVbyList,h=i.getTLVbyListEx,c=i.getIdxbyList,d=i.getIdxbyListEx,p=i.getVidx,A=i.getInt,f=i.oidname,g=i.hextooidstr,v=ut;try{e=u.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(null===this.hex||0!==this.version)return this.version;var t=l(this.hex,0,[0,0]);if("a0"==t.substr(0,2)){var e=l(t,0,[0]),i=A(e,0);if(i<0||2<i)throw new Error("malformed version field");return this.version=i+1,this.version}return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=h(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var i in e)if(t===e[i])return i;return f(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return l(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return this.getIssuer().str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return l(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return this.getSubject().str},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getPublicKeyHex=function(){return i.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return c(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return c(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Et.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=l(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),i=this.getSignatureValueHex(),n=l(this.hex,0,[0],"30"),r=new u.crypto.Signature({alg:e});return r.init(t),r.updateHex(n),r.verify(i)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=c(a,0,[0,7,0],"30"),o=n(a,e)}else{a=ut(t);var u=c(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=r(a,u))return void(this.aExtInfo=new Array);e=c(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var l=0;l<o.length;l++){var h={critical:!1},d=0;3===n(a,o[l]).length&&(h.critical=!0,d=1),h.oid=i.hextooidstr(s(a,o[l],[0],"06"));var A=c(a,o[l],[1+d]);h.vidx=p(a,A),this.aExtInfo.push(h)}},this.getExtInfo=function(t){var e=this.aExtInfo,i=t;if(t.match(/^[0-9.]+$/)||(i=u.asn1.x509.OID.name2oid(t)),""!==i)for(var n=0;n<e.length;n++)if(e[n].oid===i)return e[n]},this.getExtBasicConstraints=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("basicConstraints");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"basicConstraints"};if(e&&(n.critical=!0),"3000"===t)return n;if("30030101ff"===t)return n.cA=!0,n;if("30060101ff02"===t.substr(0,12)){var s=r(t,10),a=parseInt(s,16);return n.cA=!0,n.pathLen=a,n}throw new Error("hExtV parse error: "+t)},this.getExtKeyUsage=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("keyUsage");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"keyUsage"};return e&&(n.critical=!0),n.names=this.getExtKeyUsageString(t).split(","),n},this.getExtKeyUsageBin=function(t){if(void 0===t){var e=this.getExtInfo("keyUsage");if(void 0===e)return"";t=o(this.hex,e.vidx)}if(8!=t.length&&10!=t.length)throw new Error("malformed key usage value: "+t);var i="000000000000000"+parseInt(t.substr(6),16).toString(2);return 8==t.length&&(i=i.slice(-8)),10==t.length&&(i=i.slice(-16)),""==(i=i.replace(/0+$/,""))&&(i="0"),i},this.getExtKeyUsageString=function(t){for(var e=this.getExtKeyUsageBin(t),i=new Array,n=0;n<e.length;n++)"1"==e.substr(n,1)&&i.push(Mt.KEYUSAGE_NAME[n]);return i.join(",")},this.getExtSubjectKeyIdentifier=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("subjectKeyIdentifier");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"subjectKeyIdentifier"};e&&(n.critical=!0);var s=r(t,0);return n.kid={hex:s},n},this.getExtAuthorityKeyIdentifier=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("authorityKeyIdentifier");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var s={extname:"authorityKeyIdentifier"};e&&(s.critical=!0);for(var a=n(t,0),u=0;u<a.length;u++){var l=t.substr(a[u],2);if("80"===l&&(s.kid={hex:r(t,a[u])}),"a1"===l){var h=o(t,a[u]),c=this.getGeneralNames(h);s.issuer=c[0].dn}"82"===l&&(s.sn={hex:r(t,a[u])})}return s},this.getExtExtKeyUsage=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("extKeyUsage");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var s={extname:"extKeyUsage",array:[]};e&&(s.critical=!0);for(var a=n(t,0),u=0;u<a.length;u++)s.array.push(f(r(t,a[u])));return s},this.getExtExtKeyUsageName=function(){var t=this.getExtInfo("extKeyUsage");if(void 0===t)return t;var e=new Array,i=o(this.hex,t.vidx);if(""===i)return e;for(var s=n(i,0),a=0;a<s.length;a++)e.push(f(r(i,s[a])));return e},this.getExtSubjectAltName=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("subjectAltName");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"subjectAltName",array:[]};return e&&(n.critical=!0),n.array=this.getGeneralNames(t),n},this.getExtIssuerAltName=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("issuerAltName");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var n={extname:"issuerAltName",array:[]};return e&&(n.critical=!0),n.array=this.getGeneralNames(t),n},this.getGeneralNames=function(t){for(var e=n(t,0),i=[],r=0;r<e.length;r++){var s=this.getGeneralName(o(t,e[r]));void 0!==s&&i.push(s)}return i},this.getGeneralName=function(t){var e=t.substr(0,2),i=r(t,0),n=rt(i);return"81"==e?{rfc822:n}:"82"==e?{dns:n}:"86"==e?{uri:n}:"87"==e?{ip:lt(i)}:"a4"==e?{dn:this.getX500Name(i)}:void 0},this.getExtSubjectAltName2=function(){var t,e,i,s=this.getExtInfo("subjectAltName");if(void 0===s)return s;for(var a=new Array,u=o(this.hex,s.vidx),l=n(u,0),h=0;h<l.length;h++)i=u.substr(l[h],2),t=r(u,l[h]),"81"===i&&(e=nt(t),a.push(["MAIL",e])),"82"===i&&(e=nt(t),a.push(["DNS",e])),"84"===i&&(e=Mt.hex2dn(t,0),a.push(["DN",e])),"86"===i&&(e=nt(t),a.push(["URI",e])),"87"===i&&(e=lt(t),a.push(["IP",e]));return a},this.getExtCRLDistributionPoints=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("cRLDistributionPoints");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"cRLDistributionPoints",array:[]};e&&(r.critical=!0);for(var s=n(t,0),a=0;a<s.length;a++){var u=o(t,s[a]);r.array.push(this.getDistributionPoint(u))}return r},this.getDistributionPoint=function(t){for(var e={},i=n(t,0),r=0;r<i.length;r++){var s=t.substr(i[r],2),a=o(t,i[r]);"a0"==s&&(e.dpname=this.getDistributionPointName(a))}return e},this.getDistributionPointName=function(t){for(var e={},i=n(t,0),r=0;r<i.length;r++){var s=t.substr(i[r],2),a=o(t,i[r]);"a0"==s&&(e.full=this.getGeneralNames(a))}return e},this.getExtCRLDistributionPointsURI=function(){var t=this.getExtInfo("cRLDistributionPoints");if(void 0===t)return t;for(var e=new Array,i=n(this.hex,t.vidx),r=0;r<i.length;r++)try{var o=nt(s(this.hex,i[r],[0,0,0],"86"));e.push(o)}catch(t){}return e},this.getExtAIAInfo=function(){var t=this.getExtInfo("authorityInfoAccess");if(void 0===t)return t;for(var e={ocsp:[],caissuer:[]},i=n(this.hex,t.vidx),r=0;r<i.length;r++){var o=s(this.hex,i[r],[0],"06"),a=s(this.hex,i[r],[1],"86");"2b06010505073001"===o&&e.ocsp.push(nt(a)),"2b06010505073002"===o&&e.caissuer.push(nt(a))}return e},this.getExtAuthorityInfoAccess=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("authorityInfoAccess");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"authorityInfoAccess",array:[]};e&&(r.critical=!0);for(var u=n(t,0),l=0;l<u.length;l++){var h=a(t,u[l],[0],"06"),c=nt(s(t,u[l],[1],"86"));if("2b06010505073001"==h)r.array.push({ocsp:c});else{if("2b06010505073002"!=h)throw new Error("unknown method: "+h);r.array.push({caissuer:c})}}return r},this.getExtCertificatePolicies=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("certificatePolicies");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"certificatePolicies",array:[]};e&&(r.critical=!0);for(var s=n(t,0),a=0;a<s.length;a++){var u=o(t,s[a]),l=this.getPolicyInformation(u);r.array.push(l)}return r},this.getPolicyInformation=function(t){var e={},i=s(t,0,[0],"06");e.policyoid=f(i);var r=d(t,0,[1],"30");if(-1!=r){e.array=[];for(var a=n(t,r),u=0;u<a.length;u++){var l=o(t,a[u]),h=this.getPolicyQualifierInfo(l);e.array.push(h)}}return e},this.getPolicyQualifierInfo=function(t){var e={},i=s(t,0,[0],"06");if("2b06010505070201"===i){var n=a(t,0,[1],"16");e.cps=rt(n)}else if("2b06010505070202"===i){var r=l(t,0,[1],"30");e.unotice=this.getUserNotice(r)}return e},this.getUserNotice=function(t){for(var e={},i=n(t,0),r=0;r<i.length;r++){var s=o(t,i[r]);"30"!=s.substr(0,2)&&(e.exptext=this.getDisplayText(s))}return e},this.getDisplayText=function(t){var e={};return e.type={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"}[t.substr(0,2)],e.str=rt(r(t,0)),e},this.getExtCRLNumber=function(t,e){var i={extname:"cRLNumber"};if(e&&(i.critical=!0),"02"==t.substr(0,2))return i.num={hex:r(t,0)},i;throw new Error("hExtV parse error: "+t)},this.getExtCRLReason=function(t,e){var i={extname:"cRLReason"};if(e&&(i.critical=!0),"0a"==t.substr(0,2))return i.code=parseInt(r(t,0),16),i;throw new Error("hExtV parse error: "+t)},this.getExtOcspNonce=function(t,e){var i={extname:"ocspNonce"};e&&(i.critical=!0);var n=r(t,0);return i.hex=n,i},this.getExtOcspNoCheck=function(t,e){var i={extname:"ocspNoCheck"};return e&&(i.critical=!0),i},this.getExtAdobeTimeStamp=function(t,e){if(void 0===t&&void 0===e){var i=this.getExtInfo("adobeTimeStamp");if(void 0===i)return;t=o(this.hex,i.vidx),e=i.critical}var r={extname:"adobeTimeStamp"};e&&(r.critical=!0);var s=n(t,0);if(s.length>1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(r.uri=u.uri)}if(s.length>2){var l=o(t,s[2]);"0101ff"==l&&(r.reqauth=!0),"010100"==l&&(r.reqauth=!1)}return r},this.getX500NameRule=function(t){for(var e=null,i=[],n=0;n<t.length;n++)for(var r=t[n],o=0;o<r.length;o++)i.push(r[o]);for(n=0;n<i.length;n++){var s=i[n],a=s.ds,l=s.value,h=s.type;if("prn"!=a&&"utf8"!=a&&"ia5"!=a)return"mixed";if("ia5"==a){if("CN"!=h)return"mixed";if(u.lang.String.isMail(l))continue;return"mixed"}if("C"==h){if("prn"==a)continue;return"mixed"}if(null==e)e=a;else if(e!==a)return"mixed"}return null==e?"prn":e},this.getX500Name=function(t){var e=this.getX500NameArray(t);return{array:e,str:this.dnarraytostr(e)}},this.getX500NameArray=function(t){for(var e=[],i=n(t,0),r=0;r<i.length;r++)e.push(this.getRDN(o(t,i[r])));return e},this.getRDN=function(t){for(var e=[],i=n(t,0),r=0;r<i.length;r++)e.push(this.getAttrTypeAndValue(o(t,i[r])));return e},this.getAttrTypeAndValue=function(t){var e={type:null,value:null,ds:null},i=n(t,0),r=s(t,i[0],[],"06"),o=s(t,i[1],[]),a=u.asn1.ASN1Util.oidHexToInt(r);return e.type=u.asn1.x509.OID.oid2atype(a),e.ds=this.HEX2STAG[t.substr(i[1],2)],"bmp"!=e.ds?e.value=nt(o):e.value=ht(o),e},this.readCertPEM=function(t){this.readCertHex(v(t))},this.readCertHex=function(t){this.hex=t,this.getVersion();try{c(this.hex,0,[0,7],"a3"),this.parseExt()}catch(t){}},this.getParam=function(){var t={};return t.version=this.getVersion(),t.serial={hex:this.getSerialNumberHex()},t.sigalg=this.getSignatureAlgorithmField(),t.issuer=this.getIssuer(),t.notbefore=this.getNotBefore(),t.notafter=this.getNotAfter(),t.subject=this.getSubject(),t.sbjpubkey=at(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&(-1!=d(this.hex,0,[0,"[3]"])&&(t=h(this.hex,0,[0,"[3]",0],"30")));for(var e=[],i=n(t,0),r=0;r<i.length;r++){var s=o(t,i[r]),a=this.getExtParam(s);null!=a&&e.push(a)}return e},this.getExtParam=function(t){var e=n(t,0).length;if(2!=e&&3!=e)throw new Error("wrong number elements in Extension: "+e+" "+t);var i=g(s(t,0,[0],"06")),r=!1;3==e&&"0101ff"==l(t,0,[1])&&(r=!0);var o=l(t,0,[e-1,0]),a=void 0;if("2.5.29.14"==i?a=this.getExtSubjectKeyIdentifier(o,r):"2.5.29.15"==i?a=this.getExtKeyUsage(o,r):"2.5.29.17"==i?a=this.getExtSubjectAltName(o,r):"2.5.29.18"==i?a=this.getExtIssuerAltName(o,r):"2.5.29.19"==i?a=this.getExtBasicConstraints(o,r):"2.5.29.31"==i?a=this.getExtCRLDistributionPoints(o,r):"2.5.29.32"==i?a=this.getExtCertificatePolicies(o,r):"2.5.29.35"==i?a=this.getExtAuthorityKeyIdentifier(o,r):"2.5.29.37"==i?a=this.getExtExtKeyUsage(o,r):"1.3.6.1.5.5.7.1.1"==i?a=this.getExtAuthorityInfoAccess(o,r):"2.5.29.20"==i?a=this.getExtCRLNumber(o,r):"2.5.29.21"==i?a=this.getExtCRLReason(o,r):"1.3.6.1.5.5.7.48.1.2"==i?a=this.getExtOcspNonce(o,r):"1.3.6.1.5.5.7.48.1.5"==i?a=this.getExtOcspNoCheck(o,r):"1.2.840.113583.1.1.9.1"==i&&(a=this.getExtAdobeTimeStamp(o,r)),null!=a)return a;var u={extname:i,extn:o};return r&&(u.critical=!0),u},this.findExt=function(t,e){for(var i=0;i<t.length;i++)if(t[i].extname==e)return t[i];return null},this.updateExtCDPFullURI=function(t,e){var i=this.findExt(t,"cRLDistributionPoints");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)if(null!=n[r].dpname&&null!=n[r].dpname.full)for(var o=n[r].dpname.full,s=0;s<o.length;s++){var a=o[r];null!=a.uri&&(a.uri=e)}},this.updateExtAIAOCSP=function(t,e){var i=this.findExt(t,"authorityInfoAccess");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)null!=n[r].ocsp&&(n[r].ocsp=e)},this.updateExtAIACAIssuer=function(t,e){var i=this.findExt(t,"authorityInfoAccess");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)null!=n[r].caissuer&&(n[r].caissuer=e)},this.dnarraytostr=function(t){return"/"+t.map((function(t){return function(t){return t.map((function(t){return function(t){return t.type+"="+t.value}(t).replace(/\+/,"\\+")})).join("+")}(t).replace(/\//,"\\/")})).join("/")},this.getInfo=function(){var t,e,i,n,r=function(t){for(var e="",i=t.array,n=0;n<i.length;n++){var r=i[n];if(e+=" policy oid: "+r.policyoid+"\n",void 0!==r.array)for(var o=0;o<r.array.length;o++){var s=r.array[o];void 0!==s.cps&&(e+=" cps: "+s.cps+"\n")}}return e},o=function(t){for(var e="",i=t.array,n=0;n<i.length;n++){var r=i[n];try{void 0!==r.dpname.full[0].uri&&(e+=" "+r.dpname.full[0].uri+"\n")}catch(t){}try{void 0!==r.dname.full[0].dn.hex&&(e+=" "+Mt.hex2dn(r.dpname.full[0].dn.hex)+"\n")}catch(t){}}return e},s=function(t){for(var e="",i=t.array,n=0;n<i.length;n++){var r=i[n];void 0!==r.caissuer&&(e+=" caissuer: "+r.caissuer+"\n"),void 0!==r.ocsp&&(e+=" ocsp: "+r.ocsp+"\n")}return e};if(t="Basic Fields\n",t+=" serial number: "+this.getSerialNumberHex()+"\n",t+=" signature algorithm: "+this.getSignatureAlgorithmField()+"\n",t+=" issuer: "+this.getIssuerString()+"\n",t+=" notBefore: "+this.getNotBefore()+"\n",t+=" notAfter: "+this.getNotAfter()+"\n",t+=" subject: "+this.getSubjectString()+"\n",t+=" subject public key info: \n",t+=" key algorithm: "+(e=this.getPublicKey()).type+"\n","RSA"===e.type&&(t+=" n="+dt(e.n.toString(16)).substr(0,16)+"...\n",t+=" e="+dt(e.e.toString(16))+"\n"),null!=(i=this.aExtInfo)){t+="X509v3 Extensions:\n";for(var a=0;a<i.length;a++){var l=i[a],h=u.asn1.x509.OID.oid2name(l.oid);""===h&&(h=l.oid);var c="";if(!0===l.critical&&(c="CRITICAL"),t+=" "+h+" "+c+":\n","basicConstraints"===h){var d=this.getExtBasicConstraints();void 0===d.cA?t+=" {}\n":(t+=" cA=true",void 0!==d.pathLen&&(t+=", pathLen="+d.pathLen),t+="\n")}else if("keyUsage"===h)t+=" "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===h)t+=" "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===h){var p=this.getExtAuthorityKeyIdentifier();void 0!==p.kid&&(t+=" kid="+p.kid.hex+"\n")}else{if("extKeyUsage"===h)t+=" "+this.getExtExtKeyUsage().array.join(", ")+"\n";else if("subjectAltName"===h)t+=" "+(n=this.getExtSubjectAltName(),JSON.stringify(n.array).replace(/[\[\]\{\}\"]/g,""))+"\n";else if("cRLDistributionPoints"===h)t+=o(this.getExtCRLDistributionPoints());else if("authorityInfoAccess"===h)t+=s(this.getExtAuthorityInfoAccess());else"certificatePolicies"===h&&(t+=r(this.getExtCertificatePolicies()))}}}return t+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n",t+="signature: "+this.getSignatureValueHex().substr(0,16)+"...\n"},"string"==typeof t&&(-1!=t.indexOf("-----BEGIN")?this.readCertPEM(t):u.lang.String.isHex(t)&&this.readCertHex(t))}function Pt(t){return h.SHA256(t).toString()}It.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var i=parseInt(t.substr(e+3,1));return 0==i?-1:0<i&&i<10?i+1:-2},It.getL=function(t,e){var i=It.getLblen(t,e);return i<1?"":t.substr(e+2,2*i)},It.getVblen=function(t,e){var i;return""==(i=It.getL(t,e))?-1:("8"===i.substr(0,1)?new c(i.substr(2),16):new c(i,16)).intValue()},It.getVidx=function(t,e){var i=It.getLblen(t,e);return i<0?i:e+2*(i+1)},It.getV=function(t,e){var i=It.getVidx(t,e),n=It.getVblen(t,e);return t.substr(i,2*n)},It.getTLV=function(t,e){return t.substr(e,2)+It.getL(t,e)+It.getV(t,e)},It.getTLVblen=function(t,e){return 2+2*It.getLblen(t,e)+2*It.getVblen(t,e)},It.getNextSiblingIdx=function(t,e){return It.getVidx(t,e)+2*It.getVblen(t,e)},It.getChildIdx=function(t,e){var i,n,r,o=It,s=[];i=o.getVidx(t,e),n=2*o.getVblen(t,e),"03"==t.substr(e,2)&&(i+=2,n-=2),r=0;for(var a=i;r<=n;){var u=o.getTLVblen(t,a);if((r+=u)<=n&&s.push(a),a+=u,r>=n)break}return s},It.getNthChildIdx=function(t,e,i){return It.getChildIdx(t,e)[i]},It.getIdxbyList=function(t,e,i,n){var r,o,s=It;return 0==i.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(r=i.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[r],i,n)},It.getIdxbyListEx=function(t,e,i,n){var r,o,s=It;if(0==i.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;r=i.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u<o.length;u++){var l=t.substr(o[u],2);if("number"==typeof r&&!s.isContextTag(l)&&a==r||"string"==typeof r&&s.isContextTag(l,r))return s.getIdxbyListEx(t,o[u],i,n);s.isContextTag(l)||a++}return-1},It.getTLVbyList=function(t,e,i,n){var r=It,o=r.getIdxbyList(t,e,i,n);return-1==o||o>=t.length?null:r.getTLV(t,o)},It.getTLVbyListEx=function(t,e,i,n){var r=It,o=r.getIdxbyListEx(t,e,i,n);return-1==o?null:r.getTLV(t,o)},It.getVbyList=function(t,e,i,n,r){var o,s,a=It;return-1==(o=a.getIdxbyList(t,e,i,n))||o>=t.length?null:(s=a.getV(t,o),!0===r&&(s=s.substr(2)),s)},It.getVbyListEx=function(t,e,i,n,r){var o,s,a=It;return-1==(o=a.getIdxbyListEx(t,e,i,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==r&&(s=s.substr(2)),s)},It.getInt=function(t,e,i){null==i&&(i=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return i;var r=It.getV(t,e);return"02"==n?parseInt(r,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var i=parseInt(e,16),n=t.substr(2),r=parseInt(n,16).toString(2);return"0"==r&&(r="00000000"),r=r.slice(0,0-i),parseInt(r,2)}catch(t){return-1}}(r)}catch(t){return i}},It.getOID=function(t,e,i){null==i&&(i=null);try{return"06"!=t.substr(e,2)?i:function(t){if(!ct(t))return null;try{var e=[],i=t.substr(0,2),n=parseInt(i,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var r=t.substr(2),o=[],s=0;s<r.length/2;s++)o.push(parseInt(r.substr(2*s,2),16));var a=[],u="";for(s=0;s<o.length;s++)128&o[s]?u+=pt((127&o[s]).toString(2),7):(u+=pt((127&o[s]).toString(2),7),a.push(new String(parseInt(u,2))),u="");var l=e.join(".");return a.length>0&&(l=l+"."+a.join(".")),l}catch(t){return null}}(It.getV(t,e))}catch(t){return i}},It.getOIDName=function(t,e,i){null==i&&(i=null);try{var n=It.getOID(t,e,i);if(n==i)return i;var r=u.asn1.x509.OID.oid2name(n);return""==r?n:r}catch(t){return i}},It.getString=function(t,e,i){null==i&&(i=null);try{return rt(It.getV(t,e))}catch(t){return i}},It.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},i=[],n=t.substr(0,2),r=parseInt(n,16);i[0]=new String(Math.floor(r/40)),i[1]=new String(r%40);for(var o=t.substr(2),s=[],a=0;a<o.length/2;a++)s.push(parseInt(o.substr(2*a,2),16));var u=[],l="";for(a=0;a<s.length;a++)128&s[a]?l+=e((127&s[a]).toString(2),7):(l+=e((127&s[a]).toString(2),7),u.push(new String(parseInt(l,2))),l="");var h=i.join(".");return u.length>0&&(h=h+"."+u.join(".")),h},It.dump=function(t,e,i,n){var r=It,o=r.getV,s=r.dump,a=r.getChildIdx,l=t;t instanceof u.asn1.ASN1Object&&(l=t.getEncodedHex());var h=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===i&&(i=0),void 0===n&&(n="");var c,d=e.ommit_long_octet;if("01"==(c=l.substr(i,2)))return"00"==(p=o(l,i))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==c)return n+"INTEGER "+h(p=o(l,i),d)+"\n";if("03"==c){var p=o(l,i);if(r.isASN1HEX(p.substr(2))){var A=n+"BITSTRING, encapsulates\n";return A+=s(p.substr(2),e,0,n+" ")}return n+"BITSTRING "+h(p,d)+"\n"}if("04"==c){p=o(l,i);if(r.isASN1HEX(p)){A=n+"OCTETSTRING, encapsulates\n";return A+=s(p,e,0,n+" ")}return n+"OCTETSTRING "+h(p,d)+"\n"}if("05"==c)return n+"NULL\n";if("06"==c){var f=o(l,i),g=u.asn1.ASN1Util.oidHexToInt(f),v=u.asn1.x509.OID.oid2name(g),m=g.replace(/\./g," ");return""!=v?n+"ObjectIdentifier "+v+" ("+m+")\n":n+"ObjectIdentifier ("+m+")\n"}if("0a"==c)return n+"ENUMERATED "+parseInt(o(l,i))+"\n";if("0c"==c)return n+"UTF8String '"+nt(o(l,i))+"'\n";if("13"==c)return n+"PrintableString '"+nt(o(l,i))+"'\n";if("14"==c)return n+"TeletexString '"+nt(o(l,i))+"'\n";if("16"==c)return n+"IA5String '"+nt(o(l,i))+"'\n";if("17"==c)return n+"UTCTime "+nt(o(l,i))+"\n";if("18"==c)return n+"GeneralizedTime "+nt(o(l,i))+"\n";if("1a"==c)return n+"VisualString '"+nt(o(l,i))+"'\n";if("1e"==c)return n+"BMPString '"+ht(o(l,i))+"'\n";if("30"==c){if("3000"==l.substr(i,4))return n+"SEQUENCE {}\n";A=n+"SEQUENCE\n";var y=e;if((2==(x=a(l,i)).length||3==x.length)&&"06"==l.substr(x[0],2)&&"04"==l.substr(x[x.length-1],2)){v=r.oidname(o(l,x[0]));var b=JSON.parse(JSON.stringify(e));b.x509ExtName=v,y=b}for(var w=0;w<x.length;w++)A+=s(l,y,x[w],n+" ");return A}if("31"==c){A=n+"SET\n";var x=a(l,i);for(w=0;w<x.length;w++)A+=s(l,e,x[w],n+" ");return A}if(0!=(128&(c=parseInt(c,16)))){var E=31&c;if(0!=(32&c)){for(A=n+"["+E+"]\n",x=a(l,i),w=0;w<x.length;w++)A+=s(l,e,x[w],n+" ");return A}p=o(l,i);if(It.isASN1HEX(p)){var A=n+"["+E+"]\n";return A+=s(p,e,0,n+" ")}return("68747470"==p.substr(0,8)||"subjectAltName"===e.x509ExtName&&2==E)&&(p=nt(p)),A=n+"["+E+"] "+p+"\n"}return n+"UNKNOWN("+c+") "+o(l,i)+"\n"},It.isContextTag=function(t,e){var i,n;t=t.toLowerCase();try{i=parseInt(t,16)}catch(t){return-1}if(void 0===e)return 128==(192&i);try{return null!=e.match(/^\[[0-9]+\]$/)&&(!((n=parseInt(e.substr(1,e.length-1),10))>31)&&(128==(192&i)&&(31&i)==n))}catch(t){return!1}},It.isASN1HEX=function(t){var e=It;if(t.length%2==1)return!1;var i=e.getVblen(t,0),n=t.substr(0,2),r=e.getL(t,0);return t.length-n.length-r.length==2*i},It.checkStrictDER=function(t,e,i,n,r){var o=It;if(void 0===i){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!u.lang.String.isHex(t))throw new Error("not hex string");i=t.length,r=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*r)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),l=a.length-2-o.getL(t,e).length;if(l!==2*s)throw new Error("V string length and L's value not the same:"+l+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var h=t.substr(e,2);if("02"===h){var c=o.getVidx(t,e);if("00"==t.substr(c,2)&&t.charCodeAt(c+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(h,16)){for(var d=o.getVblen(t,e),p=0,A=o.getChildIdx(t,e),f=0;f<A.length;f++){p+=o.getTLV(t,A[f]).length,o.checkStrictDER(t,A[f],i,n,r)}if(2*d!=p)throw new Error("sum of children's TLV length and L unmatch: "+2*d+"!="+p)}},It.oidname=function(t){var e=u.asn1;u.lang.String.isHex(t)&&(t=e.ASN1Util.oidHexToInt(t));var i=e.x509.OID.oid2name(t);return""===i&&(i=t),i},void 0!==u.asn1&&u.asn1||(u.asn1={}),void 0!==u.asn1.x509&&u.asn1.x509||(u.asn1.x509={}),u.asn1.x509.Certificate=function(t){u.asn1.x509.Certificate.superclass.constructor.call(this);var e=u.asn1,i=e.DERBitString,n=e.DERSequence,r=e.x509,o=r.TBSCertificate,s=r.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(t){this.params=t},this.sign=function(){var t=this.params,e=t.sigalg;null!=t.sigalg.name&&(e=t.sigalg.name);var i=t.tbsobj.getEncodedHex(),n=new u.crypto.Signature({alg:e});n.init(t.cakey),n.updateHex(i),t.sighex=n.sign()},this.getPEM=function(){return at(this.getEncodedHex(),"CERTIFICATE")},this.getEncodedHex=function(){var t=this.params;if(null!=t.tbsobj&&null!=t.tbsobj||(t.tbsobj=new o(t)),null==t.sighex&&null!=t.cakey&&this.sign(),null==t.sighex)throw new Error("sighex or cakey parameter not defined");var e=[];return e.push(t.tbsobj),e.push(new s({name:t.sigalg})),e.push(new i({hex:"00"+t.sighex})),new n({array:e}).getEncodedHex()},null!=t&&(this.params=t)},At(u.asn1.x509.Certificate,u.asn1.ASN1Object),u.asn1.x509.TBSCertificate=function(t){u.asn1.x509.TBSCertificate.superclass.constructor.call(this);var e=u.asn1,i=e.x509,n=e.DERTaggedObject,r=e.DERInteger,o=e.DERSequence,s=i.AlgorithmIdentifier,a=i.Time,l=i.X500Name,h=i.Extensions,c=i.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(t){this.params=t},this.getEncodedHex=function(){var t=[],e=this.params;if(null!=e.version||1!=e.version){var i=2;null!=e.version&&(i=e.version-1);var d=new n({obj:new r({int:i})});t.push(d)}return t.push(new r(e.serial)),t.push(new s({name:e.sigalg})),t.push(new l(e.issuer)),t.push(new o({array:[new a(e.notbefore),new a(e.notafter)]})),t.push(new l(e.subject)),t.push(new c(Et.getKey(e.sbjpubkey))),void 0!==e.ext&&e.ext.length>0&&t.push(new n({tag:"a3",obj:new h(e.ext)})),new u.asn1.DERSequence({array:t}).getEncodedHex()},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.TBSCertificate,u.asn1.ASN1Object),u.asn1.x509.Extensions=function(t){u.asn1.x509.Extensions.superclass.constructor.call(this);var e=u.asn1,i=e.DERSequence,n=e.x509;this.aParam=[],this.setByParam=function(t){this.aParam=t},this.getEncodedHex=function(){for(var t=[],e=0;e<this.aParam.length;e++){var r=this.aParam[e],o=r.extname,s=null;if(null!=r.extn)s=new n.PrivateExtension(r);else if("subjectKeyIdentifier"==o)s=new n.SubjectKeyIdentifier(r);else if("keyUsage"==o)s=new n.KeyUsage(r);else if("subjectAltName"==o)s=new n.SubjectAltName(r);else if("issuerAltName"==o)s=new n.IssuerAltName(r);else if("basicConstraints"==o)s=new n.BasicConstraints(r);else if("cRLDistributionPoints"==o)s=new n.CRLDistributionPoints(r);else if("certificatePolicies"==o)s=new n.CertificatePolicies(r);else if("authorityKeyIdentifier"==o)s=new n.AuthorityKeyIdentifier(r);else if("extKeyUsage"==o)s=new n.ExtKeyUsage(r);else if("authorityInfoAccess"==o)s=new n.AuthorityInfoAccess(r);else if("cRLNumber"==o)s=new n.CRLNumber(r);else if("cRLReason"==o)s=new n.CRLReason(r);else if("ocspNonce"==o)s=new n.OCSPNonce(r);else if("ocspNoCheck"==o)s=new n.OCSPNoCheck(r);else if("adobeTimeStamp"==o)s=new n.AdobeTimeStamp(r);else{if("subjectDirectoryAttributes"!=o)throw new Error("extension not supported:"+JSON.stringify(r));s=new n.SubjectDirectoryAttributes(r)}null!=s&&t.push(s)}return new i({array:t}).getEncodedHex()},null!=t&&this.setByParam(t)},At(u.asn1.x509.Extensions,u.asn1.ASN1Object),u.asn1.x509.Extension=function(t){u.asn1.x509.Extension.superclass.constructor.call(this);var e=u.asn1,i=e.DERObjectIdentifier,n=e.DEROctetString;e.DERBitString;var r=e.DERBoolean,o=e.DERSequence;this.getEncodedHex=function(){var t=new i({oid:this.oid}),e=new n({hex:this.getExtnValueHex()}),s=new Array;return s.push(t),this.critical&&s.push(new r),s.push(e),new o({array:s}).getEncodedHex()},this.critical=!1,void 0!==t&&void 0!==t.critical&&(this.critical=t.critical)},At(u.asn1.x509.Extension,u.asn1.ASN1Object),u.asn1.x509.KeyUsage=function(t){u.asn1.x509.KeyUsage.superclass.constructor.call(this,t);var e=Mt.KEYUSAGE_NAME;if(this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15",void 0!==t&&(void 0!==t.bin&&(this.asn1ExtnValue=new u.asn1.DERBitString(t)),void 0!==t.names&&void 0!==t.names.length)){for(var i=t.names,n="000000000",r=0;r<i.length;r++)for(var o=0;o<e.length;o++)i[r]===e[o]&&(n=n.substring(0,o)+"1"+n.substring(o+1,n.length));this.asn1ExtnValue=new u.asn1.DERBitString({bin:n})}},At(u.asn1.x509.KeyUsage,u.asn1.x509.Extension),u.asn1.x509.BasicConstraints=function(t){u.asn1.x509.BasicConstraints.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERBoolean,n=e.DERInteger,r=e.DERSequence;this.getExtnValueHex=function(){var t=new Array;this.cA&&t.push(new i),this.pathLen>-1&&t.push(new n({int:this.pathLen}));var e=new r({array:t});return this.asn1ExtnValue=e,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,void 0!==t&&(void 0!==t.cA&&(this.cA=t.cA),void 0!==t.pathLen&&(this.pathLen=t.pathLen))},At(u.asn1.x509.BasicConstraints,u.asn1.x509.Extension),u.asn1.x509.CRLDistributionPoints=function(t){u.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,t);var e=u.asn1,i=e.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(t){for(var n=[],r=0;r<t.length;r++)if(t[r]instanceof u.asn1.ASN1Object)n.push(t[r]);else{var o=new i.DistributionPoint(t[r]);n.push(o)}this.asn1ExtnValue=new e.DERSequence({array:n})},this.setByOneURI=function(t){var e=new i.DistributionPoint({fulluri:t});this.setByDPArray([e])},this.oid="2.5.29.31",void 0!==t&&(void 0!==t.array?this.setByDPArray(t.array):void 0!==t.uri&&this.setByOneURI(t.uri))},At(u.asn1.x509.CRLDistributionPoints,u.asn1.x509.Extension),u.asn1.x509.DistributionPoint=function(t){u.asn1.x509.DistributionPoint.superclass.constructor.call(this);var e=u.asn1,i=e.x509.DistributionPointName;this.getEncodedHex=function(){var t=new e.DERSequence;if(null!=this.asn1DP){var i=new e.DERTaggedObject({explicit:!0,tag:"a0",obj:this.asn1DP});t.appendASN1Object(i)}return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==t&&(void 0!==t.dpobj?this.asn1DP=t.dpobj:void 0!==t.dpname?this.asn1DP=new i(t.dpname):void 0!==t.fulluri&&(this.asn1DP=new i({full:[{uri:t.fulluri}]})))},At(u.asn1.x509.DistributionPoint,u.asn1.ASN1Object),u.asn1.x509.DistributionPointName=function(t){u.asn1.x509.DistributionPointName.superclass.constructor.call(this);var e=u.asn1,i=e.DERTaggedObject;if(this.getEncodedHex=function(){if("full"!=this.type)throw new Error("currently type shall be 'full': "+this.type);return this.asn1Obj=new i({explicit:!1,tag:this.tag,obj:this.asn1V}),this.hTLV=this.asn1Obj.getEncodedHex(),this.hTLV},void 0!==t)if(e.x509.GeneralNames.prototype.isPrototypeOf(t))this.type="full",this.tag="a0",this.asn1V=t;else{if(void 0===t.full)throw new Error("This class supports GeneralNames only as argument");this.type="full",this.tag="a0",this.asn1V=new e.x509.GeneralNames(t.full)}},At(u.asn1.x509.DistributionPointName,u.asn1.ASN1Object),u.asn1.x509.CertificatePolicies=function(t){u.asn1.x509.CertificatePolicies.superclass.constructor.call(this,t);var e=u.asn1,i=e.x509,n=e.DERSequence,r=i.PolicyInformation;this.params=null,this.getExtnValueHex=function(){for(var t=[],e=0;e<this.params.array.length;e++)t.push(new r(this.params.array[e]));var i=new n({array:t});return this.asn1ExtnValue=i,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.32",void 0!==t&&(this.params=t)},At(u.asn1.x509.CertificatePolicies,u.asn1.x509.Extension),u.asn1.x509.PolicyInformation=function(t){u.asn1.x509.PolicyInformation.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERSequence,n=e.DERObjectIdentifier,r=e.x509.PolicyQualifierInfo;this.params=null,this.getEncodedHex=function(){if(void 0===this.params.policyoid&&void 0===this.params.array)throw new Error("parameter oid and array missing");var t=[new n(this.params.policyoid)];if(void 0!==this.params.array){for(var e=[],o=0;o<this.params.array.length;o++)e.push(new r(this.params.array[o]));e.length>0&&t.push(new i({array:e}))}return new i({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},At(u.asn1.x509.PolicyInformation,u.asn1.ASN1Object),u.asn1.x509.PolicyQualifierInfo=function(t){u.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERSequence,n=e.DERIA5String,r=e.DERObjectIdentifier,o=e.x509.UserNotice;this.params=null,this.getEncodedHex=function(){return void 0!==this.params.cps?new i({array:[new r({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]}).getEncodedHex():null!=this.params.unotice?new i({array:[new r({oid:"1.3.6.1.5.5.7.2.2"}),new o(this.params.unotice)]}).getEncodedHex():void 0},void 0!==t&&(this.params=t)},At(u.asn1.x509.PolicyQualifierInfo,u.asn1.ASN1Object),u.asn1.x509.UserNotice=function(t){u.asn1.x509.UserNotice.superclass.constructor.call(this,t);var e=u.asn1.DERSequence;u.asn1.DERInteger;var i=u.asn1.x509.DisplayText,n=u.asn1.x509.NoticeReference;this.params=null,this.getEncodedHex=function(){var t=[];return void 0!==this.params.noticeref&&t.push(new n(this.params.noticeref)),void 0!==this.params.exptext&&t.push(new i(this.params.exptext)),new e({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},At(u.asn1.x509.UserNotice,u.asn1.ASN1Object),u.asn1.x509.NoticeReference=function(t){u.asn1.x509.NoticeReference.superclass.constructor.call(this,t);var e=u.asn1.DERSequence,i=u.asn1.DERInteger,n=u.asn1.x509.DisplayText;this.params=null,this.getEncodedHex=function(){var t=[];if(void 0!==this.params.org&&t.push(new n(this.params.org)),void 0!==this.params.noticenum){for(var r=[],o=this.params.noticenum,s=0;s<o.length;s++)r.push(new i(o[s]));t.push(new e({array:r}))}if(0==t.length)throw new Error("parameter is empty");return new e({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},At(u.asn1.x509.NoticeReference,u.asn1.ASN1Object),u.asn1.x509.DisplayText=function(t){u.asn1.x509.DisplayText.superclass.constructor.call(this,t),this.hT="0c",void 0!==t&&("ia5"===t.type?this.hT="16":"vis"===t.type?this.hT="1a":"bmp"===t.type&&(this.hT="1e"))},At(u.asn1.x509.DisplayText,u.asn1.DERAbstractString),u.asn1.x509.ExtKeyUsage=function(t){u.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,t);var e=u.asn1;this.setPurposeArray=function(t){this.asn1ExtnValue=new e.DERSequence;for(var i=0;i<t.length;i++){var n=new e.DERObjectIdentifier(t[i]);this.asn1ExtnValue.appendASN1Object(n)}},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.37",void 0!==t&&void 0!==t.array&&this.setPurposeArray(t.array)},At(u.asn1.x509.ExtKeyUsage,u.asn1.x509.Extension),u.asn1.x509.AuthorityKeyIdentifier=function(t){u.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,t);var e=u,i=e.asn1,n=i.DERTaggedObject,r=i.x509.GeneralNames;e.crypto.Util.isKey,this.asn1KID=null,this.asn1CertIssuer=null,this.asn1CertSN=null,this.getExtnValueHex=function(){var t=new Array;this.asn1KID&&t.push(new n({explicit:!1,tag:"80",obj:this.asn1KID})),this.asn1CertIssuer&&t.push(new n({explicit:!1,tag:"a1",obj:new r([{dn:this.asn1CertIssuer}])})),this.asn1CertSN&&t.push(new n({explicit:!1,tag:"82",obj:this.asn1CertSN}));var e=new i.DERSequence({array:t});return this.asn1ExtnValue=e,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(t){if(void 0!==t.str||void 0!==t.hex)this.asn1KID=new u.asn1.DEROctetString(t);else if("object"==typeof t&&u.crypto.Util.isKey(t)||"string"==typeof t&&-1!=t.indexOf("BEGIN ")){var e=t;"string"==typeof t&&(e=Et.getKey(t));var i=Et.getKeyID(e);this.asn1KID=new u.asn1.DEROctetString({hex:i})}},this.setCertIssuerByParam=function(t){void 0!==t.str||void 0!==t.ldapstr||void 0!==t.hex||void 0!==t.certsubject||void 0!==t.certissuer?this.asn1CertIssuer=new u.asn1.x509.X500Name(t):"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&-1!=t.indexOf("CERTIFICATE")&&(this.asn1CertIssuer=new u.asn1.x509.X500Name({certissuer:t}))},this.setCertSNByParam=function(t){if(void 0!==t.str||void 0!==t.bigint||void 0!==t.hex)this.asn1CertSN=new u.asn1.DERInteger(t);else if("string"==typeof t&&-1!=t.indexOf("BEGIN ")&&t.indexOf("CERTIFICATE")){var e=new Mt;e.readCertPEM(t);var i=e.getSerialNumberHex();this.asn1CertSN=new u.asn1.DERInteger({hex:i})}},this.oid="2.5.29.35",void 0!==t&&(void 0!==t.kid&&this.setKIDByParam(t.kid),void 0!==t.issuer&&this.setCertIssuerByParam(t.issuer),void 0!==t.sn&&this.setCertSNByParam(t.sn),void 0!==t.issuersn&&"string"==typeof t.issuersn&&-1!=t.issuersn.indexOf("BEGIN ")&&t.issuersn.indexOf("CERTIFICATE")&&(this.setCertSNByParam(t.issuersn),this.setCertIssuerByParam(t.issuersn)))},At(u.asn1.x509.AuthorityKeyIdentifier,u.asn1.x509.Extension),u.asn1.x509.SubjectKeyIdentifier=function(t){u.asn1.x509.SubjectKeyIdentifier.superclass.constructor.call(this,t);var e=u.asn1.DEROctetString;this.asn1KID=null,this.getExtnValueHex=function(){return this.asn1ExtnValue=this.asn1KID,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(t){if(void 0!==t.str||void 0!==t.hex)this.asn1KID=new e(t);else if("object"==typeof t&&u.crypto.Util.isKey(t)||"string"==typeof t&&-1!=t.indexOf("BEGIN")){var i=t;"string"==typeof t&&(i=Et.getKey(t));var n=Et.getKeyID(i);this.asn1KID=new u.asn1.DEROctetString({hex:n})}},this.oid="2.5.29.14",void 0!==t&&void 0!==t.kid&&this.setKIDByParam(t.kid)},At(u.asn1.x509.SubjectKeyIdentifier,u.asn1.x509.Extension),u.asn1.x509.AuthorityInfoAccess=function(t){u.asn1.x509.AuthorityInfoAccess.superclass.constructor.call(this,t),this.setAccessDescriptionArray=function(t){for(var e=new Array,i=u.asn1,n=i.DERSequence,r=i.DERObjectIdentifier,o=i.x509.GeneralName,s=0;s<t.length;s++){var a,l=t[s];if(void 0!==l.ocsp)a=new n({array:[new r({oid:"1.3.6.1.5.5.7.48.1"}),new o({uri:l.ocsp})]});else{if(void 0===l.caissuer)throw new Error("unknown AccessMethod parameter: "+JSON.stringify(l));a=new n({array:[new r({oid:"1.3.6.1.5.5.7.48.2"}),new o({uri:l.caissuer})]})}e.push(a)}this.asn1ExtnValue=new n({array:e})},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.1.1",void 0!==t&&void 0!==t.array&&this.setAccessDescriptionArray(t.array)},At(u.asn1.x509.AuthorityInfoAccess,u.asn1.x509.Extension),u.asn1.x509.SubjectAltName=function(t){u.asn1.x509.SubjectAltName.superclass.constructor.call(this,t),this.setNameArray=function(t){this.asn1ExtnValue=new u.asn1.x509.GeneralNames(t)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.17",void 0!==t&&void 0!==t.array&&this.setNameArray(t.array)},At(u.asn1.x509.SubjectAltName,u.asn1.x509.Extension),u.asn1.x509.IssuerAltName=function(t){u.asn1.x509.IssuerAltName.superclass.constructor.call(this,t),this.setNameArray=function(t){this.asn1ExtnValue=new u.asn1.x509.GeneralNames(t)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.18",void 0!==t&&void 0!==t.array&&this.setNameArray(t.array)},At(u.asn1.x509.IssuerAltName,u.asn1.x509.Extension),u.asn1.x509.SubjectDirectoryAttributes=function(t){u.asn1.x509.SubjectDirectoryAttributes.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERSequence,n=e.ASN1Util.newObject,r=e.x509.OID.name2oid;this.params=null,this.getExtnValueHex=function(){for(var t=[],e=0;e<this.params.array.length;e++){var o=this.params.array[e],s={seq:[{oid:"1.2.3.4"},{set:[{utf8str:"DE"}]}]};if("dateOfBirth"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={gentime:o.str};else if("placeOfBirth"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={utf8str:o.str};else if("gender"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={prnstr:o.str};else if("countryOfCitizenship"==o.attr)s.seq[0].oid=r(o.attr),s.seq[1].set[0]={prnstr:o.str};else{if("countryOfResidence"!=o.attr)throw new Error("unsupported attribute: "+o.attr);s.seq[0].oid=r(o.attr),s.seq[1].set[0]={prnstr:o.str}}t.push(new n(s))}var a=new i({array:t});return this.asn1ExtnValue=a,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.9",void 0!==t&&(this.params=t)},At(u.asn1.x509.SubjectDirectoryAttributes,u.asn1.x509.Extension),u.asn1.x509.PrivateExtension=function(t){u.asn1.x509.PrivateExtension.superclass.constructor.call(this,t);var e=u,i=e.lang.String.isHex,n=e.asn1,r=n.x509.OID.name2oid,o=n.ASN1Util.newObject;this.params=null,this.setByParam=function(t){this.oid=r(t.extname),this.params=t},this.getExtnValueHex=function(){if(null==this.params.extname||null==this.params.extn)throw new Error("extname or extnhex not specified");var t=this.params.extn;if("string"==typeof t&&i(t))return t;if("object"==typeof t)try{return o(t).getEncodedHex()}catch(t){}throw new Error("unsupported extn value")},null!=t&&this.setByParam(t)},At(u.asn1.x509.PrivateExtension,u.asn1.x509.Extension),u.asn1.x509.CRL=function(t){u.asn1.x509.CRL.superclass.constructor.call(this);var e=u.asn1,i=e.DERSequence,n=e.DERBitString,r=e.x509,o=r.AlgorithmIdentifier,s=r.TBSCertList;this.params=void 0,this.setByParam=function(t){this.params=t},this.sign=function(){var t=new s(this.params).getEncodedHex(),e=new u.crypto.Signature({alg:this.params.sigalg});e.init(this.params.cakey),e.updateHex(t);var i=e.sign();this.params.sighex=i},this.getPEM=function(){return at(this.getEncodedHex(),"X509 CRL")},this.getEncodedHex=function(){var t=this.params;if(null==t.tbsobj&&(t.tbsobj=new s(t)),null==t.sighex&&null!=t.cakey&&this.sign(),null==t.sighex)throw new Error("sighex or cakey parameter not defined");var e=[];return e.push(t.tbsobj),e.push(new o({name:t.sigalg})),e.push(new n({hex:"00"+t.sighex})),new i({array:e}).getEncodedHex()},null!=t&&(this.params=t)},At(u.asn1.x509.CRL,u.asn1.ASN1Object),u.asn1.x509.TBSCertList=function(t){u.asn1.x509.TBSCertList.superclass.constructor.call(this);var e=u.asn1,i=e.DERInteger,n=e.DERSequence,r=e.DERTaggedObject;e.DERObjectIdentifier;var o=e.x509,s=o.AlgorithmIdentifier,a=o.Time,l=o.Extensions,h=o.X500Name;this.params=null,this.setByParam=function(t){this.params=t},this.getRevCertSequence=function(){for(var t=[],e=this.params.revcert,r=0;r<e.length;r++){var o=[new i(e[r].sn),new a(e[r].date)];null!=e[r].ext&&o.push(new l(e[r].ext)),t.push(new n({array:o}))}return new n({array:t})},this.getEncodedHex=function(){var t=[],e=this.params;if(null!=e.version){var o=e.version-1,u=new i({int:o});t.push(u)}if(t.push(new s({name:e.sigalg})),t.push(new h(e.issuer)),t.push(new a(e.thisupdate)),null!=e.nextupdate&&t.push(new a(e.nextupdate)),null!=e.revcert&&t.push(this.getRevCertSequence()),null!=e.ext){var c=new l(e.ext);t.push(new r({tag:"a0",explicit:!0,obj:c}))}return new n({array:t}).getEncodedHex()},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.TBSCertList,u.asn1.ASN1Object),u.asn1.x509.CRLEntry=function(t){u.asn1.x509.CRLEntry.superclass.constructor.call(this);var e=u.asn1;this.setCertSerial=function(t){this.sn=new e.DERInteger(t)},this.setRevocationDate=function(t){this.time=new e.x509.Time(t)},this.getEncodedHex=function(){var t=new e.DERSequence({array:[this.sn,this.time]});return this.TLV=t.getEncodedHex(),this.TLV},void 0!==t&&(void 0!==t.time&&this.setRevocationDate(t.time),void 0!==t.sn&&this.setCertSerial(t.sn))},At(u.asn1.x509.CRLEntry,u.asn1.ASN1Object),u.asn1.x509.CRLNumber=function(t){u.asn1.x509.CRLNumber.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DERInteger(this.params.num),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.20",null!=t&&(this.params=t)},At(u.asn1.x509.CRLNumber,u.asn1.x509.Extension),u.asn1.x509.CRLReason=function(t){u.asn1.x509.CRLReason.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DEREnumerated(this.params.code),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.21",null!=t&&(this.params=t)},At(u.asn1.x509.CRLReason,u.asn1.x509.Extension),u.asn1.x509.OCSPNonce=function(t){u.asn1.x509.OCSPNonce.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DEROctetString(this.params),this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.2",null!=t&&(this.params=t)},At(u.asn1.x509.OCSPNonce,u.asn1.x509.Extension),u.asn1.x509.OCSPNoCheck=function(t){u.asn1.x509.OCSPNoCheck.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new u.asn1.DERNull,this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.5",null!=t&&(this.params=t)},At(u.asn1.x509.OCSPNoCheck,u.asn1.x509.Extension),u.asn1.x509.AdobeTimeStamp=function(t){u.asn1.x509.AdobeTimeStamp.superclass.constructor.call(this,t);var e=u.asn1,i=e.DERInteger,n=e.DERBoolean,r=e.DERSequence,o=e.x509.GeneralName;this.params=null,this.getExtnValueHex=function(){var t=this.params,e=[new i(1)];return e.push(new o({uri:t.uri})),null!=t.reqauth&&e.push(new n(t.reqauth)),this.asn1ExtnValue=new r({array:e}),this.asn1ExtnValue.getEncodedHex()},this.oid="1.2.840.113583.1.1.9.1",void 0!==t&&this.setByParam(t)},At(u.asn1.x509.AdobeTimeStamp,u.asn1.x509.Extension),u.asn1.x509.X500Name=function(t){u.asn1.x509.X500Name.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var e=u.asn1,i=e.x509,n=i.RDN;this.setByString=function(t,e){void 0!==e&&(this.sRule=e);var i=t.split("/");i.shift();for(var r=[],o=0;o<i.length;o++)if(i[o].match(/^[^=]+=.+$/))r.push(i[o]);else{var s=r.length-1;r[s]=r[s]+"/"+i[o]}for(o=0;o<r.length;o++)this.asn1Array.push(new n({str:r[o],rule:this.sRule}))},this.setByLdapString=function(t,e){void 0!==e&&(this.sRule=e);var n=i.X500Name.ldapToCompat(t);this.setByString(n,e)},this.setByObject=function(t,e){for(var i in void 0!==e&&(this.sRule=e),t)if(t.hasOwnProperty(i)){var r=new n({str:i+"="+t[i],rule:this.sRule});this.asn1Array?this.asn1Array.push(r):this.asn1Array=[r]}},this.setByParam=function(t){var e;(void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.array)?this.paramArray=t.array:void 0!==t.str?this.setByString(t.str):void 0!==t.ldapstr?this.setByLdapString(t.ldapstr):void 0!==t.hex?this.hTLV=t.hex:void 0!==t.certissuer?((e=new Mt).readCertPEM(t.certissuer),this.hTLV=e.getIssuerHex()):void 0!==t.certsubject?((e=new Mt).readCertPEM(t.certsubject),this.hTLV=e.getSubjectHex()):"object"==typeof t&&void 0===t.certsubject&&void 0===t.certissuer&&this.setByObject(t)},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;if(0==this.asn1Array.length&&this.paramArray.length>0)for(var t=0;t<this.paramArray.length;t++){var i={array:this.paramArray[t]};"utf8"!=this.sRule&&(i.rule=this.sRule);var r=new n(i);this.asn1Array.push(r)}var o=new e.DERSequence({array:this.asn1Array});return this.hTLV=o.getEncodedHex(),this.hTLV},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.X500Name,u.asn1.ASN1Object),u.asn1.x509.X500Name.compatToLDAP=function(t){if("/"!==t.substr(0,1))throw"malformed input";var e=(t=t.substr(1)).split("/");return e.reverse(),(e=e.map((function(t){return t.replace(/,/,"\\,")}))).join(",")},u.asn1.x509.X500Name.onelineToLDAP=function(t){return u.asn1.x509.X500Name.compatToLDAP(t)},u.asn1.x509.X500Name.ldapToCompat=function(t){for(var e=t.split(","),i=!1,n=[],r=0;e.length>0;r++){var o=e.shift();if(!0===i){var s=(n.pop()+","+o).replace(/\\,/g,",");n.push(s),i=!1}else n.push(o);"\\"===o.substr(-1,1)&&(i=!0)}return(n=n.map((function(t){return t.replace("/","\\/")}))).reverse(),"/"+n.join("/")},u.asn1.x509.X500Name.ldapToOneline=function(t){return u.asn1.x509.X500Name.ldapToCompat(t)},u.asn1.x509.RDN=function(t){u.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var e=u.asn1.x509.AttributeTypeAndValue;this.setByParam=function(t){void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.str&&this.addByMultiValuedString(t.str),void 0!==t.array&&(this.paramArray=t.array)},this.addByString=function(t){this.asn1Array.push(new u.asn1.x509.AttributeTypeAndValue({str:t,rule:this.sRule}))},this.addByMultiValuedString=function(t){for(var e=u.asn1.x509.RDN.parseString(t),i=0;i<e.length;i++)this.addByString(e[i])},this.getEncodedHex=function(){if(0==this.asn1Array.length&&this.paramArray.length>0)for(var t=0;t<this.paramArray.length;t++){var i=this.paramArray[t];void 0!==i.rule&&"utf8"!=this.sRule&&(i.rule=this.sRule);var n=new e(i);this.asn1Array.push(n)}var r=new u.asn1.DERSet({array:this.asn1Array});return this.TLV=r.getEncodedHex(),this.TLV},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.RDN,u.asn1.ASN1Object),u.asn1.x509.RDN.parseString=function(t){for(var e=t.split(/\+/),i=!1,n=[],r=0;e.length>0;r++){var o=e.shift();if(!0===i){var s=(n.pop()+"+"+o).replace(/\\\+/g,"+");n.push(s),i=!1}else n.push(o);"\\"===o.substr(-1,1)&&(i=!0)}var a=!1,u=[];for(r=0;n.length>0;r++){o=n.shift();if(!0===a){var l=u.pop();if(o.match(/"$/)){s=(l+"+"+o).replace(/^([^=]+)="(.*)"$/,"$1=$2");u.push(s),a=!1}else u.push(l+"+"+o)}else u.push(o);o.match(/^[^=]+="/)&&(a=!0)}return u},u.asn1.x509.AttributeTypeAndValue=function(t){u.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var e=u,i=e.asn1,n=i.DERSequence,r=i.DERUTF8String,o=i.DERPrintableString,s=i.DERTeletexString,a=i.DERIA5String,l=i.DERVisibleString,h=i.DERBMPString,c=e.lang.String.isMail,d=e.lang.String.isPrintable;this.setByParam=function(t){if(void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.ds&&(this.dsType=t.ds),void 0===t.value&&void 0!==t.str){var e=t.str.match(/^([^=]+)=(.+)$/);if(!e)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.sType=e[1],this.sValue=e[2]}else this.sType=t.type,this.sValue=t.value},this.setByString=function(t,e){void 0!==e&&(this.sRule=e);var i=t.match(/^([^=]+)=(.+)$/);if(!i)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.setByAttrTypeAndValueStr(i[1],i[2])},this._getDsType=function(){var t=this.sType,e=this.sValue,i=this.sRule;return"prn"===i?"CN"==t&&c(e)?"ia5":d(e)?"prn":"utf8":"utf8"===i?"CN"==t&&c(e)?"ia5":"C"==t?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(t,e,i){void 0!==i&&(this.sRule=i),this.sType=t,this.sValue=e},this.getValueObj=function(t,e){if("utf8"==t)return new r({str:e});if("prn"==t)return new o({str:e});if("tel"==t)return new s({str:e});if("ia5"==t)return new a({str:e});if("vis"==t)return new l({str:e});if("bmp"==t)return new h({str:e});throw new Error("unsupported directory string type: type="+t+" value="+e)},this.getEncodedHex=function(){null==this.dsType&&(this.dsType=this._getDsType());var t=u.asn1.x509.OID.atype2obj(this.sType),e=this.getValueObj(this.dsType,this.sValue),i=new n({array:[t,e]});return this.TLV=i.getEncodedHex(),this.TLV},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.AttributeTypeAndValue,u.asn1.ASN1Object),u.asn1.x509.SubjectPublicKeyInfo=function(t){u.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var e=u,i=e.asn1,n=i.DERInteger,r=i.DERBitString,o=i.DERObjectIdentifier,s=i.DERSequence,a=i.ASN1Util.newObject,l=i.x509.AlgorithmIdentifier,h=e.crypto;h.ECDSA,h.DSA,this.getASN1Object=function(){if(null==this.asn1AlgId||null==this.asn1SubjPKey)throw"algId and/or subjPubKey not set";return new s({array:[this.asn1AlgId,this.asn1SubjPKey]})},this.getEncodedHex=function(){var t=this.getASN1Object();return this.hTLV=t.getEncodedHex(),this.hTLV},this.setPubKey=function(t){try{if(t instanceof X){var e=a({seq:[{int:{bigint:t.n}},{int:{int:t.e}}]}).getEncodedHex();this.asn1AlgId=new l({name:"rsaEncryption"}),this.asn1SubjPKey=new r({hex:"00"+e})}}catch(t){}try{if(t instanceof u.crypto.ECDSA){var i=new o({name:t.curveName});this.asn1AlgId=new l({name:"ecPublicKey",asn1params:i}),this.asn1SubjPKey=new r({hex:"00"+t.pubKeyHex})}}catch(t){}try{if(t instanceof u.crypto.DSA){i=new a({seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]});this.asn1AlgId=new l({name:"dsa",asn1params:i});var s=new n({bigint:t.y});this.asn1SubjPKey=new r({hex:"00"+s.getEncodedHex()})}}catch(t){}},void 0!==t&&this.setPubKey(t)},At(u.asn1.x509.SubjectPublicKeyInfo,u.asn1.ASN1Object),u.asn1.x509.Time=function(t){u.asn1.x509.Time.superclass.constructor.call(this);var e=u.asn1,i=e.DERUTCTime,n=e.DERGeneralizedTime;this.setTimeParams=function(t){this.timeParams=t},this.getEncodedHex=function(){var t=null;return t=null!=this.timeParams?"utc"==this.type?new i(this.timeParams):new n(this.timeParams):"utc"==this.type?new i:new n,this.TLV=t.getEncodedHex(),this.TLV},this.type="utc",void 0!==t&&(void 0!==t.type?this.type=t.type:void 0!==t.str&&(t.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),t.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=t)},At(u.asn1.x509.Time,u.asn1.ASN1Object),u.asn1.x509.AlgorithmIdentifier=function(t){u.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var e=u.asn1,i=e.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.getEncodedHex=function(){if(null===this.nameAlg&&null===this.asn1Alg)throw new Error("algorithm not specified");if(null!==this.nameAlg){var t=null;for(var n in i)n===this.nameAlg&&(t=i[n]);if(null!==t)return this.hTLV=t,this.hTLV}null!==this.nameAlg&&null===this.asn1Alg&&(this.asn1Alg=e.x509.OID.name2obj(this.nameAlg));var r=[this.asn1Alg];null!==this.asn1Params&&r.push(this.asn1Params);var o=new e.DERSequence({array:r});return this.hTLV=o.getEncodedHex(),this.hTLV},void 0!==t&&(void 0!==t.name&&(this.nameAlg=t.name),void 0!==t.asn1params&&(this.asn1Params=t.asn1params),void 0!==t.paramempty&&(this.paramEmpty=t.paramempty)),null===this.asn1Params&&!1===this.paramEmpty&&null!==this.nameAlg){void 0!==this.nameAlg.name&&(this.nameAlg=this.nameAlg.name);var n=this.nameAlg.toLowerCase();"withdsa"!==n.substr(-7,7)&&"withecdsa"!==n.substr(-9,9)&&(this.asn1Params=new e.DERNull)}},At(u.asn1.x509.AlgorithmIdentifier,u.asn1.ASN1Object),u.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},u.asn1.x509.GeneralName=function(t){u.asn1.x509.GeneralName.superclass.constructor.call(this);var e={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87"},i=u.asn1;i.DERSequence;var n=i.DEROctetString,r=i.DERIA5String,o=i.DERTaggedObject,s=i.ASN1Object,a=i.x509.X500Name,l=ut;this.explicit=!1,this.setByParam=function(t){var i=null;if(void 0!==t){if(void 0!==t.rfc822&&(this.type="rfc822",i=new r({str:t[this.type]})),void 0!==t.dns&&(this.type="dns",i=new r({str:t[this.type]})),void 0!==t.uri&&(this.type="uri",i=new r({str:t[this.type]})),void 0!==t.dn&&(this.type="dn",this.explicit=!0,i="string"==typeof t.dn?new a({str:t.dn}):t.dn instanceof u.asn1.x509.X500Name?t.dn:new a(t.dn)),void 0!==t.ldapdn&&(this.type="dn",this.explicit=!0,i=new a({ldapstr:t.ldapdn})),void 0!==t.certissuer){this.type="dn",this.explicit=!0;var h=null;if((d=t.certissuer).match(/^[0-9A-Fa-f]+$/),-1!=d.indexOf("-----BEGIN ")&&(h=l(d)),null==h)throw"certissuer param not cert";(p=new Mt).hex=h;var c=p.getIssuerHex();(i=new s).hTLV=c}if(void 0!==t.certsubj){this.type="dn",this.explicit=!0;var d,p;h=null;if((d=t.certsubj).match(/^[0-9A-Fa-f]+$/),-1!=d.indexOf("-----BEGIN ")&&(h=l(d)),null==h)throw"certsubj param not cert";(p=new Mt).hex=h;c=p.getSubjectHex();(i=new s).hTLV=c}if(void 0!==t.ip){this.type="ip",this.explicit=!1;var A,f=t.ip,g="malformed IP address";if(f.match(/^[0-9.]+[.][0-9.]+$/)){if(8!==(A=function(t){t=(t=(t=t.replace(/^\s*\[\s*/,"")).replace(/\s*\]\s*$/,"")).replace(/\s*/g,"");try{return t.split(/,/).map((function(t,e,i){var n=parseInt(t);if(n<0||255<n)throw"integer not in range 0-255";return("00"+n.toString(16)).slice(-2)})).join("")}catch(t){throw"malformed integer array string: "+t}}("["+f.split(".").join(",")+"]")).length)throw g}else if(f.match(/^[0-9A-Fa-f:]+:[0-9A-Fa-f:]+$/))A=function(t){var e="malformed IPv6 address";if(!t.match(/^[0-9A-Fa-f:]+$/))throw e;var i=(t=t.toLowerCase()).split(":").length-1;if(i<2)throw e;var n=":".repeat(7-i+2),r=(t=t.replace("::",n)).split(":");if(8!=r.length)throw e;for(var o=0;o<8;o++)r[o]=("0000"+r[o]).slice(-4);return r.join("")}(f);else{if(!f.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw g;A=f}i=new n({hex:A})}if(null==this.type)throw"unsupported type in params="+t;this.asn1Obj=new o({explicit:this.explicit,tag:e[this.type],obj:i})}},this.getEncodedHex=function(){return this.asn1Obj.getEncodedHex()},void 0!==t&&this.setByParam(t)},At(u.asn1.x509.GeneralName,u.asn1.ASN1Object),u.asn1.x509.GeneralNames=function(t){u.asn1.x509.GeneralNames.superclass.constructor.call(this);var e=u.asn1;this.setByParamArray=function(t){for(var i=0;i<t.length;i++){var n=new e.x509.GeneralName(t[i]);this.asn1Array.push(n)}},this.getEncodedHex=function(){return new e.DERSequence({array:this.asn1Array}).getEncodedHex()},this.asn1Array=new Array,void 0!==t&&this.setByParamArray(t)},At(u.asn1.x509.GeneralNames,u.asn1.ASN1Object),u.asn1.x509.OID=new function(t){this.atype2oidList={CN:"2.5.4.3",L:"2.5.4.7",ST:"2.5.4.8",O:"2.5.4.10",OU:"2.5.4.11",C:"2.5.4.6",STREET:"2.5.4.9",DC:"0.9.2342.19200300.100.1.25",UID:"0.9.2342.19200300.100.1.1",SN:"2.5.4.4",T:"2.5.4.12",DN:"2.5.4.49",E:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3"},this.name2oidList={sha1:"1.3.14.3.2.26",sha256:"2.16.840.1.101.3.4.2.1",sha384:"2.16.840.1.101.3.4.2.2",sha512:"2.16.840.1.101.3.4.2.3",sha224:"2.16.840.1.101.3.4.2.4",md5:"1.2.840.113549.2.5",md2:"1.3.14.7.2.2.1",ripemd160:"1.3.36.3.2.1",MD2withRSA:"1.2.840.113549.1.1.2",MD4withRSA:"1.2.840.113549.1.1.3",MD5withRSA:"1.2.840.113549.1.1.4",SHA1withRSA:"1.2.840.113549.1.1.5","pkcs1-MGF":"1.2.840.113549.1.1.8",rsaPSS:"1.2.840.113549.1.1.10",SHA224withRSA:"1.2.840.113549.1.1.14",SHA256withRSA:"1.2.840.113549.1.1.11",SHA384withRSA:"1.2.840.113549.1.1.12",SHA512withRSA:"1.2.840.113549.1.1.13",SHA1withECDSA:"1.2.840.10045.4.1",SHA224withECDSA:"1.2.840.10045.4.3.1",SHA256withECDSA:"1.2.840.10045.4.3.2",SHA384withECDSA:"1.2.840.10045.4.3.3",SHA512withECDSA:"1.2.840.10045.4.3.4",dsa:"1.2.840.10040.4.1",SHA1withDSA:"1.2.840.10040.4.3",SHA224withDSA:"2.16.840.1.101.3.4.3.1",SHA256withDSA:"2.16.840.1.101.3.4.3.2",rsaEncryption:"1.2.840.113549.1.1.1",commonName:"2.5.4.3",countryName:"2.5.4.6",localityName:"2.5.4.7",stateOrProvinceName:"2.5.4.8",streetAddress:"2.5.4.9",organizationName:"2.5.4.10",organizationalUnitName:"2.5.4.11",domainComponent:"0.9.2342.19200300.100.1.25",userId:"0.9.2342.19200300.100.1.1",surname:"2.5.4.4",givenName:"2.5.4.42",title:"2.5.4.12",distinguishedName:"2.5.4.49",emailAddress:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3",subjectDirectoryAttributes:"2.5.29.9",subjectKeyIdentifier:"2.5.29.14",keyUsage:"2.5.29.15",subjectAltName:"2.5.29.17",issuerAltName:"2.5.29.18",basicConstraints:"2.5.29.19",cRLNumber:"2.5.29.20",cRLReason:"2.5.29.21",nameConstraints:"2.5.29.30",cRLDistributionPoints:"2.5.29.31",certificatePolicies:"2.5.29.32",anyPolicy:"2.5.29.32.0",authorityKeyIdentifier:"2.5.29.35",policyConstraints:"2.5.29.36",extKeyUsage:"2.5.29.37",authorityInfoAccess:"1.3.6.1.5.5.7.1.1",ocsp:"1.3.6.1.5.5.7.48.1",ocspBasic:"1.3.6.1.5.5.7.48.1.1",ocspNonce:"1.3.6.1.5.5.7.48.1.2",ocspNoCheck:"1.3.6.1.5.5.7.48.1.5",caIssuers:"1.3.6.1.5.5.7.48.2",anyExtendedKeyUsage:"2.5.29.37.0",serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",emailProtection:"1.3.6.1.5.5.7.3.4",timeStamping:"1.3.6.1.5.5.7.3.8",ocspSigning:"1.3.6.1.5.5.7.3.9",dateOfBirth:"1.3.6.1.5.5.7.9.1",placeOfBirth:"1.3.6.1.5.5.7.9.2",gender:"1.3.6.1.5.5.7.9.3",countryOfCitizenship:"1.3.6.1.5.5.7.9.4",countryOfResidence:"1.3.6.1.5.5.7.9.5",ecPublicKey:"1.2.840.10045.2.1","P-256":"1.2.840.10045.3.1.7",secp256r1:"1.2.840.10045.3.1.7",secp256k1:"1.3.132.0.10",secp384r1:"1.3.132.0.34",pkcs5PBES2:"1.2.840.113549.1.5.13",pkcs5PBKDF2:"1.2.840.113549.1.5.12","des-EDE3-CBC":"1.2.840.113549.3.7",data:"1.2.840.113549.1.7.1","signed-data":"1.2.840.113549.1.7.2","enveloped-data":"1.2.840.113549.1.7.3","digested-data":"1.2.840.113549.1.7.5","encrypted-data":"1.2.840.113549.1.7.6","authenticated-data":"1.2.840.113549.1.9.16.1.2",tstinfo:"1.2.840.113549.1.9.16.1.4",signingCertificate:"1.2.840.113549.1.9.16.2.12",timeStampToken:"1.2.840.113549.1.9.16.2.14",signaturePolicyIdentifier:"1.2.840.113549.1.9.16.2.15",etsArchiveTimeStamp:"1.2.840.113549.1.9.16.2.27",signingCertificateV2:"1.2.840.113549.1.9.16.2.47",etsArchiveTimeStampV2:"1.2.840.113549.1.9.16.2.48",extensionRequest:"1.2.840.113549.1.9.14",contentType:"1.2.840.113549.1.9.3",messageDigest:"1.2.840.113549.1.9.4",signingTime:"1.2.840.113549.1.9.5",counterSignature:"1.2.840.113549.1.9.6",archiveTimeStampV3:"0.4.0.1733.2.4",pdfRevocationInfoArchival:"1.2.840.113583.1.1.8",adobeTimeStamp:"1.2.840.113583.1.1.9.1"},this.objCache={},this.name2obj=function(t){if(void 0!==this.objCache[t])return this.objCache[t];if(void 0===this.name2oidList[t])throw"Name of ObjectIdentifier not defined: "+t;var e=this.name2oidList[t],i=new u.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=i,i},this.atype2obj=function(t){if(void 0!==this.objCache[t])return this.objCache[t];var e;if(t.match(/^\d+\.\d+\.[0-9.]+$/))e=t;else if(void 0!==this.atype2oidList[t])e=this.atype2oidList[t];else{if(void 0===this.name2oidList[t])throw"AttributeType name undefined: "+t;e=this.name2oidList[t]}var i=new u.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=i,i}},u.asn1.x509.OID.oid2name=function(t){var e=u.asn1.x509.OID.name2oidList;for(var i in e)if(e[i]==t)return i;return""},u.asn1.x509.OID.oid2atype=function(t){var e=u.asn1.x509.OID.atype2oidList;for(var i in e)if(e[i]==t)return i;return t},u.asn1.x509.OID.name2oid=function(t){if(t.match(/^[0-9.]+$/))return t;var e=u.asn1.x509.OID.name2oidList;return void 0===e[t]?"":e[t]},u.asn1.x509.X509Util={},u.asn1.x509.X509Util.newCertPEM=function(t){var e=u.asn1.x509;return e.TBSCertificate,new(0,e.Certificate)(t).getPEM()},X.getPosArrayOfChildrenFromHex=function(t){return It.getChildIdx(t,0)},X.getHexValueArrayOfChildrenFromHex=function(t){var e,i=It.getV,n=i(t,(e=X.getPosArrayOfChildrenFromHex(t))[0]),r=i(t,e[1]),o=i(t,e[2]),s=i(t,e[3]),a=i(t,e[4]),u=i(t,e[5]),l=i(t,e[6]),h=i(t,e[7]),c=i(t,e[8]);return(e=new Array).push(n,r,o,s,a,u,l,h,c),e},X.prototype.readPrivateKeyFromPEMString=function(t){var e=ut(t),i=X.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},X.prototype.readPKCS5PrvKeyHex=function(t){var e=X.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},X.prototype.readPKCS8PrvKeyHex=function(t){var e,i,n,r,o,s,a,u,l=It,h=l.getVbyListEx;if(!1===l.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),i=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),r=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,i,n,r,o,s,a,u)},X.prototype.readPKCS5PubKeyHex=function(t){var e=It,i=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var r=i(t,n[0]),o=i(t,n[1]);this.setPublic(r,o)},X.prototype.readPKCS8PubKeyHex=function(t){var e=It;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var i=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(i)},X.prototype.readCertPubKeyHex=function(t,e){var i,n;(i=new Mt).readCertHex(t),n=i.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)},X.prototype.sign=function(t,e){var i,n=(i=t,u.crypto.Util.hashString(i,e));return this.signWithMessageHash(n,e)},X.prototype.signWithMessageHash=function(t,e){var i=G(u.crypto.Util.getPaddedDigestInfoHex(t,e,this.n.bitLength()),16);return Ct(this.doPrivate(i).toString(16),this.n.bitLength())},X.prototype.signPSS=function(t,e,i){var n,r=(n=ot(t),u.crypto.Util.hashHex(n,e));return void 0===i&&(i=-1),this.signWithMessageHashPSS(r,e,i)},X.prototype.signWithMessageHashPSS=function(t,e,i){var n,r=rt(t),o=r.length,s=this.n.bitLength()-1,a=Math.ceil(s/8),l=function(t){return u.crypto.Util.hashHex(t,e)};if(-1===i||void 0===i)i=o;else if(-2===i)i=a-o-2;else if(i<-2)throw new Error("invalid salt length");if(a<o+i+2)throw new Error("data too long");var h="";i>0&&(h=new Array(i),(new U).nextBytes(h),h=String.fromCharCode.apply(String,h));var d=rt(l(ot("\0\0\0\0\0\0\0\0"+r+h))),p=[];for(n=0;n<a-i-o-2;n+=1)p[n]=0;var A=String.fromCharCode.apply(String,p)+""+h,f=St(d,A.length,l),g=[];for(n=0;n<A.length;n+=1)g[n]=A.charCodeAt(n)^f.charCodeAt(n);var v=65280>>8*a-s&255;for(g[0]&=~v,n=0;n<o;n++)g.push(d.charCodeAt(n));return g.push(188),Ct(this.doPrivate(new c(g)).toString(16),this.n.bitLength())},X.prototype.verify=function(t,e){if(null==(e=e.toLowerCase()).match(/^[0-9a-f]+$/))return!1;var i=G(e,16),n=this.n.bitLength();if(i.bitLength()>n)return!1;var r=this.doPublic(i).toString(16);if(r.length+3!=n/4)return!1;var o=Bt(r.replace(/^1f+00/,""));if(0==o.length)return!1;var s,a=o[0];return o[1]==(s=t,u.crypto.Util.hashString(s,a))},X.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=G(e,16);if(i.bitLength()>this.n.bitLength())return 0;var n=Bt(this.doPublic(i).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==t)},X.prototype.verifyPSS=function(t,e,i,n){var r=function(t){return u.crypto.Util.hashHex(t,i)}(ot(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(r,e,i,n)},X.prototype.verifyWithMessageHashPSS=function(t,e,i,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r,o=new c(e,16),s=function(t){return u.crypto.Util.hashHex(t,i)},a=rt(t),l=a.length,h=this.n.bitLength()-1,d=Math.ceil(h/8);if(-1===n||void 0===n)n=l;else if(-2===n)n=d-l-2;else if(n<-2)throw new Error("invalid salt length");if(d<l+n+2)throw new Error("data too long");var p=this.doPublic(o).toByteArray();for(r=0;r<p.length;r+=1)p[r]&=255;for(;p.length<d;)p.unshift(0);if(188!==p[d-1])throw new Error("encoded message does not end in 0xbc");var A=(p=String.fromCharCode.apply(String,p)).substr(0,d-l-1),f=p.substr(A.length,l),g=65280>>8*d-h&255;if(0!=(A.charCodeAt(0)&g))throw new Error("bits beyond keysize not zero");var v=St(f,A.length,s),m=[];for(r=0;r<A.length;r+=1)m[r]=A.charCodeAt(r)^v.charCodeAt(r);m[0]&=~g;var y=d-l-n-2;for(r=0;r<y;r+=1)if(0!==m[r])throw new Error("leftmost octets not zero");if(1!==m[y])throw new Error("0x01 marker not found");return f===rt(s(ot("\0\0\0\0\0\0\0\0"+a+String.fromCharCode.apply(String,m.slice(-n)))))},X.SALT_LEN_HLEN=-1,X.SALT_LEN_MAX=-2,X.SALT_LEN_RECOVER=-2,Mt.hex2dn=function(t,e){void 0===e&&(e=0);var i=new Mt;return It.getTLV(t,e),i.getX500Name(t).str},Mt.hex2rdn=function(t,e){if(void 0===e&&(e=0),"31"!==t.substr(e,2))throw new Error("malformed RDN");for(var i=new Array,n=It.getChildIdx(t,e),r=0;r<n.length;r++)i.push(Mt.hex2attrTypeValue(t,n[r]));return(i=i.map((function(t){return t.replace("+","\\+")}))).join("+")},Mt.hex2attrTypeValue=function(t,e){var i=It,n=i.getV;if(void 0===e&&(e=0),"30"!==t.substr(e,2))throw new Error("malformed attribute type and value");var r=i.getChildIdx(t,e);2!==r.length||t.substr(r[0],2);var o=n(t,r[0]),s=u.asn1.ASN1Util.oidHexToInt(o);return u.asn1.x509.OID.oid2atype(s)+"="+rt(n(t,r[1]))},Mt.getPublicKeyFromCertHex=function(t){var e=new Mt;return e.readCertHex(t),e.getPublicKey()},Mt.getPublicKeyFromCertPEM=function(t){var e=new Mt;return e.readCertPEM(t),e.getPublicKey()},Mt.getPublicKeyInfoPropOfCertPEM=function(t){var e,i,n=It.getVbyList,r={};return r.algparam=null,(e=new Mt).readCertPEM(t),i=e.getPublicKeyHex(),r.keyhex=n(i,0,[1],"03").substr(2),r.algoid=n(i,0,[0,0],"06"),"2a8648ce3d0201"===r.algoid&&(r.algparam=n(i,0,[0,1],"06")),r},Mt.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];var Tt,Qt=[(Tt=new Mt,Tt.readCertPEM(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@\tPPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\\QN>Z\tN\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@ebN[bqx=ng?\tS^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFoFgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP\tP>}A^VP}Ex\bUZa=syDw}>Ya8wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr\tsof[wA}e{\\z}w[YDQ|dt=wC\tNvbRZ@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`N\0RXt^Z}vEpdC=\bY?=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac\tZ\tguf\bF]DCP?znNYf\tuaYu[`=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB\tD8{B>\\sPYbEU\tFQXz\0@`zsqgfD\0[WY\bPeZc}\t\0bx?Rfed}BUe|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YBY`Ffg=sY>{t<fu]xrFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=EnO}Pud8TA\t?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V\tOUwY=>X[\\E`tW[8}VwpFBQcnrPF}yUtd8<Doe_\b[oOVUep@pYY\0cegY{r\t?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<StX\tNx\0\b\t\0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V\tCVrRVtAAc[\tQp|d|tqoQ=T|XX\t=u\\N8XNCx\\aU>wz\tX<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ\tP\bZ\b\\YNNSZ_\\w^|TsD8db\t_\tY\\o^Cw>Z\0x\\^aN]wWf\bA}\tC^d_{ZC@\by]gY@E\tBFY?OsaqbDcVgQbZeFc\tovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z\tZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),Tt)];function Rt(t,e){var i=t.getIssuerHex();if(i===t.getSubjectHex())return t.verifySignature(t.getPublicKey());var n=function(t,e){for(var i=0,n=e;i<n.length;i++){var r=n[i];if(r.getSubjectHex()===t)return r}}(i,e);return!!n&&(!1!==t.verifySignature(n.getPublicKey())&&Rt(n,e))}function Dt(t){return t.getIssuerHex()!==t.getSubjectHex()&&Rt(t,Qt)}!function(t){var e=new Mt;"string"==typeof t?e.readCertPEM(t):e.readCertHex(t.hex);var i=Dt(e);Qt.push(e)}(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU\tPPONrtNVONtVWNW=_SVw\tVE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ\t[QSnS=\b[aNBZQZ\\aZ\t[QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tRbZOVTN>bRPtYoTyuoz}}f`Bwo?=RQN\\Ot[cONZO>Wyfd\tgdbRaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdyndB{^T}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F\tSAe`tn[t\tu\b8^a]qx\bE_^ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQFO=Yw\0_TePCOFV@|N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{]\tb=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r\tAo\0\tF`fdzCnRtq\br\t\b8eBp=Z\\TRaadc}@Eub`quuNqAdF\0aUay{}x>tgVz`\t_YBFwu_q?egt8v[o\x008\twTQcrA\t<z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw\tXDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYPdWV]OE^\bOFwA}<uXoO}_NDz8aonzWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT|\tOZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO\td_D}eBb?Uq^b\t[y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zUxOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`FyWadZcAD\tpeXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx\ta[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef`\t?^x>X}esa{>\\r?eE]CC_cZ[vQs\t\t>gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC>>gvb}ACd\t``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc\tXSq\t{\0DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy\tRNRg@NZCaaq8?`\t^`?ryD\t=obzw?E]Ou]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug8^f[YQAWad8FNqxFQE?ZOo\t}RnO\bsQc\txyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var kt,Nt=(kt="$$FIVE_EVENT$$","undefined"==typeof Symbol?"$Symbol<".concat(kt,">$"):Symbol(kt));function Ft(t){return t[Nt]||(t[Nt]={}),t[Nt]}var Ot=function(){function t(){}return t.prototype.hasListener=function(t){var e=Ft(this);return e&&e[t]&&e[t].length>0},t.prototype.on=function(t,e,i){var n=this,r=Ft(this);return r[t]||(r[t]=[]),r[t].push([e,i||!1]),function(){return n.off(t,e)}},t.prototype.once=function(t,e){return this.on(t,e,!0)},t.prototype.off=function(t,e){if(void 0!==t){var i,n=Ft(this);if(n[t]||(n[t]=[]),void 0!==e){for(var r=0;r<n[t].length&&n[t][r][0]!==e;r++);r<n[t].length&&n[t].splice(r,1)}else n[t].length=0}else(i=this)[Nt]||delete i[Nt]},t.prototype.emit=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=!1,r=Ft(this),o=r[t]||[],s=0,a=o.slice();s<a.length;s++){var u=a[s],l=u[0],h=u[1],c=void 0!==h&&h,d=l.apply(void 0,e);c&&this.off(t,l),!1===d&&(n=!0)}return n},t}();function Lt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]}var Vt="undefined"!=typeof performance&&void 0!==performance.timing?performance.timing.navigationStart:Date.now(),Ht="undefined"!=typeof performance?function(){return Vt+performance.now()}:function(){return Date.now()};function Kt(t){Object.freeze(t);var e="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach((function(n){!i.call(t,n)||e&&("caller"===n||"callee"===n||"arguments"===n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||Kt(t[n])})),t}var zt=/^([^.]+)(\.([^.]+))*$/;function qt(t){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(t)}function _t(t,e){return zt.test(t)&&zt.test(e)&&function(t,e){if("*"===t)return!0;var i=t.split(".").reverse(),n=e.split(".").reverse();if(i.length<=1)return t===e;for(var r=0;r<i.length;r++)if(i[r]!==n[r])return!1;return!0}(t,e)}var jt=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],Ut=Kt(JSON.parse(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}("h-/y|pnyu|/9-/xr;p|z/9-/yvn{wvn;p|z/9-/rnyrr;p|z/9-/rnyrr;p{/9-/uv;p|z/9-/uv;p{/9-/ywpq{;p|z/9-/pnyp{|qr;vr/9-/rnyrr;w}/9-/rnyrr:pq{;p|z/-j"))),Gt=function(t){function i(e,i,n){return t.call(this,"[NETWORK]: response error(type: ".concat(i,", reason: ").concat(n,"): ").concat(e))||this}return e.__extends(i,t),i}(Error),Wt=function(t){function i(e,i,n){var r=t.call(this,"[NETWORK]: response error(type: ".concat(i,", status: ").concat(n,"): ").concat(e))||this;return r.httpStatus=n,r}return e.__extends(i,t),i}(Error);!function(t){function i(e,i){return t.call(this,"[NETWORK]: request abort(type: ".concat(i,"): ").concat(e))||this}e.__extends(i,t)}(Error);var Xt=function(t){function i(e,i,n){return t.call(this,"[NETWORK]: request timeout(type: ".concat(i,", timeout: ").concat(n,"ms): ").concat(e))||this}return e.__extends(i,t),i}(Error);function Yt(t){for(var e=0,i=jt;e<i.length;e++){var n=i[e],r=t.match(n);if(r)return"jsonp_"+r[1]}return null}function Zt(t){return null!==Yt(t)}function Jt(t){return jt.reduce((function(t,e){return t.replace(e,"")}),t)}function $t(t){var e=t.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/);return e?e[2]:location.hostname}!function(t){function i(e,i,n){return t.call(this,"[NETWORK]: request forbidden(type: ".concat(i,", reason: ").concat(n,"): ").concat(e))||this}e.__extends(i,t)}(Error);var te=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(i,t),i}(Ot);function ee(t,e,i,n,r){return void 0===e&&(e={}),void 0===i&&(i=Lt),void 0===n&&(n=Lt),void 0===r&&(r=Lt),new Promise((function(o,s){var a,u=e.allowHosts?Ut.concat(e.allowHosts):Ut.slice(),l=$t(t),h=Yt(t);if(0!==location.hostname.length&&!qt(location.hostname)&&0===Ut.filter((function(t){return _t(t,location.hostname)})).length&&!qt(l)&&0===u.filter((function(t){return _t(t,l)})).length){var c=h?"Script":"XMLHttpRequest",d=new Gt(t,c,"request host(".concat(l,") is not allowed"));return n(d),s(d),void(null===(a=e.networkSubscribe)||void 0===a||a.emit("network",t,c,"forbidden",d.message))}if(h){var p=window,A=null,f=!1,g=Ht(),v=document.createElement("script");p[h]=function(r){var a,u,l=Ht(),c=l-g;if(delete p[h],v.parentNode&&v.parentNode.removeChild(v),null!==A&&(window.clearTimeout(A),A=null),!0!==f){if(0!==r.indexOf("data:")){var d=new Wt(t,"Script",500);return n(d),s(d),void(null===(a=e.networkSubscribe)||void 0===a||a.emit("network",t,"Script","error",d.message))}var m=r.split(","),y=(m[0].match(/:(.*?);/)||[])[1],b=m[1];if("arraybuffer"===e.responseType||"blob"===e.responseType){for(var w=atob(m[1]),x=w.length,E=new Uint8Array(x),I=0;I<x;I++)E[I]=w.charCodeAt(I);b="arraybuffer"===e.responseType?E.buffer:new Blob([E],{type:y})}var C={body:b,meta:{source:t,requestTime:g,responseTime:l,costs:c,headers:{}}};i(C),o(C),null===(u=e.networkSubscribe)||void 0===u||u.emit("network",t,"Script","ok",JSON.stringify(C.meta)),f=!0}},v.src=t,document.body.appendChild(v),"number"==typeof e.timeout&&(A=window.setTimeout((function(){var i;if(A=null,!0!==f){f=!0;var r=new Xt(t,"Script",e.timeout||NaN);n(r),s(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"Script","timeout",r.message)}}),e.timeout))}else{var m=Ht(),y=!1,b=new XMLHttpRequest,w=function(){b&&(b.removeEventListener("timeout",x,!1),b.removeEventListener("progress",E,!1),b.removeEventListener("load",I,!1),b.removeEventListener("error",C,!1)),b=null,w=Lt},x=function(){var i;if(!0!==y){y=!0,w();var r=new Xt(t,"XMLHttpRequest",e.timeout||NaN);n(r),s(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"XMLHttpRequest","timeout",r.message)}},E=function(t){!0!==y&&t.lengthComputable&&(t.total<=0||r(t.loaded/t.total))},I=function(n){var r;if(!0!==y){var s=this.status;if(0===s||s>=200&&s<400){y=!0,w();var a=Ht(),u=a-m,l=function(t){if(!t)return{};for(var e={},i=t.trim().split("\n"),n=0;n<i.length;n++){var r=i[n],o=r.indexOf(":"),s=r.slice(0,o).trim().toLowerCase(),a=r.slice(o+1).trim();a&&(e[s]?e[s]+=", "+a:e[s]=a)}return e}(this.getAllResponseHeaders()),h=n.total,c={body:this.response,meta:{source:t,requestTime:m,responseTime:a,costs:u,headers:l,size:h}};i(c),o(c),null===(r=e.networkSubscribe)||void 0===r||r.emit("network",t,"XMLHttpRequest","ok",JSON.stringify(c.meta))}else C.call(this)}},C=function(){var i;if(!0!==y){y=!0,w();var r=new Wt(t,"XMLHttpRequest",this.status);n(r),s(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"XMLHttpRequest","error",r.message)}};b.addEventListener("timeout",x,!1),b.addEventListener("progress",E,!1),b.addEventListener("load",I,!1),b.addEventListener("error",C,!1),e.responseType&&(b.responseType=e.responseType),"number"==typeof e.timeout&&(b.timeout=e.timeout),b.open("GET",t,!0),b.send(null)}}))}var ie={};function ne(t,e,i,n,r,o){return void 0===e&&(e={}),void 0===i&&(i=Lt),void 0===n&&(n=Lt),void 0===r&&(r=Lt),new Promise((function(s,a){var u,l=e.allowHosts?Ut.concat(e.allowHosts):Ut.slice(),h=$t(t);if(0!==location.hostname.length&&!qt(location.hostname)&&0===Ut.filter((function(t){return _t(t,location.hostname)})).length&&!qt(h)&&0===l.filter((function(t){return _t(t,h)})).length){var c=new Gt(t,"Image","request host(".concat(h,") is not allowed"));return n(c),a(c),void(null===(u=e.networkSubscribe)||void 0===u||u.emit("network",t,"Image","forbidden",c.message))}var d=null!=o?o:new Image,p=Ht(),A=!1,f=null;"number"==typeof e.timeout&&(f=window.setTimeout((function(){var i;if(d.onload=Lt,d.onerror=Lt,f=null,!0!==A){A=!0;var r=new Xt(t,"Image",e.timeout);n(r),a(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"Image","timeout",r.message)}}),e.timeout)),d.onload=function(){var n;if(d.onload=Lt,d.onerror=Lt,null!==f&&(clearTimeout(f),f=null),!0!==A){var o=Ht();A=!0;var a={body:d,meta:{headers:{},source:t,requestTime:p,responseTime:o,costs:o-p}};r(1),i(a),s(a),null===(n=e.networkSubscribe)||void 0===n||n.emit("network",t,"Image","ok",JSON.stringify(a.meta))}},d.onerror=function(){var i;if(d.onload=Lt,d.onerror=Lt,null!==f&&(clearTimeout(f),f=null),!0!==A){A=!0;var r=new Wt(t,"Image",0);n(r),a(r),null===(i=e.networkSubscribe)||void 0===i||i.emit("network",t,"Image","ok",r.message)}},r(0),d.src=t}))}var re=function(){if("undefined"!=typeof window){var t=window;return t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)}}return function(t){return setTimeout(t,16)}}(),oe=16,se=function(){function t(){this.frames=[],this.stoped=!1,this.time=Ht(),this.loop=this.loop.bind(this),this.loop()}return Object.defineProperty(t,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new t),this.sharedInstance},enumerable:!1,configurable:!0}),t.getFrameTime=function(){return oe},t.prototype.loop=function(){if(!this.stoped){var t=Ht(),e=t-this.time;this.time=t;var i=[];oe=e;for(var n=0,r=this.frames;n<r.length;n++){var o=r[n];if(o.delay>0)o.delay=o.delay-1;else{try{o.callback(t,e)}catch(t){console.error(t)}o.once&&i.push(o)}}i.length>0&&(this.frames=this.frames.filter((function(t){return-1===i.indexOf(t)}))),re(this.loop)}},t.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},t.prototype.add=function(t,e,i,n){var r=this;void 0===e&&(e=!1),void 0===i&&(i=0),void 0===n&&(n=5);var o={callback:t,once:e,delay:i,order:n};return this.frames.push(o),this.frames.sort((function(t,e){return t.order-e.order})),function(){return r.remove(o)}},t.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},t}(),ae="//vrlab-public.ljcdn.com/",ue="//vrlab-image[1-4].ljcdn.com/",le="//global-public.realsee-cdn.com/",he="//global-image-[1-4].realsee-cdn.com/";function ce(t,e){var i,n=t.split("?")[0],r=n.split(".").pop();if("jpeg"===r&&(r="jpg"),"png"!==r&&"jpg"!==r)return t;var o="";if(void 0!==e.format&&e.format!==r&&(o+="/format/".concat(e.format)),void 0!==e.cut&&(o+="/cut/".concat(e.cut[2],"x").concat(e.cut[3],"x").concat(e.cut[0],"x").concat(e.cut[1])),void 0!==e.quality){var s=null!==(i=e.format)&&void 0!==i?i:r;s&&["jpg","webp","tpg","heif","avif"].indexOf(s)>=0&&(o+="/quality/".concat(e.quality))}if(void 0!==e.size){var a=t.match(/\/cube_(\d+)\//);(a?Number(a[1]):NaN)!==Number(e.size)&&(o+="/thumbnail/".concat(e.size,"x"))}return void 0!==e.sharpen&&(o+="/sharpen/".concat(e.sharpen)),o.length&&(o="?imageMogr2"+o),n+o}function de(t,e){return t.indexOf(ae)>=0?(/\.basis(\?|$)/.test(t)&&!0!==e.basisLoaderInitialized&&(t=t.replace(/\.basis(\?|$)/,".jpg$1")),ce(function(t,e){var i=e.split("."),n=i[0],r=i.slice(1);if("texture"===n)return t.replace(ae,ue.replace("[1-4]","3"));if("pano"===n||"pano_luminance"===n)switch(r[0],r[1]){case"front":case"left":case"up":return t.replace(ae,ue.replace("[1-4]","1"));case"down":case"right":case"back":return t.replace(ae,ue.replace("[1-4]","2"))}else if("pano_tile"===n||"pano_tile_luminance"===n){r[0],r[1];var o=r[2],s=r[3],a=r[4],u=Math.pow(2,Number(o))*Number(s)+Number(a);if(!isNaN(u))return t.replace(ae,"//vr-tile-[1-2].realsee-cdn.com/".replace("[1-2]",String(u%2+1)))}return t.replace(ae,ue.replace("[1-4]","3"))}(t,e.key),e)):t.indexOf(le)>=0?(/\.basis(\?|$)/.test(t)&&!0!==e.basisLoaderInitialized&&(t=t.replace(/\.basis(\?|$)/,".jpg$1")),ce(function(t,e){var i=e.split("."),n=i[0],r=i.slice(1);if("texture"===n)return t.replace(le,he.replace("[1-4]","3"));if("pano"===n||"pano_luminance"===n)switch(r[0],r[1]){case"front":case"left":case"up":return t.replace(le,he.replace("[1-4]","1"));case"down":case"right":case"back":return t.replace(le,he.replace("[1-4]","2"))}else if("pano_tile"===n||"pano_tile_luminance"===n){r[0],r[1];var o=r[2],s=r[3],a=r[4],u=Math.pow(2,Number(o))*Number(s)+Number(a);if(!isNaN(u))return t.replace(le,"//global-tile-[1-2].realsee-cdn.com/".replace("[1-2]",String(u%2+1)))}return t.replace(le,he.replace("[1-4]","3"))}(t,e.key),e)):t.indexOf("//test-vr-public.realsee-cdn.com/")>=0?(/\.basis(\?|$)/.test(t)&&!0!==e.basisLoaderInitialized&&(t=t.replace(/\.basis(\?|$)/,".jpg$1")),ce((i=t,e.key,i.replace("//test-vr-public.realsee-cdn.com/","//test-vr-image.realsee-cdn.com/")),e)):t;var i}var pe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.floorIndex=0,e.needsRender=!0,e}return e.__extends(i,t),i}(r.Mesh),Ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.needsRender=!0,e.enableTransparent=!0,e}return e.__extends(i,t),i.prototype.getTransparent=function(){return this.enableTransparent},i.prototype.setTransparent=function(t){this.enableTransparent=t,this.traverse((function(e){e instanceof pe&&e.material.forEach((function(e){e.transparent=t}))}))},i.prototype.getMaterial=function(){var t=null;return this.traverse((function(e){if(null===t&&e instanceof pe){var i=e.material[0];t={pano0:i.pano0,pano1:i.pano1,modelAlpha:i.modelAlpha,progress:i.progress,useBlackTransition:i.useBlackTransition,perspToOrtho:i.perspToOrtho,opacity:i.opacity}}})),t},i.prototype.setMaterial=function(t){this.traverse((function(e){e instanceof pe&&e.material.forEach((function(e){void 0!==t.pano0&&(e.pano0=t.pano0),void 0!==t.pano1&&(e.pano1=t.pano1),void 0!==t.modelAlpha&&(e.modelAlpha=t.modelAlpha),void 0!==t.progress&&(e.progress=t.progress),void 0!==t.useBlackTransition&&(e.useBlackTransition=t.useBlackTransition),void 0!==t.perspToOrtho&&(e.perspToOrtho=t.perspToOrtho),void 0!==t.opacity&&(e.opacity=t.opacity)}))}))},i.prototype.disposeMaterial=function(){this.traverse((function(t){if(t instanceof pe){var e=[];t.material.forEach((function(t){var i=t.uniforms;Object.keys(i).map((function(t){if(/^pano\d\_/.test(t))i[t].value=null;else{var n=i[t].value;n&&"function"==typeof n.dispose&&-1===e.indexOf(n)&&(i[t].value=null,e.push(n))}})),t.dispose()})),e.forEach((function(t){return t.dispose()}))}}))},i.prototype.disposeGeometry=function(){this.traverse((function(t){t instanceof pe&&t.geometry.dispose()}))},i}(r.Group),fe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.floorIndex=0,e}return e.__extends(i,t),i}(Ae),ge=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}("{vs|z-rp@-z|qryPr{rH{vs|z-sy|n-}r}a|\\u|Hn\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rp@-|yq]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrrK0v{pyqr-I?l}nlrrK0v{pyqr-Ip|y|l}nlrrK|vq-znv{56-\n--0v{pyqr-IlrrK--0v{pyqr-I?lrrK--0v{pyqr-Ip|y|lrrK--0v{pyqr-Iortv{{|znylrrK--0v{pyqr-Iqrsny{|znylrrK--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--[|zny-J-{|znyv\tr5n{s|zrq[|zny6H--cvr]|vv|{-J-:z]|vv|{;\b\tH--|yq]|vv|{-J-5z|qryZnv-7-n{s|zrq6;\b\tH--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-n{s|zrqH--<<-修正正交相机模拟--rp@-pnzrn[|zny-J-5z|qrycvrZnv-7-rpA5=;=9-=;=9->;=9-=;=66;\b\tH--sy|n-|u|Qvn{pr-J-zn5=;=>9-q|5pnzrn[|zny9-z|qryPr{r-:-pnzrn]|vv|{66H--tyl]|vv|{;-J-zv5-tyl]|vv|{;9-tyl]|vv|{;-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H--tyl]|vv|{;\b-J-zv5-tyl]|vv|{;\b9-tyl]|vv|{;\b-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H\f"),ve=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-r}|rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6{vs|z-rp?-}n{|cvqr|lv\trH{vs|z-znA-}n{|cvqr|lznvH{vs|z-sy|n-}n{|cvqr|lny}unH{vs|z-nz}yr?Q-}n{|cvqr|lzn}H0r{qvsn\bv{t-rp@-|yq]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{Krp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--rpA-qvssrP|y|-J-rpA5qvssr;to9-|}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--<<-调整曝光值--vnqvn{pr-J-vnqvn{pr-7-r}|rH--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--<<-减少方向光对模型的影响--rp@-|t|v{tYvtu-J-5rsyrprqYvtu;qvrpQvssr-7-=;?6-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\b\t9-qvssrP|y|;n6H--\f--rp@-}n{|=a|crr-J-5|yq]|vv|{-:-}n{|=lznvh@j;\b\t6-7-zn@5}n{|=lznv6H--rp@-}n{|>a|crr-J-5|yq]|vv|{-:-}n{|>lznvh@j;\b\t6-7-zn@5}n{|>lznv6H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-rrPor5}n{|=lzn}9-}n{|=a|crr6H--rpA-}n{|>P|y|-J-rrPor5}n{|>lzn}9-}n{|>a|crr6H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-rrPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr6;H----}n{|>P|y|;n-J->;=-:-rrPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr6;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6-<-aNb-7-?;=H----}n{|P|y|-J-zv5}n{|=P|y|9-OYNPXlP\\Y\\_9-pynz}5oynpx]|tr-7-@;=9-=;=9->;=66H----}n{|P|y|-J-zv5}n{|P|y|9-}n{|>P|y|9-pynz}5oynpx]|tr-7-@;=-:-?;=9-=;=9->;=66H--0ryr----}n{|P|y|-J-zv5}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6----rp@-pnzrna|crr-J-|yq]|vv|{-:-pnzrn]|vv|{H----rpA-zn}P||q-J-rpA5pnzrna|crr9->;=6-7-}n{|cvqr|lznvH----rp?--J-rp?5------=;B-8-zn}P||q;-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;9------=;B-:-zn}P||q;\b-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;\b----6H----rpA-vqr|P|y|-J-rr?Q5}n{|cvqr|lzn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q;\t66-7-5>;=-:-r}5=;B9-no5;-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv5}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|lny}un6H--0r{qvs--tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b6H--tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H\f");function me(){return"undefined"==typeof document?{}:document.createElementNS("http://www.w3.org/1999/xhtml","img")}var ye=me();ye.width=ye.height=8;var be=new r.Texture(ye);be.name="EMPTY_TEXTURE";var we=new r.CubeTexture([ye,ye,ye,ye,ye,ye]);we.name="EMPTY_CUBE_TEXTURE",be.dispose=we.dispose=function(){};var xe=Object.assign({modelAlpha:new r.Uniform(0),progress:new r.Uniform(0),pano0_map:new r.Uniform(we),pano0_luminanceMap:new r.Uniform(null),pano0_matrix:new r.Uniform(new r.Matrix4),pano1_map:new r.Uniform(we),pano1_luminanceMap:new r.Uniform(null),pano1_matrix:new r.Uniform(new r.Matrix4),modelCenter:new r.Uniform(new r.Vector3),perspToOrtho:new r.Uniform(0)},{exposure:new r.Uniform(1),emissive:new r.Uniform(new r.Color(0)),emissiveMap:new r.Uniform(null),specular:new r.Uniform(new r.Color(1118481)),specularMap:new r.Uniform(null),normalMap:new r.Uniform(null),bumpMap:new r.Uniform(null),shininess:new r.Uniform(30)},r.UniformsLib.common,r.UniformsLib.lights),Ee=function(t){function i(e){void 0===e&&(e={});var i,n,o,s,a,u,l,h=this;return h=t.call(this,{vertexShader:ge,fragmentShader:ve,uniforms:r.UniformsUtils.clone(xe),defines:{USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1},blending:r.NoBlending,lights:!0})||this,Object.defineProperties(h,{pano0:{get:function(){return this.uniforms.pano0_map.value===we?null:{map:this.uniforms.pano0_map.value,luminanceMap:this.uniforms.pano0_luminanceMap.value,matrix:this.uniforms.pano0_matrix.value.clone()}},set:function(t){null===t?(this.uniforms.pano0_map.value=we,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity()):(this.uniforms.pano0_map.value=t.map,this.uniforms.pano0_luminanceMap.value=t.luminanceMap,this.uniforms.pano0_matrix.value.copy(t.matrix));var e=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==e&&(this.defines.USE_LUMINANCE=e,this.needsUpdate=!0)}},pano1:{get:function(){return this.uniforms.pano1_map.value===we?null:{map:this.uniforms.pano1_map.value,luminanceMap:this.uniforms.pano1_luminanceMap.value,matrix:this.uniforms.pano1_matrix.value.clone()}},set:function(t){null===t?(this.uniforms.pano1_map.value=we,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity()):(this.uniforms.pano1_map.value=t.map,this.uniforms.pano1_luminanceMap.value=t.luminanceMap,this.uniforms.pano1_matrix.value.copy(t.matrix));var e=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==e&&(this.defines.USE_LUMINANCE=e,this.needsUpdate=!0)}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(t){this.uniforms.modelAlpha.value=t}},progress:{get:function(){return this.uniforms.progress.value},set:function(t){this.uniforms.progress.value=t}},useBlackTransition:{get:function(){return this.defines.USE_BLACK_TRANSITION},set:function(t){this.defines.USE_BLACK_TRANSITION!==t&&(this.defines.USE_BLACK_TRANSITION=t,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(t){this.uniforms.opacity.value=t;var e=t<1?r.NormalBlending:r.NoBlending;e!==this.blending&&(this.blending=e,this.needsUpdate=!0)}},perspToOrtho:{get:function(){return this.uniforms.perspToOrtho.value},set:function(t){this.uniforms.perspToOrtho.value=t}}}),h.pano0=null!==(i=e.pano0)&&void 0!==i?i:null,h.pano1=null!==(n=e.pano1)&&void 0!==n?n:null,h.modelAlpha=null!==(o=e.modelAlpha)&&void 0!==o?o:1,h.progress=null!==(s=e.progress)&&void 0!==s?s:0,h.useBlackTransition=null!==(a=e.useBlackTransition)&&void 0!==a&&a,h.perspToOrtho=null!==(u=e.perspToOrtho)&&void 0!==u?u:0,h.opacity=null!==(l=e.opacity)&&void 0!==l?l:1,h.originOpacity=1,h}return e.__extends(i,t),i}(r.ShaderMaterial),Ie=function(t){function i(e){var i=e.preserveDrawingBuffer,n=void 0===i||i,o=e.backgroundColor,s=void 0===o?1579548:o,a=e.backgroundAlpha,u=void 0===a?1:a,l=e.pixelRatio,h=void 0===l?1:l,c=e.antialias,d=void 0!==c&&c,p=t.call(this,{antialias:d,preserveDrawingBuffer:n,alpha:u<1})||this;return p.setPixelRatio(h),p.setClearColor(s,u),p.outputEncoding=r.sRGBEncoding,p.autoClear=!0,p}return e.__extends(i,t),i}(r.WebGLRenderer),Ce=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(i,t),i.prototype.add=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.add.apply(this,e)},i.prototype.remove=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.remove.apply(this,e)},i}(r.Scene);var Se=2*Math.PI,Be=Math.PI/2;function Me(t){return t>0&&t<=Se?t:(t%Se+Se)%Se}var Pe,Te,Qe,Re,De=function(t){function i(e){var i=t.call(this,e,1,.1,1e3)||this;return i.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new r.Vector3},i.computePose(),i}return e.__extends(i,t),i.prototype.computePose=function(){var t=this.getWorldDirection(new r.Vector3);return this.pose.longitude=Me(-Math.atan2(t.x,-t.z)),this.pose.latitude=-Math.asin(t.y/1),this.pose.fov=this.fov,this.pose.distance=0,this.pose.offset.copy(this.position),this},i.prototype.setFromPose=function(t){var e,i,n,o,s,a=Me(null!==(e=t.longitude)&&void 0!==e?e:this.pose.longitude),u=Math.max(1e-4-Be,Math.min(Be-1e-4,null!==(i=t.latitude)&&void 0!==i?i:this.pose.latitude)),l=null!==(n=t.fov)&&void 0!==n?n:this.pose.fov,h=null!==(o=t.distance)&&void 0!==o?o:this.pose.distance,c=null!==(s=t.offset)&&void 0!==s?s:this.pose.offset,d=function(t){var e=Math.abs(Math.cos(t.latitude));return new r.Vector3(-Math.sin(t.longitude)*e,-Math.sin(t.latitude),-Math.cos(t.longitude)*e)}({longitude:a,latitude:u}).normalize();return this.position.set(0,0,0),this.lookAt(d),this.position.add(c).sub(d.clone().setLength(h)),this.fov!==l&&(this.fov=l,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=a,this.pose.latitude=u,this.pose.fov=l,this.pose.distance=h,this.pose.offset.copy(c),this},i.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},i}(r.PerspectiveCamera),ke=function(){function t(t,e,i){this.x=t,this.y=e,this.z=i}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},t.prototype.fromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},t.prototype.cross=function(t){var e=this.x,i=this.y,n=this.z;return this.x=i*t.z-n*t.y,this.y=n*t.x-e*t.z,this.z=e*t.y-i*t.x,this},t.prototype.crossVectors=function(t,e){var i=t.x,n=t.y,r=t.z,o=e.x,s=e.y,a=e.z;return this.x=n*a-r*s,this.y=r*o-i*a,this.z=i*s-n*o,this},t.prototype.clone=function(){return new t(this.x,this.y,this.z)},t}(),Ne=function(t,e,i){this.extents=t,this.startIndex=e,this.endIndex=i},Fe=function(t,e){this.triangle=t,this.intersectionPoint=e},Oe=(Pe=new ke(0,0,0),Te=new ke(0,0,0),Qe=new ke(0,0,0),Re=new ke(0,0,0),function(t,e,i,n,r,o){Te.subVectors(e,t),Qe.subVectors(i,t),Re.crossVectors(Te,Qe);var s,a=r.dot(Re);if(a>0){if(o)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Pe.subVectors(n,t);var u=s*r.dot(Qe.crossVectors(Pe,Qe));if(u<0)return null;var l=s*r.dot(Te.cross(Pe));if(l<0)return null;if(u+l>a)return null;var h=-s*Pe.dot(Re);if(h<0)return null;var c=h/a;return new ke(0,0,0).copy(r).multiplyScalar(c).add(n)}),Le=function(t,e){this.min=t,this.max=e};function Ve(t,e,i){var n=new Le(0,0);e.x>=0?(n.min=(i.extents[0]-t.x)*e.x,n.max=(i.extents[3]-t.x)*e.x):(n.min=(i.extents[3]-t.x)*e.x,n.max=(i.extents[0]-t.x)*e.x);var r=new Le(0,0);if(e.y>=0?(r.min=(i.extents[1]-t.y)*e.y,r.max=(i.extents[4]-t.y)*e.y):(r.min=(i.extents[4]-t.y)*e.y,r.max=(i.extents[1]-t.y)*e.y),n.min>r.max||r.min>n.max)return!1;r.min>n.min&&(n.min=r.min),r.max<n.max&&(n.max=r.max);var o=new Le(0,0);return e.z>=0?(o.min=(i.extents[2]-t.z)*e.z,o.max=(i.extents[5]-t.z)*e.z):(o.min=(i.extents[5]-t.z)*e.z,o.max=(i.extents[2]-t.z)*e.z),!(n.min>o.max||o.min>n.max)&&(o.min>n.min&&(n.min=o.min),o.max<n.max&&(n.max=o.max),!(n.max<0))}function He(t,e,i,n,r){if(i>=n)return[0,0,0,0,0,0];for(var o=1/0,s=1/0,a=1/0,u=-1/0,l=-1/0,h=-1/0,c=i,d=void 0,p=void 0;c<n;c++)(p=e[d=6*t[c]])<o&&(o=p),(p=e[d+1])<s&&(s=p),(p=e[d+2])<a&&(a=p),(p=e[d+3])>u&&(u=p),(p=e[d+4])>l&&(l=p),(p=e[d+5])>h&&(h=p);return[o-r,s-r,a-r,u+r,l+r,h+r]}var Ke=function(){function t(){}return t.prototype.create=function(t){return this.trianglesArray=t,this},t.prototype.splitNode=function(t){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");for(var e=this.trianglesArray,i=e.length/9,n=new Uint32Array(i),r=new Float32Array(6*i),o=[],s=1/0,a=1/0,u=1/0,l=-1/0,h=-1/0,c=-1/0,d=0,p=0,A=0,f=void 0,g=void 0,v=void 0,m=void 0,y=void 0,b=void 0,w=void 0;d<i;d++,p+=6,A+=9)n[d]=d,f=m=e[A],(w=e[A+3])<f&&(f=w),w>m&&(m=w),(w=e[A+6])<f&&(f=w),w>m&&(m=w),g=y=e[A+1],(w=e[A+4])<g&&(g=w),w>y&&(y=w),(w=e[A+7])<g&&(g=w),w>y&&(y=w),v=b=e[A+2],(w=e[A+5])<v&&(v=w),w>b&&(b=w),(w=e[A+8])<v&&(v=w),w>b&&(b=w),f<s&&(s=f),m>l&&(l=m),g<a&&(a=g),y>h&&(h=y),v<u&&(u=v),b>c&&(c=b),r[p]=f,r[p+1]=g,r[p+2]=v,r[p+3]=m,r[p+4]=y,r[p+5]=b;var x,E=new Ne([s,a,u,l,h,c],0,i);function I(e){for(var i=e.startIndex,s=e.endIndex,a=e.extents,u=[a[3]-a[0],a[4]-a[1],a[5]-a[2]],l=[0,1,2].sort((function(t,e){return u[e]-u[t]})),h=0;h<3;h++){for(var c=l[h],d=a[c]+a[c+3],p=i,A=s-1,f=-1,g=void 0;p<=A;)-1===f?(g=n[p],r[6*g+c]+r[6*g+c+3]<d?p++:f=g):(g=n[A],r[6*g+c]+r[6*g+c+3]>=d||(n[p]=g,n[A]=f,f=-1,p++),A--);if(p>i&&p<s){var v=new Ne(He(n,r,i,p,1e-6),i,p);v.endIndex-v.startIndex>t&&o.push(v);var m=new Ne(He(n,r,p,s,1e-6),p,s);m.endIndex-m.startIndex>t&&o.push(m),e.node0=v,e.node1=m,e.startIndex=0,e.endIndex=0;break}}}for(o.push(E);x=o.pop();)I(x);return this.offsetArray=n,this.rootNode=E,this},t.prototype.intersectRay=function(t,e,i){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");if(!this.rootNode||!this.offsetArray)throw new Error("bvh-tree never perpared. call `splitNode` to perpare.");for(var n,r=this.trianglesArray,o=this.offsetArray,s=this.rootNode,a=[],u=[],l=new ke(1/e.x,1/e.y,1/e.z),h=[s];n=h.pop();)if(Ve(t,l,n)){n.node0&&h.push(n.node0),n.node1&&h.push(n.node1);for(var c=n.startIndex;c<n.endIndex;c++)a.push(o[c])}for(var d=new ke(0,0,0),p=new ke(0,0,0),A=new ke(0,0,0),f=new ke(t.x,t.y,t.z),g=new ke(e.x,e.y,e.z),v=(c=0,void 0),m=a.length;c<m;c++){v=9*a[c],d.x=r[v],d.y=r[v+1],d.z=r[v+2],p.x=r[v+3],p.y=r[v+3+1],p.z=r[v+3+2],A.x=r[v+6],A.y=r[v+6+1],A.z=r[v+6+2];var y=Oe(d,p,A,f,g,i);y&&u.push(new Fe([d.clone(),p.clone(),A.clone()],y))}return u},t.prototype.dispose=function(){delete this.offsetArray,delete this.rootNode},t}(),ze=null,qe=!1,_e=[];function je(t){if(void 0===t&&(t=!1),t||!qe)if(ze)qe=!1;else{qe=!0;var e=_e.shift();if(e){try{e()}catch(t){}se.shared.add((function(){return je(!0)}),!0,2)}else qe=!1}}function Ue(){ze=null,je()}function Ge(t){return new Promise((function(e,i){_e.push((function(){try{e(t())}catch(t){i(t)}})),je()}))}function We(){var t={OutWindow:function(){this._windowSize=0}};return t.OutWindow.prototype.create=function(t){this._buffer&&this._windowSize===t||(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},t.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(0!==t){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},t.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},t.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},t.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},t.OutWindow.prototype.copyBlock=function(t,e){var i=this._pos-t-1;for(i<0&&(i+=this._windowSize);e--;)i>=this._windowSize&&(i=0),this._buffer[this._pos++]=this._buffer[i++],this._pos>=this._windowSize&&this.flush()},t.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},t.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},t.RangeDecoder=function(){},t.RangeDecoder.prototype.setStream=function(t){this._stream=t},t.RangeDecoder.prototype.releaseStream=function(){this._stream=null},t.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},t.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e,i=0,n=t;n--;)this._range>>>=1,e=this._code-this._range>>>31,this._code-=this._range&e-1,i=i<<1|1-e,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return i},t.RangeDecoder.prototype.decodeBit=function(t,e){var i=t[e],n=(this._range>>>11)*i;return(2147483648^this._code)<(2147483648^n)?(this._range=n,t[e]+=2048-i>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=n,this._code-=n,t[e]-=i>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},t.initBitModels=function(t,e){for(;e--;)t[e]=1024},t.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},t.BitTreeDecoder.prototype.init=function(){t.initBitModels(this._models,1<<this._numBitLevels)},t.BitTreeDecoder.prototype.decode=function(t){for(var e=1,i=this._numBitLevels;i--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},t.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e,i=1,n=0,r=0;r<this._numBitLevels;++r)i=i<<1|(e=t.decodeBit(this._models,i)),n|=e<<r;return n},t.reverseDecode2=function(t,e,i,n){for(var r,o=1,s=0,a=0;a<n;++a)o=o<<1|(r=i.decodeBit(t,e+o)),s|=r<<a;return s},t.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new t.BitTreeDecoder(8),this._numPosStates=0},t.LenDecoder.prototype.create=function(e){for(;this._numPosStates<e;++this._numPosStates)this._lowCoder[this._numPosStates]=new t.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new t.BitTreeDecoder(3)},t.LenDecoder.prototype.init=function(){var e=this._numPosStates;for(t.initBitModels(this._choice,2);e--;)this._lowCoder[e].init(),this._midCoder[e].init();this._highCoder.init()},t.LenDecoder.prototype.decode=function(t,e){return 0===t.decodeBit(this._choice,0)?this._lowCoder[e].decode(t):0===t.decodeBit(this._choice,1)?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},t.Decoder2=function(){this._decoders=[]},t.Decoder2.prototype.init=function(){t.initBitModels(this._decoders,768)},t.Decoder2.prototype.decodeNormal=function(t){var e=1;do{e=e<<1|t.decodeBit(this._decoders,e)}while(e<256);return 255&e},t.Decoder2.prototype.decodeWithMatchByte=function(t,e){var i,n,r=1;do{if(i=e>>7&1,e<<=1,r=r<<1|(n=t.decodeBit(this._decoders,(1+i<<8)+r)),i!==n){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}}while(r<256);return 255&r},t.LiteralDecoder=function(){},t.LiteralDecoder.prototype.create=function(e,i){var n;if(!this._coders||this._numPrevBits!==i||this._numPosBits!==e)for(this._numPosBits=e,this._posMask=(1<<e)-1,this._numPrevBits=i,this._coders=[],n=1<<this._numPrevBits+this._numPosBits;n--;)this._coders[n]=new t.Decoder2},t.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},t.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((255&e)>>>8-this._numPrevBits)]},t.Decoder=function(){this._outWindow=new t.OutWindow,this._rangeDecoder=new t.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new t.BitTreeDecoder(4),this._lenDecoder=new t.LenDecoder,this._repLenDecoder=new t.LenDecoder,this._literalDecoder=new t.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new t.BitTreeDecoder(6),this._posSlotDecoder[1]=new t.BitTreeDecoder(6),this._posSlotDecoder[2]=new t.BitTreeDecoder(6),this._posSlotDecoder[3]=new t.BitTreeDecoder(6)},t.Decoder.prototype.setDictionarySize=function(t){return!(t<0)&&(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},t.Decoder.prototype.setLcLpPb=function(t,e,i){var n=1<<i;return!(t>8||e>4||i>4)&&(this._literalDecoder.create(e,t),this._lenDecoder.create(n),this._repLenDecoder.create(n),this._posStateMask=n-1,!0)},t.Decoder.prototype.init=function(){var e=4;for(this._outWindow.init(!1),t.initBitModels(this._isMatchDecoders,192),t.initBitModels(this._isRep0LongDecoders,192),t.initBitModels(this._isRepDecoders,12),t.initBitModels(this._isRepG0Decoders,12),t.initBitModels(this._isRepG1Decoders,12),t.initBitModels(this._isRepG2Decoders,12),t.initBitModels(this._posDecoders,114),this._literalDecoder.init();e--;)this._posSlotDecoder[e].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},t.Decoder.prototype.decode=function(e,i,n){var r,o,s,a,u,l,h=0,c=0,d=0,p=0,A=0,f=0,g=0;for(this._rangeDecoder.setStream(e),this._outWindow.setStream(i),this.init();n<0||f<n;)if(r=f&this._posStateMask,0===this._rangeDecoder.decodeBit(this._isMatchDecoders,(h<<4)+r))o=this._literalDecoder.getDecoder(f++,g),g=h>=7?o.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(c)):o.decodeNormal(this._rangeDecoder),this._outWindow.putByte(g),h=h<4?0:h-(h<10?3:6);else{if(1===this._rangeDecoder.decodeBit(this._isRepDecoders,h))s=0,0===this._rangeDecoder.decodeBit(this._isRepG0Decoders,h)?0===this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(h<<4)+r)&&(h=h<7?9:11,s=1):(0===this._rangeDecoder.decodeBit(this._isRepG1Decoders,h)?a=d:(0===this._rangeDecoder.decodeBit(this._isRepG2Decoders,h)?a=p:(a=A,A=p),p=d),d=c,c=a),0===s&&(s=2+this._repLenDecoder.decode(this._rangeDecoder,r),h=h<7?8:11);else if(A=p,p=d,d=c,s=2+this._lenDecoder.decode(this._rangeDecoder,r),h=h<7?7:10,(u=this._posSlotDecoder[s<=5?s-2:3].decode(this._rangeDecoder))>=4){if(c=(2|1&u)<<(l=(u>>1)-1),u<14)c+=t.reverseDecode2(this._posDecoders,c-u-1,this._rangeDecoder,l);else if(c+=this._rangeDecoder.decodeDirectBits(l-4)<<4,(c+=this._posAlignDecoder.reverseDecode(this._rangeDecoder))<0){if(-1===c)break;return!1}}else c=u;if(c>=f||c>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(c,s),f+=s,g=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},t.Decoder.prototype.setDecoderProperties=function(t){var e,i,n,r,o;return!(t.size<5)&&(i=(e=t.readByte())%9,n=(e=~~(e/9))%5,r=~~(e/5),!!this.setLcLpPb(i,n,r)&&(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=16777216*t.readByte(),this.setDictionarySize(o)))},t.decompress=function(e,i,n,r){var o=new t.Decoder;if(!o.setDecoderProperties(e))throw"Incorrect stream properties";if(!o.decode(i,n,r))throw"Error in data stream";return!0},t.decompressFile=function(e,i){var n,r=new t.Decoder;if(!r.setDecoderProperties(e))throw"Incorrect stream properties";if(n=e.readByte(),n|=e.readByte()<<8,n|=e.readByte()<<16,n+=16777216*e.readByte(),e.readByte(),e.readByte(),e.readByte(),e.readByte(),!r.decode(e,i,n))throw"Error in data stream";return!0},t}var Xe=We();var Ye="\nvar decodeLZMA = (function() {\n var LZMA = (".concat(We.toString(),")();\n return function(data, callback) {\n return (").concat(function(t,e,i){try{var n={data:e,offset:0,readByte:function(){return this.data[this.offset++]}},r=n.data.length,o={data:[],offset:0,writeByte:function(t){var e=Math.floor(this.offset/r);this.data[e]||(this.data[e]=new Uint8Array(r)),this.data[e][this.offset%r]=t,this.offset++}};t.decompressFile(n,o);for(var s=new Uint8Array(o.offset),a=0;a<o.offset;a++)s[a]=o.data[Math.floor(a/r)][a%r];i(null,s)}catch(t){i(t)}}.toString(),")(LZMA, data, callback);\n }\n})();\n\nvar decodeLZMAWithWASM = (function() {\n var LZMA_WASM = (").concat(function(){return function(t){for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(256),n=0;n<e.length;n++)i[e.charCodeAt(n)]=n;var r,o,s,a,u,l=.75*t.length,h=t.length,c=0;"="===t[t.length-1]&&(l--,"="===t[t.length-2]&&l--);var d=new ArrayBuffer(l),p=new Uint8Array(d);for(r=0;r<h;r+=4)o=i[t.charCodeAt(r)],s=i[t.charCodeAt(r+1)],a=i[t.charCodeAt(r+2)],u=i[t.charCodeAt(r+3)],p[c++]=o<<2|s>>4,p[c++]=(15&s)<<4|a>>2,p[c++]=(3&a)<<6|63&u;return d}("AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EYdCAFQQh2cjYCACAAQQxqIAFBD2ooAgAiBUEYdCADQQh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsLCyACQRBxBEAgACABIgMtAAA6AAAgAEEBaiIBIAEgA0EBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEIcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEEcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAALIAJBAnEEQCAAIAEtAAA6AAAgAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAACyACQQFxBEAgACABLQAAOgAACwvVAgECfyAAIAFGBEAPCyABIAJqIABNIgNFBEAgACACaiABTSEDCyADBEAgACABIAIQGw8LIAAgAUkEQCABQQdxIABBB3FGBEADQCAAQQdxBEAgAkUEQA8LIAJBAWshAiAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAMAQsLA0AgAkEITwRAIAAgASkDADcDACACQQhrIQIgAEEIaiEAIAFBCGohAQwBCwsLA0AgAgRAIAAiBEEBaiEAIAEiA0EBaiEBIAQgAy0AADoAACACQQFrIQIMAQsLBSABQQdxIABBB3FGBEADQCAAIAJqQQdxBEAgAkUEQA8LIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwNAIAJBCE8EQCACQQhrIgIgAGogASACaikDADcDAAwBCwsLA0AgAgRAIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwsL4AoBCH8gACgCACIGIgQoAgAgBCgCBGovAQgiCCABIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAhrQf//A3FBBXYgCGohCCAHIAQ2AgxBAAUgCCAIQf//A3FBBXZrIQggByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyAGKAIEIAYoAgBqIAg7AQggByIFKAIMIwJJBEAgBSAFKAIMQQh0NgIMIAUoAhBBCHQhByAFKAIAIQYgBSAFKAIIIglBAWo2AgggBSAGIAkQEUH/AXEgB3I2AhALQf//A3FFBEAgAiAAKAIEKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEDIAEhBEEBIQgDQCAKIAMoAgRJBEAgAygCACIHKAIAIQEgBCgCECAHKAIEIAgiBUEBdCIIIAFqai8BCCIGIAQoAgxBC3ZsIglJBH9BgBAgBmtB//8DcUEFdiAGaiEGIAQgCTYCDEEABSAGIAZB//8DcUEFdmshBiAEIAQoAhAgCWs2AhAgBCAEKAIMIAlrNgIMQQELIAcoAgQgBygCACAFQQF0amogBjsBCCAEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhACAEKAIAIQUgBCAEKAIIIgFBAWo2AgggBCAFIAEQEUH/AXEgAHI2AhALQf//A3EgCGohCCAKQQFqIQoMAQsLIAhBASADKAIEdGsPCyAAKAIAIgooAgAhCCAFKAIQIAooAgQgCEECamovAQgiBCABKAIMQQt2bCIDSQR/IAUgAzYCDEEAIQlBgBAgBGtB//8DcUEFdiAEagUgBSAFKAIQIANrNgIQIAUgBSgCDCADazYCDEEBIQkgBCAEQf//A3FBBXZrCyEEIAoiBygCBCAHKAIAQQJqaiAEOwEIIAUiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQUgBigCACEHIAYgBigCCCIIQQFqNgIIIAYgByAIEBFB/wFxIAVyNgIQCyAJQf//A3FFBEAgAiAAKAIIKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEJIAEhA0EBIQRBACECA0AgAiAJKAIESQRAIAMoAhAgCSgCACIFKAIEIAQiBkEBdCIEIAUoAgBqai8BCCIHIAMoAgxBC3ZsIghJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAMgCDYCDEEABSAHIAdB//8DcUEFdmshByADIAMoAhAgCGs2AhAgAyADKAIMIAhrNgIMQQELIAUoAgQgBSgCACAGQQF0amogBzsBCCADKAIMIwJJBEAgAyADKAIMQQh0NgIMIAMoAhBBCHQhBSADKAIAIQcgAyADKAIIIgZBAWo2AgggAyAHIAYQEUH/AXEgBXI2AhALQf//A3EgBGohBCACQQFqIQIMAQsLIARBASAJKAIEdGtBCGoPCyAAKAIMIQQgASEDQQEhCUEAIQIDQCACIAQoAgRJBEAgBCgCACIIKAIAIQogAygCECAIKAIEIAogCSIHQQF0IgFqai8BCCIFIAMoAgxBC3ZsIgZJBH8gAyAGNgIMQQAhBkGAECAFa0H//wNxQQV2IAVqBSADIAMoAhAgBms2AhAgAyADKAIMIAZrNgIMQQEhBiAFIAVB//8DcUEFdmsLIQUgCCgCBCAIKAIAIAdBAXRqaiAFOwEIIAMoAgwjAkkEQCADIAMoAgxBCHQ2AgwgAygCEEEIdCEAIAMoAgAhBSADIAMoAggiCkEBajYCCCADIAUgChARQf8BcSAAcjYCEAsgBkH//wNxIAFqIQkgAkEBaiECDAELCyAJQQEgBCgCBHRrQRBqC5YCAQh/QQEhBwNAAkAgBiABTg0AIAIoAhAgACgCBCAAKAIAIAMgB2oiCUEBdGpqLwEIIgQgAigCDEELdmwiBUkEfyACIAU2AgxBACEFQYAQIARrQf//A3FBBXYgBGoFIAIgAigCECAFazYCECACIAIoAgwgBWs2AgxBASEFIAQgBEH//wNxQQV2awshBCAAKAIEIAAoAgAgCUEBdGpqIAQ7AQggAiIEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhCiAEKAIAIQsgBCAEKAIIIglBAWo2AgggBCALIAkQEUH/AXEgCnI2AhALIAVB//8DcSIEIAdBAXRqIQcgBCAGdCAIciEIIAZBAWohBgwBCwsgCAvwBAEIf0EDIAEgAUEDSxsiAiAAKAIkKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACyEEIAAoAgQhAkEBIQEDQCAHIAQoAgRJBEAgBCgCACIFKAIAIQMgAigCECAFKAIEIAFBAXQiCSADamovAQgiAyACKAIMQQt2bCIGSQR/IAIgBjYCDEEAIQhBgBAgA2tB//8DcUEFdiADagUgAiACKAIQIAZrNgIQIAIgAigCDCAGazYCDEEBIQggAyADQf//A3FBBXZrCyEDIAUoAgQgBSgCACABQQF0amogAzsBCCACKAIMIwJJBEAgAiACKAIMQQh0NgIMIAIoAhBBCHQhBiACKAIAIQUgAiACKAIIIgNBAWo2AgggAiAFIAMQEUH/AXEgBnI2AhALIAhB//8DcSAJaiEBIAdBAWohBwwBCwsgAUEBIAQoAgR0ayIBQQRJBEAgAQ8LIAFBAXFBAnIgAUEBdkEBayICdCEDIAFBDkkEfyAAKAIsIAIgACgCBCADIAFrEB4gA2oFIAAoAgQhASACQQRrIQJBACEEA0AgASABKAIMQQF2NgIMIAEgASgCECABKAIMazYCECABIAEoAhBBACABKAIQQR92ayIHIAEoAgxxajYCECABKAIQIAEoAgxGBEAgAUEBOgAECyABKAIMIwJJBEAgASABKAIMQQh0NgIMIAEoAhBBCHQhBSABKAIAIQggASABKAIIIgZBAWo2AgggASAIIAYQEUH/AXEgBXI2AhALIAdBAWogBEEBdGohBCACQQFrIgINAAsgBEEEdCADaiAAKAIoIgQoAgAgBCgCBCAAKAIEQQAQHmoLC9AcAQ9/IAAQGiAAKAIEIgdBADoABCAHKAIAIAcgBygCCCIDQQFqNgIIIAMQEUH/AXEEQCAHQQE6AAQLIAdBfzYCDCAHQQA2AhBBACEDA0AgA0EESARAIAcoAhBBCHQhBSAHKAIAIQwgByAHKAIIIghBAWo2AgggByAMIAgQEUH/AXEgBXI2AhAgA0EBaiEDDAELCyAHKAIQIAcoAgxGBEAgB0EBOgAECyABBEAgACgCCCACEA82AgQFIAAoAghBBBAPNgIEC0EAIQwDQAJAIAJFIAEgARsiBwR/IAAtAABFBSAHCwRAIAAoAgQoAhBFBEBBAw8LCyAAKAIwIgUoAgAhByAFKAIEIAAoAggoAgBBASAAKAIQdEEBa3EiCyAMQQR0Qf8BcWoiBkEBdCAHamovAQghAyAGIQcgACgCBCIEKAIMQQt2IANsIQggBCgCECAISQR/IAQgCDYCDEEAIQlBgBAgA2tB//8DcUEFdiADagUgBCAEKAIQIAhrNgIQIAQgBCgCDCAIazYCDEEBIQkgAyADQf//A3FBBXZrCyEIIAUiAygCBCADKAIAIAdBAXRqaiAIOwEIIAQiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQggBigCACEDIAYgBigCCCIHQQFqNgIIIAYgAyAHEBFB/wFxIAhyNgIQCyAJQf//A3FFBEAgAkUgASABGw0BIAwhCEEAIQYgACgCCCIFKAIMRSIEBH8gBS0AGEUFIAQLRQRAIAAoAggiBSgCCCIGKAIEQQEgBSgCDEwEfyAFKAIMQQFrBSAFKAIMIAUoAhRBAWtqCyAGKAIAamotAAghBgtBASEEIAAoAggoAgBBASAALQAUdEEBa3EgACgCDHQgBkEIIAAoAgxrdmpBgAZsIQcgCEEHTwRAIAAoAggiBigCCCIJKAIEIA5BAWoiDSAGKAIMTAR/IAYoAgwgDWsFIAYoAgwgBigCFCANa2oLIAkoAgBqai0ACCENA0ACQCANQf8BcUEHdiEGIA1BAXQhDSAAKAIgIgkoAgAhCyAJKAIEIAZBAWpBCHQgB2ogBGoiDEEBdCALamovAQgiCyAAKAIEIgMoAgxBC3ZsIQogAygCECAKSQR/QYAQIAtrQf//A3FBBXYgC2ohCyADIAo2AgxBAAUgCyALQf//A3FBBXZrIQsgAyADKAIQIAprNgIQIAMgAygCDCAKazYCDEEBCyEFIAkoAgQgCSgCACAMQQF0amogCzsBCCADIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEDIAooAgAhDCAKIAooAggiC0EBajYCCCAKIAwgCxARQf8BcSADcjYCEAsgBEEBdCAFciEEIAVB//8DcSAGRw0AIARB//8DcUGAAkkNAQsLCwNAIARBgAJJBEAgBEEBdCEJIAAoAiAiBSgCACEMIAUoAgQgBCAHaiIGQQF0IAxqai8BCCILIAAoAgQiDSgCDEELdmwhCiANKAIQIApJBH9BgBAgC2tB//8DcUEFdiALaiELIA0gCjYCDEEABSALIAtB//8DcUEFdmshCyANIA0oAhAgCms2AhAgDSANKAIMIAprNgIMQQELIAUoAgQgBSgCACAGQQF0amogCzsBCCANIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEGIAooAgAhBSAKIAooAggiDEEBajYCCCAKIAUgDBARQf8BcSAGcjYCEAsgCXIhBAwBCwsgACgCCCIDIAMoAgBBAWo2AgAgAygCCCELIAMgAygCDCIGQQFqNgIMIAsoAgQgCygCACAGamogBEGAAmsiCjoACCADKAIMIAMoAhRGBEAgA0EANgIMIANBAToAGAsgAygCBCgCCCADKAIQRgRAIAMgAygCBCIGKAIIQQF0EA82AgQgAygCBCgCACADKAIEKAIEakEIaiAGKAIAIAYoAgRqQQhqIAYoAggQHCAGKAIAGgsgAygCBCEJIAMgAygCECIMQQFqNgIQIAkoAgQgCSgCACAMamogCjoACCAIIgVBBEkEf0EABSAFQQNrIAVBBmsgBUEKSRsLIQwgAkEBayECDAILIAAoAjQiBigCACEFIAYoAgQgDCIDQQF0IAVqai8BCCIHIAAoAgQiCigCDEELdmwhBCAKKAIQIARJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAogBDYCDEEABSAHIAdB//8DcUEFdmshByAKIAooAhAgBGs2AhAgCiAKKAIMIARrNgIMQQELIAMhBSAGIgMoAgAhDSADKAIEIAVBAXQgDWpqIAc7AQggCiIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhBiAJKAIAIQMgCSAJKAIIIgVBAWo2AgggCSADIAUQEUH/AXEgBnI2AhALQf//A3EEQCACRSABIAEbDQEgACgCCCIIKAIMRSIEBH8gCC0AGEUFIAQLDQEgACgCOCIDKAIAIQggAygCBCAMQQF0IAhqai8BCCIEIAAoAgQiBSgCDEELdmwhByAFKAIQIAdJBH9BgBAgBGtB//8DcUEFdiAEaiEEIAUgBzYCDEEABSAEIARB//8DcUEFdmshBCAFIAUoAhAgB2s2AhAgBSAFKAIMIAdrNgIMQQELIAMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEFIAkoAgAhAyAJIAkoAggiCEEBajYCCCAJIAMgCBARQf8BcSAFcjYCEAtB//8DcQRAIAAoAjwiCCgCACEHIAgoAgQgDEEBdCAHamovAQgiBCAAKAIEIgUoAgxBC3ZsIQYgBSgCECAGSQR/QYAQIARrQf//A3FBBXYgBGohBCAFIAY2AgxBAAUgBCAEQf//A3FBBXZrIQQgBSAFKAIQIAZrNgIQIAUgBSgCDCAGazYCDEEBCyAIIgMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiB0EBajYCCCAJIAMgBxARQf8BcSAIcjYCEAtB//8DcQRAIAAoAkAiAygCACEKIAMoAgQgDEEBdCAKamovAQgiBiAAKAIEIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAZrQf//A3FBBXYgBmohBiAHIAQ2AgxBAAUgBiAGQf//A3FBBXZrIQYgByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyADKAIEIAMoAgAgDEEBdGpqIAY7AQggByIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhCCAJKAIAIQMgCSAJKAIIIgpBAWo2AgggCSADIAoQEUH/AXEgCHI2AhALQf//A3EEQCARIQMgDyERBSAPIQMLIBAhDwUgECEDCyAOIRAgAyEOBSAAKAJEIgYoAgAhCiAGKAIEIAxBBHRB/wFxIAtqIgNBAXQgCmpqLwEIIgcgACgCBCIIKAIMQQt2bCEEIAgoAhAgBEkEf0GAECAHa0H//wNxQQV2IAdqIQcgCCAENgIMQQAFIAcgB0H//wNxQQV2ayEHIAggCCgCECAEazYCECAIIAgoAgwgBGs2AgxBAQsgAyEKIAYiAygCACENIAMoAgQgCkEBdCANamogBzsBCCAIIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiCkEBajYCCCAJIAMgChARQf8BcSAIcjYCEAtB//8DcUUEQEEJQQsgDEEHSRshDCAAKAIIIQQgACgCCCIFKAIIIgMoAgQgDkEBaiIHIAUoAgxMBH8gBSgCDCAHawUgBSgCDCAFKAIUIAdragsgAygCAGpqLQAIIQcgBCAEKAIAQQFqNgIAIAQoAgghBSAEIAQoAgwiBkEBajYCDCAFKAIEIAUoAgAgBmpqIAc6AAggBCgCDCAEKAIURgRAIARBADYCDCAEQQE6ABgLIAQoAgQoAgggBCgCEEYEQCAEIAQoAgQiBigCCEEBdBAPNgIEIAQoAgQoAgAgBCgCBCgCBGpBCGogBigCACAGKAIEakEIaiAGKAIIEBwgBigCABoLIAQoAgQhAyAEIAQoAhAiCEEBajYCECADKAIEIAMoAgAgCGpqIAc6AAggAkEBayECDAQLCyAAKAJMIAAoAgQgCxAdIQtBCEELIAxBB0kbIQwFIA8hESAQIQ8gDiEQQQdBCiAMQQdJGyEMIAAgACgCSCAAKAIEIAsQHSILEB8iDkF/RgRAIAAoAgQoAhAEf0EBBUECCw8LIAJFIAEgARsNASAOIAAoAhhPIgUEfyAFBSAOIAAoAggiBCgCDEwiBgR/IAYFIAQtABgLRQsNAQtBACENIAAoAgghBSAOQQFqIQQgAiALQQJqIgtIIAEgARsEQEEBIQ0gAiELCyALIQYDQCAGQQBKBEAgBSIIKAIIIgkoAgQgBCAFKAIMTAR/IAUoAgwgBGsFIAUoAgwgBSgCFCAEa2oLIAkoAgBqai0ACCEHIAggCCgCAEEBajYCACAIKAIIIQMgCCAIKAIMIgpBAWo2AgwgAygCBCADKAIAIApqaiAHOgAIIAgoAgwgCCgCFEYEQCAIQQA2AgwgCEEBOgAYCyAIKAIEKAIIIAgoAhBGBEAgCCAIKAIEIgMoAghBAXQQDzYCBCAIKAIEKAIAIAgoAgQoAgRqQQhqIAMoAgAgAygCBGpBCGogAygCCBAcIAMoAgAaCyAIKAIEIQkgCCAIKAIQIgNBAWo2AhAgCSgCBCAJKAIAIANqaiAHOgAIIAZBAWshBgwBCwsgAiALayECIA1FDQELC0EBCyYBAX9BEBABIgQgADYCACAEIAE2AgQgBCACNgIIIAQgAzYCDCAEC7YEAQZ/IAAgATYCBEENEA8hAgNAAkAgA0ENTg0AIAIgAyABIAMQEUH/AXEQEiADQQFqIQMMAQsLIAAoAgAhBCACIQZBBBAPIgIoAgQgAigCAGogBigCBCAGKAIAai0ACCIDOgAIIANB/wFxQeEBTwRAQQBBgAFBoQFBDBAAAAsgAigCBCACKAIAQQFqaiADQf8BcUEJcCIHOgAIIAIoAgQgAigCAGogA0H/AXFBCW4iAzoACCADQQVwIQUgAigCBCACKAIAQQJqaiADQQVuIgM6AAggAigCBCACKAIAQQNqaiAFOgAIIAQgBzYCDCAEIAM2AhAgBCAFOgAUIARBADYCHEEAIQIDQAJAIAJBBE8NACAEIAQoAhwgBigCBCAGKAIAIAJBAWpqai0ACCACQQN0dHI2AhwgAkEBaiECDAELCyAEIAQoAhw2AhggBCgCGEGAIEkEQCAEQYAgNgIYC0EAIQJBACEFQQAhAwNAAkAgA0EITg0AIAYgA0EFahARQf8BcSIEQf8BRwRAQQEhBQsgBCADQQN0dCACciECIANBAWohAwwBCwsgACgCACAFRToAACAAKAIAKAIEIAE2AgAgACgCABAWAkAgACgCACAFIAIQICIBQQFGDQAgAUEDRwRAIAFBAkYEQCAFBEAgACgCACgCCCgCECACRw0DCwUMAgsLIAAoAgAoAgQtAAQaQQFBACAAKAIAKAIIKAIQIAAoAgAoAggoAgQQIQ8LQQBBAUEAQQAQIQsIACMDIAAQIgsWAEG4ASQAIwAkAUGAgIAIJAIQDCQDCwMAAQsLtwEEAEEICxcKAAAAdQBzAGUAIABzAHQAcgBpAGMAdABBIAsdDQAAAH4AbABpAGIALwBhAHIAcgBhAHkALgB0AHMAQcAACzkbAAAAfgBsAGkAYgAvAGkAbgB0AGUAcgBuAGEAbAAvAHQAeQBwAGUAZABhAHIAcgBhAHkALgB0AHMAQYABCzMYAAAAcwByAGMALwBsAHoAbQBhAC8AbAB6AG0AYQAtAGQAZQBjAG8AZABlAHIALgB0AHM=")}.toString(),")();\n return function(data, callback) {\n return (").concat(function(t,e,i){try{var n=new WebAssembly.Memory({initial:16}),r=new WebAssembly.Module(t),o=new WebAssembly.Instance(r,{env:{memory:n,abort:function(){i(new Error("webAssembly abort"))}}}).exports,s=o.newU8Array(e.length);new Uint8Array(n.buffer,s+24,e.length).set(e);var a=o.decode(s),u=new Uint32Array(n.buffer,a,4),l=u[0],h=u[2],c=u[3];l?i(null,new Uint8Array(n.buffer,c+24,h).slice(0,h)):i(new Error("lzma deocder error"))}catch(t){i(t)}}.toString(),')(LZMA_WASM, data, callback);\n }\n})();\n\nself.onmessage = function(event) {\n var packet = event.data;\n if (!packet.id) {\n postMessage({ id: packet.id, error: "No incoming id." });\n return;\n }\n if (!packet.data) {\n postMessage({ id: packet.id, error: "No input data." });\n return;\n }\n if (packet.type == "decompress") {\n if (packet.data.constructor !== Uint8Array) {\n postMessage({ id: packet.id, error: "Input data is not Uint8Array." });\n }\n const callback = function(error, result) {\n if (error) {\n postMessage({ id: packet.id, error: error.toString() });\n } else {\n postMessage({ id: packet.id, result: result, error: null }, [ result.buffer ]);\n }\n }\n if (typeof WebAssembly !== "undefined" && WebAssembly.instantiate) {\n decodeLZMAWithWASM(packet.data, callback);\n } else {\n decodeLZMA(packet.data, callback);\n }\n return;\n }\n postMessage({ id: packet.id, error: "type never matched." });\n};\n'),Ze="undefined"!=typeof Worker&&"undefined"!=typeof Blob,Je="";if(Ze)try{var $e=new Blob([Ye],{type:"text/javascript"});Je=URL.createObjectURL($e)}catch(t){}var ti=function(){function t(){var t=this;if(!Ze)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(Je);e.onmessage=function(e){var i=e.data,n=i.id,r=i.result,o=i.error,s=t.getKey(n);t.requests[s]&&(o?t.requests[s](new Error(o)):t.requests[s](null,r),delete t.requests[s])},e.onerror=function(t){return console.error(t)}}return t.prototype.getKey=function(t){return"key_"+String(t)},t.prototype.decompress=function(t,e){var i=++this.callCounter;this.requests[this.getKey(i)]=e,this.worker.postMessage({type:"decompress",id:i,data:t},[t.buffer])},t.prototype.terminate=function(){this.worker.terminate()},t.support=Ze,t}();function ei(t){return Array.prototype.reduce.call(t,(function(t,e,i){return t|e<<8*i}),0)}function ii(t){var e=new Uint8Array(t),i=ei(e.slice(0,4));if(i>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var n=[],r=[],o=4+4*i,s=0;s<i;s++)r[s]=ei(e.slice(4+4*s,8+4*s)),n[s]=s===i-1?e.subarray(o,o+r[s]):e.slice(o,o+r[s]),o+=r[s];return ti.support?function(t){for(var e=[],i=t.length,n=function(i){e.push(new Promise((function(e,n){var r=new ti;r.decompress(t[i],(function(t,i){if(r.terminate(),t)return n(t);e(i)}))})))},r=0;r<i;r++)n(r);return Promise.all(e)}(n):Promise.resolve(function(t){for(var e,i=[],n=t.length,r=function(n){var r={data:t[n],offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(t){var e=Math.floor(this.offset/o);this.data[e]||(this.data[e]=new Uint8Array(o)),this.data[e][this.offset%o]=t,this.offset++}};Xe.decompressFile(r,s),e=new Uint8Array(s.offset);for(var a=0;a<s.offset;a++)e[a]=s.data[Math.floor(a/o)][a%o];i.push(e)},o=0;o<n;o++)r(o);return i}(n))}function ni(t,e){for(var i={},n=0,r=e;n<r.length;n++){var o=r[n];o in t&&(i[o]=t[o])}return i}var ri=!1;try{ri="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(t){}var oi=[];function si(){var t=this.src;this.onerror=this.onload=Lt,this.removeAttribute("src"),/^blob\:/.test(t)&&URL.revokeObjectURL(t),this.close=Lt}function ai(){oi.push(this)}function ui(){return Object.assign(new Image,{crossOrigin:"",close:si})}function li(t){return new Promise((function(e,i){var n=ui();n.onload=function(){n.onload=n.onerror=Lt,setTimeout((function(){return e(n)}),30)},n.onerror=function(){var t=n.src;n.onload=n.onerror=Lt,n.close(),i(new Error("image load error: ".concat(t)))},n.src=URL.createObjectURL(t)}))}function hi(t,e){if(e&&(t.width>e.width||t.height>e.height)){var i=function(t,e){var i=oi.shift();if(i)return i.width=t,i.height=e,i;if(ri){var n=new OffscreenCanvas(t,e);return Object.assign(n,{close:ai})}return n=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),Object.assign(n,{close:ai})}(Math.min(t.width,e.width),Math.min(t.height,e.height)),n=i.getContext("2d");n.clearRect(0,0,i.width,i.height),n.drawImage(t,0,0,i.width,i.height),t.close();var o=new r.Texture(i);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){i.close(),s.call(o),delete o.dispose},o}var a=new r.Texture(t);a.needsUpdate=!0,a.minFilter=r.LinearFilter,a.magFilter=r.LinearFilter,a.flipY=!0;var u=a.dispose;return a.dispose=function(){t.close(),u.call(a),delete a.dispose},a}var ci=new r.WebGLRenderTarget(1,1),di=new r.OrthographicCamera(-1,1,1,-1,0,1),pi=new r.BufferGeometry;pi.setAttribute("position",new r.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),pi.setAttribute("uv",new r.Float32BufferAttribute([0,2,0,0,2,0],2));var Ai=new r.Mesh(pi),fi=new r.Scene;fi.add(Ai);var gi,vi=new r.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform sampler2D map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0));\n }\n "}),mi=new r.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform samplerCube map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0, 0));\n }\n "});function yi(t,e,i){return void 0!==e.flipY&&(t.flipY=e.flipY),void 0!==e.format&&(t.format=e.format),void 0!==e.encoding&&(t.encoding=e.encoding),void 0!==e.minFilter&&(t.minFilter=e.minFilter),void 0!==e.magFilter&&(t.magFilter=e.magFilter),i?new Promise((function(e){se.shared.add((function(){try{var n=i.getRenderTarget();i.setRenderTarget(ci),t instanceof r.CubeTexture?(Ai.material=mi,mi.uniforms.map.value=t,i.render(fi,di),mi.uniforms.map.value=null):(Ai.material=vi,vi.uniforms.map.value=t,i.render(fi,di),mi.uniforms.map.value=null),i.setRenderTarget(n),e(t)}catch(i){e(t)}}),!0,1)})):Promise.resolve(t)}var bi='\nvar config, transcoderPending, _BasisFile;\nself.onmessage = function(e) {\n var message = e.data;\n switch (message.type) {\n case "init":\n config = message.config;\n init(message.transcoderBinary);\n break;\n case "transcode":\n transcoderPending.then(function() {\n try {\n var result = transcode(message.buffer);\n var width = result.width;\n var height = result.height;\n var hasAlpha = result.hasAlpha;\n var mipmaps = result.mipmaps;\n var format = result.format;\n var buffers = [];\n for (var i = 0; i < mipmaps.length; ++i) {\n buffers.push(mipmaps[i].data.buffer);\n }\n self.postMessage({ type: "transcode", id: message.id, width, height, hasAlpha, mipmaps, format }, buffers);\n } catch (error) {\n console.error(error);\n self.postMessage({ type: "error", id: message.id, error: error.message });\n }\n });\n break;\n default: break;\n }\n};\n\nfunction init(wasmBinary) {\n var BasisModule;\n transcoderPending = new Promise(function(resolve) {\n BasisModule = { wasmBinary, onRuntimeInitialized: resolve };\n BASIS(BasisModule); // eslint-disable-line no-undef\n }).then(function() {\n _BasisFile = BasisModule.BasisFile;\n BasisModule.initializeBasis();\n self.postMessage({ type: "initialized" });\n });\n}\n\nfunction transcode(buffer) {\n var basisFile = new _BasisFile(new Uint8Array(buffer));\n var width = basisFile.getImageWidth(0, 0);\n var height = basisFile.getImageHeight(0, 0);\n var levels = basisFile.getNumLevels(0);\n var hasAlpha = basisFile.getHasAlpha();\n function cleanup() {\n basisFile.close();\n basisFile.delete();\n }\n if (!hasAlpha) {\n switch (config.format) {\n case 9: // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGBA\n config.format = 8; // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGB;\n break;\n default: break;\n }\n }\n if (!width || !height || !levels) {\n cleanup();\n throw new Error("BasisTextureLoader: Invalid .basis file");\n }\n if (!basisFile.startTranscoding()) {\n cleanup();\n throw new Error("BasisTextureLoader: .startTranscoding failed");\n }\n var mipmaps = [];\n for (var mip = 0; mip < levels; mip++) {\n var mipWidth = basisFile.getImageWidth(0, mip);\n var mipHeight = basisFile.getImageHeight(0, mip);\n var dst = new Uint8Array(basisFile.getImageTranscodedSizeInBytes(0, mip, config.format));\n var status = basisFile.transcodeImage(dst, 0, mip, config.format, 0, hasAlpha);\n if (!status) {\n cleanup();\n throw new Error("BasisTextureLoader: .transcodeImage failed.");\n }\n mipmaps.push({ data: dst, width: mipWidth, height: mipHeight });\n }\n cleanup();\n return { width, height, hasAlpha, mipmaps, format: config.format };\n}\n',wi={cTFETC1:0,cTFETC2:1,cTFBC1:2,cTFBC3:3,cTFBC4:4,cTFBC5:5,cTFBC7_M6_OPAQUE_ONLY:6,cTFBC7_M5:7,cTFPVRTC1_4_RGB:8,cTFPVRTC1_4_RGBA:9,cTFASTC_4x4:10,cTFATC_RGB:11,cTFATC_RGBA_INTERPOLATED_ALPHA:12,cTFRGBA32:13,cTFRGB565:14,cTFBGR565:15,cTFRGBA4444:16},xi={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779},Ei=((gi={})[wi.cTFBC1]=xi.COMPRESSED_RGB_S3TC_DXT1_EXT,gi[wi.cTFBC3]=xi.COMPRESSED_RGBA_S3TC_DXT5_EXT,gi),Ii=function(){function t(){}return t.setTranscoderPath=function(t){return this.transcoderPath=t,this},t.setWorkerLimit=function(t){return this.workerLimit=t,this},t.isInitialized=function(){return 0!==this.workerPool.filter((function(t){return t._initialized})).length},t.detectSupport=function(e){var i=this.workerConfig;if(i.astcSupported=!!e.extensions.get("WEBGL_compressed_texture_astc"),i.bptcSupported=!!e.extensions.get("EXT_texture_compression_bptc"),i.etcSupported=!!e.extensions.get("WEBGL_compressed_texture_etc1"),i.dxtSupported=!!e.extensions.get("WEBGL_compressed_texture_s3tc"),i.pvrtcSupported=!!e.extensions.get("WEBGL_compressed_texture_pvrtc")||!!e.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc"),i.astcSupported)i.format=t.BASIS_FORMAT.cTFASTC_4x4;else if(i.bptcSupported)i.format=t.BASIS_FORMAT.cTFBC7_M5;else if(i.dxtSupported)i.format=t.BASIS_FORMAT.cTFBC3;else if(i.pvrtcSupported)i.format=t.BASIS_FORMAT.cTFPVRTC1_4_RGBA;else{if(!i.etcSupported)throw new Error("BasisTextureLoader: No suitable compressed texture format found.");i.format=t.BASIS_FORMAT.cTFETC1}return this},t.createTexture=function(t){var e,i,n=this,o=t.byteLength,s=this._allocateWorker(o).then((function(r){return e=r,i=n.workerNextTaskID++,new Promise((function(n,r){e._callbacks[i]={resolve:n,reject:r},e.postMessage({type:"transcode",id:i,buffer:t},[t])}))})).then((function(t){var e,i=n.workerConfig,o=t.width,s=t.height,a=t.mipmaps;switch(t.format){case wi.cTFASTC_4x4:e=new r.CompressedTexture(a,o,s,r.RGBA_ASTC_4x4_Format);break;case wi.cTFBC1:case wi.cTFBC3:e=new r.CompressedTexture(a,o,s,Ei[i.format],r.UnsignedByteType);break;case wi.cTFETC1:e=new r.CompressedTexture(a,o,s,r.RGB_ETC1_Format);break;case wi.cTFPVRTC1_4_RGB:e=new r.CompressedTexture(a,o,s,r.RGB_PVRTC_4BPPV1_Format);break;case wi.cTFPVRTC1_4_RGBA:e=new r.CompressedTexture(a,o,s,r.RGBA_PVRTC_4BPPV1_Format);break;default:throw new Error("BasisTextureLoader: No supported format available.")}return e.minFilter=1===a.length?r.LinearFilter:r.LinearMipmapLinearFilter,e.magFilter=r.LinearFilter,e.generateMipmaps=!1,e.needsUpdate=!0,e}));return s.catch((function(){return!0})).then((function(){e&&i&&(e._taskLoad-=o,delete e._callbacks[i])})),s},t._initTranscoder=function(){var t=this;if(!this.transcoderPending){var e=new r.FileLoader;e.setPath(this.transcoderPath);var i=new Promise((function(t,i){e.load("basis_transcoder.js",t,void 0,i)})),n=new r.FileLoader;n.setPath(this.transcoderPath),n.setResponseType("arraybuffer");var o=new Promise((function(t,e){n.load("basis_transcoder.wasm",t,void 0,e)}));this.transcoderPending=Promise.all([i,o]).then((function(e){var i=e[0],n=e[1],r=["/* basis_transcoder.js */",i,"/* worker */",bi].join("\n");t.workerSourceURL=URL.createObjectURL(new Blob([r])),t.transcoderBinary=n}))}return this.transcoderPending},t._allocateWorker=function(t){var e=this;return this._initTranscoder().then((function(){if(e.workerPool.length<e.workerLimit){var i=function(t){var e=new Worker(t);return Object.assign(e,{_callbacks:{},_initialized:!1,_taskLoad:0})}(e.workerSourceURL);i._callbacks={},i._initialized=!1,i._taskLoad=0,i.postMessage({type:"init",config:e.workerConfig,transcoderBinary:e.transcoderBinary}),i.onmessage=function(t){var e=t.data;switch(e.type){case"initialized":i._initialized=!0,console.info("BasisTextureLoader: basis loader initialized");break;case"transcode":i._callbacks[e.id].resolve(e);break;case"error":i._callbacks[e.id].reject(e);break;default:console.error('BasisTextureLoader: Unexpected message, "'.concat(e.type,'"'))}},e.workerPool.push(i)}else e.workerPool.sort((function(t,e){return t._taskLoad>e._taskLoad?-1:1}));var n=e.workerPool[e.workerPool.length-1];return n._taskLoad+=t,n}))},t.prototype.dispose=function(){for(var e=0;e<t.workerPool.length;e++)t.workerPool[e].terminate();return t.workerPool.length=0,this},t.BASIS_FORMAT=wi,t.DXT_FORMAT=xi,t.DXT_FORMAT_MAP=Ei,t.transcoderPath="https://vrlab-public.ljcdn.com/release/static/image/release/five/basis/",t.transcoderBinary=null,t.transcoderPending=null,t.workerLimit=1,t.workerPool=[],t.workerNextTaskID=1,t.workerSourceURL="",t.workerConfig={format:null,astcSupported:!1,bptcSupported:!1,etcSupported:!1,dxtSupported:!1,pvrtcSupported:!1},t}();function Ci(t){var e=t.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return e?e[1]:location.protocol}var Si=function(){function t(t){this.timeout=t.timeout,this.allowHosts=t.allowHosts,this.networkSubscribe=t.networkSubscribe}return t.prototype.setAllowHosts=function(t){this.allowHosts=t},t.prototype.setNetworkSubscribe=function(t){this.networkSubscribe=t},t.prototype.load=function(t,i,n,o,s,a){var u;void 0===i&&(i={}),void 0===n&&(n=Lt),void 0===o&&(o=Lt),void 0===s&&(s=Lt);var l=Ci(t),h={timeout:this.timeout,allowHosts:this.allowHosts,networkSubscribe:this.networkSubscribe},c=null!==(u=i.viaAjax)&&void 0!==u&&u,d=Zt(t),p=/^https?:$/.test(l),A=/\.basis$/.test(Jt(t).split("?")[0]);if(d?c=!0:p||(c=!1),c){if(A){var f=null,g="arraybuffer";return!0===i.flipY?Promise.reject(new Error(".basis cannnot set flipY: true.")):ee(t,e.__assign(e.__assign({},h),{responseType:g}),void 0,void 0,s).then((function(t){return f=t.meta,Ii.createTexture(t.body)})).then((function(t){return!1!==i.preInit?yi(t,e.__assign({flipY:!1,encoding:r.sRGBEncoding},ni(i,["wrapS","wrapT"])),a):t})).then((function(t){var e={meta:f,body:t};return n(e),e})).catch((function(t){return o(t),Promise.reject(t)}))}g="blob";return ee(t,e.__assign(e.__assign({},h),{responseType:g}),void 0,void 0,s).then((function(t){return li(t.body)})).then((function(t){return hi(t,i.maxSize)})).then((function(t){return!1!==i.preInit?yi(t,e.__assign({flipY:!0,encoding:r.sRGBEncoding},i),a):t})).then((function(t){var e={meta:null,body:t};return n(e),e})).catch((function(t){return o(t),Promise.reject(t)}))}if(A){var v=new Error("cannot load basis texture via image");return o(v),Promise.reject(v)}var m=null,y=ui();return ne(t,h,void 0,void 0,s,y).then((function(t){return m=t.meta,hi(t.body,i.maxSize)})).then((function(t){return!1!==i.preInit?yi(t,e.__assign({flipY:!0,encoding:r.sRGBEncoding},i),a):t})).then((function(t){var e={meta:m,body:t};return n(e),e})).catch((function(t){return y.close(),o(t),Promise.reject(t)}))},t.prototype.loadCube=function(t,i,n,o,s,a){var u;void 0===i&&(i={}),void 0===n&&(n=Lt),void 0===o&&(o=Lt),void 0===s&&(s=Lt),Array.isArray(t)||(t=[t.right,t.left,t.up,t.down,t.front,t.back]);for(var l={timeout:this.timeout,allowHosts:this.allowHosts,networkSubscribe:this.networkSubscribe},h=[],c=[0,0,0,0,0,0],d=[],p=function(n){var r=t[n],a=Ci(r),p=function(t){c[n]=t,s(c.reduce((function(t,e){return t+e}),0)/6)},A=null!==(u=i.viaAjax)&&void 0!==u&&u,f=/^https?:$/.test(a),g=Zt(r),v=/\.basis$/.test(Jt(r).split("?")[0]);if(g?A=!0:f||(A=!1),A)if(v){var m="arraybuffer",y=ee(r,e.__assign(e.__assign({},l),{responseType:m}),void 0,void 0,p).then((function(t){return d[n]=t.meta,Ii.createTexture(t.body)}));h.push(y)}else{m="blob",y=ee(r,e.__assign(e.__assign({},l),{responseType:m}),void 0,void 0,p).then((function(t){return d[n]=t.meta,li(t.body)}));h.push(y)}else{if(v){var b=new Error("cannot load basis texture via image");return o(b),{value:Promise.reject(b)}}var w=ui();y=ne(r,l,void 0,void 0,p,w).then((function(t){return d[n]=t.meta,t.body})).catch((function(t){return w.close(),Promise.reject(t)}));h.push(y)}},A=0;A<6;A++){var f=p(A);if("object"==typeof f)return f.value}return Promise.all(h).then((function(t){return t[0]instanceof r.CompressedTexture?function(t){var e=new r.CubeTexture(t);e.needsUpdate=!0;var i=e.dispose;return e.dispose=function(){for(var n=0,r=t;n<r.length;n++)r[n].dispose();i.call(e),delete e.dispose},e.isCompressedTexture=!0,e.format=t[0].format,e.minFilter=t[0].minFilter,e.magFilter=t[0].magFilter,e}(t):function(t){var e=new r.CubeTexture(t);e.needsUpdate=!0,e.minFilter=r.LinearFilter,e.magFilter=r.LinearFilter,e.flipY=!1;var i=e.dispose;return e.dispose=function(){for(var n=0,r=t;n<r.length;n++)r[n].close();i.call(e),delete e.dispose},e}(t)})).then((function(t){return!1!==i.preInit?t.isCompressedTexture?yi(t,e.__assign({flipY:!1,encoding:r.sRGBEncoding},ni(i,["wrapS","wrapT"])),a):yi(t,e.__assign({flipY:!1,encoding:r.sRGBEncoding},i),a):t})).then((function(t){var e={body:t,meta:d};return n(e),e})).catch((function(t){for(var e=0,i=h;e<i.length;e++){i[e].then((function(t){t instanceof r.Texture?t.dispose():t.close()})).catch(Lt)}return o(t),Promise.reject(t)}))},t}();const Bi=o.Reader,Mi=o.util,Pi=o.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(o.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),Ti=Pi.Model=(()=>{function t(t){if(this.chunks=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.chunks=Mi.emptyArray,t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Model;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Pi.Chunk.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t})();function Qi(t){var e,i,n=(new r.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function o(t){var e=t.match(/(group|floor)-?(\d+)/);return e?parseInt(e[2],10):0}function s(t){var e=t.match(/(chunk)-?(\d+)/);return e?parseInt(e[2],10):0}function a(t){return 1e6*o(t.name)+1e3*s(t.name)+function(t){var e=t.match(/(sub)-?(\d+)/);return e?parseInt(e[2],10):0}(t.name)}for(var u=[],l=0,h=(null!==(e=t.chunks)&&void 0!==e?e:[]).sort((function(t,e){return a(t)-a(e)}));l<h.length;l++){var c=o((R=h[l]).name);u[c]||(u[c]=[]),u[c].push(R)}for(var d=[],p=0;p<u.length;p++){var A=u[p];if(A){for(var f=0,g=0,v=0;v<A.length;v++){g+=(R=A[v]).vertices.xyz.length/3,f+=R.faces.indices.length}for(var m=3*g,y=2*g,b=3*g,w=f,x=new ArrayBuffer(4*m+4*y+4*b+4*w),E=new Float32Array(x,0,m),I=new Float32Array(x,4*m,y),C=new Float32Array(x,4*m+4*y,b),S=new Uint32Array(x,4*m+4*y+4*b,w),B=[],M=[1/0,1/0,1/0,-1/0,-1/0,-1/0],P=0,T=0,Q=0;Q<A.length;Q++){var R,D=(R=A[Q]).vertices.xyz,k=R.vertices.uvs,N=R.faces.indices,F=D.length/3,O=N.length,L=[1/0,1/0,1/0,-1/0,-1/0,-1/0];for(v=0;v<F;v++){var V=D[3*v],H=D[3*v+1],K=D[3*v+2],z=n.elements,q=1/(z[3]*V+z[7]*H+z[11]*K+z[15]),_=(z[0]*V+z[4]*H+z[8]*K+z[12])*q,j=(z[1]*V+z[5]*H+z[9]*K+z[13])*q,U=(z[2]*V+z[6]*H+z[10]*K+z[14])*q;E[3*T+3*v]=_,E[3*T+3*v+1]=j,E[3*T+3*v+2]=U,I[2*T+2*v]=k[2*v],I[2*T+2*v+1]=k[2*v+1],_<L[0]&&(L[0]=_),j<L[1]&&(L[1]=j),U<L[2]&&(L[2]=U),_>L[3]&&(L[3]=_),j>L[4]&&(L[4]=j),U>L[5]&&(L[5]=U)}L[0]<M[0]&&(M[0]=L[0]),L[1]<M[1]&&(M[1]=L[1]),L[2]<M[2]&&(M[2]=L[2]),L[3]>M[3]&&(M[3]=L[3]),L[4]>M[4]&&(M[4]=L[4]),L[5]>M[5]&&(M[5]=L[5]);for(v=0;v<O;v++)S[P+v]=T+N[v];B.push({materialIndex:Q,name:R.name,chunkName:s(R.name),start:P,count:R.faces.indices.length,texture:null!==(i=R.texture)&&void 0!==i?i:void 0}),T+=F,P+=O}for(v=0;v<f;v+=3){var G,W,X,Y,Z,J,$,tt,et,it,nt,rt,ot,st,at,ut,lt,ht,ct;G=3*S[v],W=3*S[v+1],X=3*S[v+2],Y=E[G],Z=E[G+1],J=E[G+2],$=E[W],tt=E[W+1],et=E[W+2],it=E[X],lt=(rt=E[X+1]-tt)*(ut=J-et)-(ot=E[X+2]-et)*(at=Z-tt),ht=ot*(st=Y-$)-(nt=it-$)*ut,ct=nt*at-rt*st,C[G]+=lt,C[G+1]+=ht,C[G+2]+=ct,C[W]+=lt,C[W+1]+=ht,C[W+2]+=ct,C[X]+=lt,C[X+1]+=ht,C[X+2]+=ct}d.push({floorIndex:p,vertices:E,uvs:I,indices:S,normals:C,groups:B,extents:M})}}return d}function Ri(t,i,n,o){var s=e.__assign({key:"texture.pbm",basisLoaderInitialized:Ii.isInitialized()},ni(i,["format","quality","size","sharpen"]));return t=i.transform?i.transform(t,s):de(t,s),new Si({allowHosts:n,networkSubscribe:o}).load(t,{wrapS:r.ClampToEdgeWrapping,wrapT:r.ClampToEdgeWrapping,minFilter:r.LinearFilter,maxSize:"number"==typeof s.size?new r.Vector2(s.size,s.size):void 0,preInit:!0}).then((function(t){var e=t.body;return e.needsUpdate=!0,e}))}function Di(t,e,i,n,o,s,a){void 0===o&&(o={});for(var u=[],l=0,h=Qi(t);l<h.length;l++){var c=h[l],d=c.floorIndex,p=c.vertices,A=c.uvs,f=c.indices,g=c.normals,v=c.groups,m=c.extents,y=new r.Box3;y.min.x=m[0],y.min.y=m[1],y.min.z=m[2],y.max.x=m[3],y.max.y=m[4],y.max.z=m[5];var b=new r.BufferGeometry;b.setAttribute("position",new r.BufferAttribute(p,3)),b.setAttribute("uv",new r.BufferAttribute(A,2)),b.setAttribute("normal",new r.BufferAttribute(g,3)),b.setIndex(new r.BufferAttribute(f,1)),b.boundingBox=y,b.boundingSphere=y.getBoundingSphere(new r.Sphere);for(var w=0,x=v;w<x.length;w++){var E=x[w];b.addGroup(E.start,E.count,E.materialIndex)}for(var I=[],C=function(t){var u=i[t.chunkName]||(t.texture?e+t.texture:void 0),l=new Ee;if(I.push(l),u){var h=void 0;u in o?h=o[u]:(h=Ri(u,n,s,a),o[u]=h),h.then((function(t){l.uniforms.map.value=t,l.uniforms.exposure.value=3.3}),(function(){l.defines.USE_MAP=!1,l.uniforms.color.value=new r.Color(16777215)}))}else l.defines.USE_MAP=!1,l.uniforms.color.value=new r.Color(16777215)},S=0,B=v;S<B.length;S++){C(E=B[S])}var M=new pe(b,I);M.name="model_floor_"+d,M.floorIndex=d,u.push(M)}return{objects:u,texturePromise:Promise.all(Object.keys(o).map((function(t){return o[t].catch(Lt)}))).then(Lt)}}function ki(t,e){return!1!==(t=Object.assign({},t)).autoResize&&(t.size=e>96?Math.min(t.size||1/0,100):e>48?Math.min(t.size||1/0,200):e>24?Math.min(t.size||1/0,400):e>12?Math.min(t.size||1/0,800):Math.min(t.size||1/0,1024)),t}function Ni(t){return 0===t.indexOf("//")||/^[0-9a-z]+\:\/\//i.test(t)}Pi.Chunk=(()=>{function t(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.vertices=null,t.prototype.faces=null,t.prototype.name="",t.prototype.texture="",t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Chunk;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.vertices=Pi.Vertices.decode(t,t.uint32());break;case 2:n.faces=Pi.Faces.decode(t,t.uint32());break;case 3:n.name=t.string();break;case 4:n.texture=t.string();break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("vertices"))throw Mi.ProtocolError("missing required 'vertices'",{instance:n});if(!n.hasOwnProperty("faces"))throw Mi.ProtocolError("missing required 'faces'",{instance:n});if(!n.hasOwnProperty("name"))throw Mi.ProtocolError("missing required 'name'",{instance:n});return n},t})(),Pi.Vertices=(()=>{function t(t){if(this.xyz=[],this.uvs=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.xyz=Mi.emptyArray,t.prototype.uvs=Mi.emptyArray,t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Vertices;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.xyz&&n.xyz.length||(n.xyz=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.xyz.push(t.float())}else n.xyz.push(t.float());break;case 2:if(n.uvs&&n.uvs.length||(n.uvs=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.uvs.push(t.float())}else n.uvs.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Pi.Faces=(()=>{function t(t){if(this.indices=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.indices=Mi.emptyArray,t.decode=function(t,e){t instanceof Bi||(t=Bi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Pi.Faces;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.indices.push(t.uint32())}else n.indices.push(t.uint32());break;default:t.skipType(7&e)}}return n},t})();const Fi=o.Reader,Oi=o.util,Li=o.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(o.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),Vi=Li.Model=(()=>{function t(t){if(this.meshes=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.meshes=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Model;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.meshes&&n.meshes.length||(n.meshes=[]),n.meshes.push(Li.Mesh.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t})();function Hi(t){for(var e=[0,0,0],i=0;i<t.attributes.normal.array.length/9;i++)e[0]=t.attributes.normal.array[9*i],e[1]=t.attributes.normal.array[9*i+1],e[2]=t.attributes.normal.array[9*i+2],t.attributes.normal.array[9*i]=t.attributes.normal.array[9*i+6],t.attributes.normal.array[9*i+1]=t.attributes.normal.array[9*i+7],t.attributes.normal.array[9*i+2]=t.attributes.normal.array[9*i+8],t.attributes.normal.array[9*i+6]=e[0],t.attributes.normal.array[9*i+7]=e[1],t.attributes.normal.array[9*i+8]=e[2];for(i=0;i<t.attributes.position.array.length/9;i++)e[0]=t.attributes.position.array[9*i],e[1]=t.attributes.position.array[9*i+1],e[2]=t.attributes.position.array[9*i+2],t.attributes.position.array[9*i]=t.attributes.position.array[9*i+6],t.attributes.position.array[9*i+1]=t.attributes.position.array[9*i+7],t.attributes.position.array[9*i+2]=t.attributes.position.array[9*i+8],t.attributes.position.array[9*i+6]=e[0],t.attributes.position.array[9*i+7]=e[1],t.attributes.position.array[9*i+8]=e[2];for(i=0;i<t.attributes.uv.array.length/6;i++)e[0]=t.attributes.uv.array[6*i],e[1]=t.attributes.uv.array[6*i+1],t.attributes.uv.array[6*i]=t.attributes.uv.array[6*i+4],t.attributes.uv.array[6*i+1]=t.attributes.uv.array[6*i+5],t.attributes.uv.array[6*i+4]=e[0],t.attributes.uv.array[6*i+5]=e[1];t.attributes.normal.needsUpdate=!0,t.attributes.position.needsUpdate=!0,t.attributes.uv.needsUpdate=!0}function Ki(t){var e=t.position,i=t.normal,n=t.uv,o=t.uv2,s=t.groups,a=new r.BufferGeometry;a.setAttribute("position",new r.BufferAttribute(new Float32Array(e.array),3)),i&&a.setAttribute("normal",new r.BufferAttribute(new Float32Array(i.array),3)),n&&a.setAttribute("uv",new r.BufferAttribute(new Float32Array(n.array),2)),o&&a.setAttribute("uv2",new r.BufferAttribute(new Float32Array(o.array),2));for(var u=0,l=s;u<l.length;u++){var h=l[u];a.addGroup(h.start,h.count,h.materialIndex)}return a}function zi(t,i,n,o,s,a){if(a.hasOwnProperty(t))return a[t];Ni(t=t.split("?")[0])||(t=i+t),0===(t=t.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/")).indexOf("//")&&(t="https:"+t);var u=e.__assign({key:"texture.dome",size:64,basisLoaderInitialized:Ii.isInitialized()},ni(n,["quality","format","sharpen"]));return a[t=n.transform?n.transform(t,u):de(t,u)]=s.load(t,{wrapS:r.RepeatWrapping,wrapT:r.RepeatWrapping}).then((function(t){var e=t.body;return o&&e.repeat.copy(o),e.needsUpdate=!0,e.updateMatrix(),e}))}function qi(t,e,i,n,o){var s=[],a=new Ee,u=a.uniforms;u.exposure.value=4.3;var l=a.defines;if(l.USE_MAP=!1,l.USE_UV=!1,t.kd&&(u.diffuse.value=(new r.Color).fromArray(t.kd.rgb)),t.mapkd){var h=null;if(t.mapkdrepeat){var c=t.mapkdrepeat.split(/\s+/).map((function(t){return Number(t)})),d=c[0],p=c[1];h=new r.Vector2(d,p)}s.push(zi(t.mapkd,e,i,h,n,o).then((function(t){l.USE_MAP=!0,l.USE_UV=!0,u.map.value=t,u.uvTransform.value=t.matrix,a.needsUpdate=!0})).catch(Lt))}if(t.ks&&(u.specular.value=(new r.Color).fromArray(t.ks.rgb)),t.mapks&&s.push(zi(t.mapks,e,i,null,n,o).then((function(t){u.specularMap.value=t})).catch(Lt)),t.ke&&(u.emissive.value=(new r.Color).fromArray(t.ke.rgb)),t.mapke&&s.push(zi(t.mapke,e,i,null,n,o).then((function(t){u.emissiveMap.value=t})).catch(Lt)),t.norm&&s.push(zi(t.norm,e,i,null,n,o).then((function(t){u.normalMap.value=t})).catch(Lt)),t.mapbump&&s.push(zi(t.mapbump,e,i,null,n,o).then((function(t){u.bumpMap.value=t})).catch(Lt)),t.bump&&s.push(zi(t.bump,e,i,null,n,o).then((function(t){u.bumpMap.value=t})).catch(Lt)),"number"==typeof t.ns&&(u.shininess.value=t.ns),"number"==typeof t.d){var A=t.d;A>0&&A<1&&(a.originOpacity=A,a.opacity=A)}return{material:a,textureReady:Promise.all(s).then(Lt)}}function _i(t,e,i,n,o){for(var s,a=[],u=[],l=(s=t,Vi.decode(s).meshes),h=new Si({allowHosts:n,networkSubscribe:o}),c=new r.Matrix4,d=new r.Vector3,p=new r.Quaternion,A=new r.Vector3,f={},g=0,v=l;g<v.length;g++){var m=v[g],y=m.name,b=m.chunks,w=m.matrix;if("Ceiling"!==y&&"CeilingDrop"!==y)for(var x=0,E=w;x<E.length;x++){var I=E[x];c.elements=I.elements;var C=new fe;C.renderOrder=-3;for(var S=0;S<b.length;S++){var B=Ki(b[S].geometry);B.applyMatrix4(c),c.decompose(d,p,A),A.x*A.y*A.z<0&&B.attributes.normal&&B.attributes.position&&B.attributes.uv&&Hi(B);for(var M=[],P=0,T=b[S].material;P<T.length;P++){var Q=qi(T[P],e,i,h,f),R=Q.material,D=Q.textureReady;u.push(D),M.push(R)}var k=new pe(B,M);k.name="chunk_"+S,C.add(k)}C.floorIndex=0,C.name=y,a.push(C)}}return{objects:a,texturePromise:Promise.all(u).catch(Lt)}}function ji(t){return null==t}Li.Mesh=(()=>{function t(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.name="",t.prototype.chunks=Oi.emptyArray,t.prototype.matrix=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Mesh;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.name=t.string();break;case 2:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Li.Chunk.decode(t,t.uint32()));break;case 3:n.matrix&&n.matrix.length||(n.matrix=[]),n.matrix.push(Li.Matrix.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("name"))throw Oi.ProtocolError("missing required 'name'",{instance:n});return n},t})(),Li.Matrix=(()=>{function t(t){if(this.elements=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.elements=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Matrix;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.elements&&n.elements.length||(n.elements=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.elements.push(t.float())}else n.elements.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.Chunk=(()=>{function t(t){if(this.material=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.geometry=null,t.prototype.material=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Chunk;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 2:n.geometry=Li.Geometry.decode(t,t.uint32());break;case 3:n.material&&n.material.length||(n.material=[]),n.material.push(Li.Material.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("geometry"))throw Oi.ProtocolError("missing required 'geometry'",{instance:n});return n},t})(),Li.Geometry=(()=>{function t(t){if(this.groups=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.position=null,t.prototype.uv=null,t.prototype.uv2=null,t.prototype.normal=null,t.prototype.groups=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Geometry;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.position=Li.Position.decode(t,t.uint32());break;case 2:n.uv=Li.UV.decode(t,t.uint32());break;case 3:n.uv2=Li.UV.decode(t,t.uint32());break;case 4:n.normal=Li.Normal.decode(t,t.uint32());break;case 5:n.groups&&n.groups.length||(n.groups=[]),n.groups.push(Li.Group.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("position"))throw Oi.ProtocolError("missing required 'position'",{instance:n});if(!n.hasOwnProperty("normal"))throw Oi.ProtocolError("missing required 'normal'",{instance:n});return n},t})(),Li.Position=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.array=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Position;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.UV=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.array=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.UV;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.Normal=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.array=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Normal;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Li.Group=(()=>{function t(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.start=0,t.prototype.count=0,t.prototype.materialIndex=0,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Group;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.start=t.uint32();break;case 2:n.count=t.uint32();break;case 3:n.materialIndex=t.uint32();break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("start"))throw Oi.ProtocolError("missing required 'start'",{instance:n});if(!n.hasOwnProperty("count"))throw Oi.ProtocolError("missing required 'count'",{instance:n});if(!n.hasOwnProperty("materialIndex"))throw Oi.ProtocolError("missing required 'materialIndex'",{instance:n});return n},t})(),Li.Material=(()=>{function t(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.kd=null,t.prototype.ks=null,t.prototype.ke=null,t.prototype.mapkd="",t.prototype.mapks="",t.prototype.mapke="",t.prototype.norm="",t.prototype.mapbump="",t.prototype.bump="",t.prototype.mapd="",t.prototype.ns=0,t.prototype.d=0,t.prototype.tr=0,t.prototype.mapkdrepeat="",t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Material;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:n.kd=Li.Color.decode(t,t.uint32());break;case 2:n.ks=Li.Color.decode(t,t.uint32());break;case 3:n.ke=Li.Color.decode(t,t.uint32());break;case 4:n.mapkd=t.string();break;case 5:n.mapks=t.string();break;case 6:n.mapke=t.string();break;case 7:n.norm=t.string();break;case 8:n.mapbump=t.string();break;case 9:n.bump=t.string();break;case 10:n.mapd=t.string();break;case 11:n.ns=t.float();break;case 12:n.d=t.float();break;case 13:n.tr=t.float();break;case 14:n.mapkdrepeat=t.string();break;default:t.skipType(7&e)}}return n},t})(),Li.Color=(()=>{function t(t){if(this.rgb=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)null!=t[e[i]]&&(this[e[i]]=t[e[i]])}return t.prototype.rgb=Oi.emptyArray,t.decode=function(t,e){t instanceof Fi||(t=Fi.create(t));let i=void 0===e?t.len:t.pos+e,n=new Li.Color;for(;t.pos<i;){let e=t.uint32();switch(e>>>3){case 1:if(n.rgb&&n.rgb.length||(n.rgb=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.rgb.push(t.float())}else n.rgb.push(t.float());break;default:t.skipType(7&e)}}return n},t})();var Ui=function(t,e){void 0===e&&(e=1e-4),e=Math.max(e,Number.EPSILON);for(var i={},n=t.getIndex(),o=t.getAttribute("position"),s=n?n.count:o.count,a=0,u=Object.keys(t.attributes),l={},h={},c=[],d=["getX","getY","getZ","getW"],p=0,A=u.length;p<A;p++){l[b=u[p]]=[],(I=t.morphAttributes[b])&&(h[b]=new Array(I.length).fill().map((function(){return[]})))}var f=Math.log10(1/e),g=Math.pow(10,f);for(p=0;p<s;p++){var v=n?n.getX(p):p,m="",y=0;for(A=u.length;y<A;y++)for(var b=u[y],w=(E=t.getAttribute(b)).itemSize,x=0;x<w;x++)m+="".concat(~~(E[d[x]](v)*g),",");if(m in i)c.push(i[m]);else{for(y=0,A=u.length;y<A;y++){b=u[y];var E=t.getAttribute(b),I=t.morphAttributes[b],C=(w=E.itemSize,l[b]),S=h[b];for(x=0;x<w;x++){var B=d[x];if(C.push(E[B](v)),I)for(var M=0,P=I.length;M<P;M++)S[M].push(I[M][B](v))}}i[m]=a,c.push(a),a++}}var T=t.clone();for(p=0,A=u.length;p<A;p++){b=u[p];var Q=t.getAttribute(b),R=new Q.array.constructor(l[b]);E=new r.BufferAttribute(R,Q.itemSize,Q.normalized);if(T.setAttribute(b,E),b in h)for(y=0;y<h[b].length;y++){var D=t.morphAttributes[b][y],k=(R=new D.array.constructor(h[b][y]),new r.BufferAttribute(R,D.itemSize,D.normalized));T.morphAttributes[b][y]=k}}return T.setIndex(c),T};function Gi(t){var i;return new((i=r.Triangle).bind.apply(i,e.__spreadArray([void 0],t.map((function(t){return new r.Vector3(t.x,t.y,t.z)})),!1)))}var Wi={at3d:function(t,e){for(var i=ki(e.textureOptions,t.textures.length),n={},r=0,o=t.textures;r<o.length;r++){var s=o[r];n[s]=Ri(s,i,e.allowHosts,e.networkSubscribe)}return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(t){return ii(t.body)})).then((function(t){return Ge((function(){for(var e,i={chunks:[]},n=0,r=t;n<r.length;n++){var o=r[n],s=Ti.decode(o);s.chunks.length&&(e=i.chunks).push.apply(e,s.chunks)}return i}))})).then((function(r){return Ge((function(){return Di(r,t.textureBase,t.textures.slice(),i,n,e.allowHosts,e.networkSubscribe)}))}))},pbm:function(t,e){for(var i=ki(e.textureOptions,t.textures.length),n={},r=0,o=t.textures;r<o.length;r++){var s=o[r];n[s]=Ri(s,i,e.allowHosts,e.networkSubscribe)}return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(t){return Ge((function(){var e=new Uint8Array(t.body);return Ti.decode(e)}))})).then((function(r){return Ge((function(){return Di(r,t.textureBase,t.textures.slice(),i,n,e.allowHosts,e.networkSubscribe)}))}))},dome:function(t,e){return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(i){return _i(new Uint8Array(i.body),t.textureBase,e.textureOptions,e.allowHosts,e.networkSubscribe)}))},domez:function(t,e){return Promise.resolve().then((function(){return ee(t.file,{responseType:"arraybuffer",allowHosts:e.allowHosts,networkSubscribe:e.networkSubscribe})})).then((function(t){return ii(t.body)})).then((function(t){var e=t.reduce((function(t,e){return t+e.length}),0),i=new Uint8Array(e),n=0;return t.forEach((function(t){i.set(t,n),n+=t.length})),i})).then((function(i){return _i(i,t.textureBase,e.textureOptions,e.allowHosts,e.networkSubscribe)}))}},Xi=function(t){function i(e){void 0===e&&(e={});var i=t.call(this)||this;return i.empty=!0,i.name="model",i.loaded=!1,i.bvhs=Object.assign([],{loaded:!1}),i.bounding=new r.Box3,i.shownFloor=null,i.floorLength=0,i.networkSubscribe=e.networkSubscribe,i.allowHosts=e.allowHosts,i.renderOrder=-3,i}return e.__extends(i,t),Object.defineProperty(i.prototype,"shownfloor",{get:function(){return this.shownFloor},enumerable:!1,configurable:!0}),i.prototype.getEdges=function(t){var e;void 0===t&&(t=30/180*Math.PI);for(var i=Math.cos(t),n=[],o=0,s=this.children;o<s.length;o++){var a=s[o];if(a instanceof pe){for(var u={},l=["a","b","c"],h=Ui(a.geometry),c=h.getAttribute("position").array,d=(null===(e=h.getIndex())||void 0===e?void 0:e.array)||[],p=[],A=[],f=0,g=c.length;f<g;f+=3)p.push(new r.Vector3(c[f],c[f+1],c[f+2]));for(f=0,g=d.length;f<g;f+=3){var v=d[f],m=d[f+1],y=d[f+2],b=(new r.Vector3).crossVectors(p[m].clone().sub(p[v]),p[y].clone().sub(p[v])).normalize();A.push({a:v,b:m,c:y,normal:b})}for(f=0,g=A.length;f<g;f++)for(var w=A[f],x=0;x<3;x++){var E=w[l[x]],I=w[l[(x+1)%3]],C=[Math.min(E,I),Math.max(E,I)];void 0===u[S=C[0]+"-"+C[1]]?u[S]={index1:C[0],index2:C[1],face1:f}:u[S].face2=f}for(var S in u){var B=u[S];if(void 0===B.face2||A[B.face1].normal.dot(A[B.face2].normal)<=i){var M=p[B.index1],P=p[B.index2];n.push(new r.Line3(M,P))}}h.dispose(),p.length=0,A.length=0}}return n},i.prototype.hasFloors=function(){return this.hasFloors_()},i.prototype.hasFloors_=function(){var t=[];return this.traverse((function(e){e instanceof pe&&(t[e.floorIndex]=!0)})),t.length},i.prototype.show=function(){for(var t,e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var n=this.shownFloor,r=null,o=1,s=null!==(t=e[1])&&void 0!==t?t:.1,a=0!==e.length;this.shownFloor=r=a?e[0]:null,this.traverse((function(t){t instanceof pe&&t.material.forEach((function(e){null===r||r===t.floorIndex?e.opacity=e.originOpacity*o:e.opacity=e.originOpacity*s}))})),n!==this.shownFloor&&this.emit("shownFloorChange",this.shownFloor,this.floorLength),this.needsRender=!0},i.prototype.intersectRaycaster=function(t,e){var i=t.ray,n=i.origin,o=i.direction;if(ji(e))if(ji(this.shownFloor)){var s=this.floorLength;e=[];for(var a=-1;a<s;a++)e.push(a)}else e=[this.shownFloor];var u=[],l=[];Array.isArray(e)?l.push.apply(l,e):l.push(e);for(var h=function(e){var i=c.bvhs&&c.bvhs[e];if(i){var s=new ke(n.x,n.y,n.z),a=new ke(o.x,o.y,o.z);(l=i.intersectRay(s,a,!0).map((function(t){var e=t.intersectionPoint,i=t.triangle,o=new r.Vector3(e.x,e.y,e.z);return{point:o,face:{normal:Gi(i).getNormal(new r.Vector3)},distance:n.distanceTo(o)}}))).length&&u.push.apply(u,l)}else{var l,h=[];c.traverse((function(t){t instanceof pe&&t.floorIndex===e&&h.push(t)})),(l=t.intersectObjects(h).map((function(t){return{face:t.face?{normal:t.face.normal}:void 0,point:t.point,distance:t.distance}}))).length&&u.push.apply(u,l)}},c=this,d=0,p=l;d<p.length;d++){h(p[d])}return u.filter((function(e){var i=e.distance;return i<=t.far&&i>=t.near})).sort((function(t,e){return t.distance-e.distance}))},i.prototype.buildBVH=function(){if(!this.bvhs.loaded){var t=[];this.traverse((function(e){e instanceof pe&&(t[e.floorIndex]=t[e.floorIndex]||[],t[e.floorIndex].push(e.geometry))})),this.bvhs.length=0;for(var e=0,i=t;e<i.length;e++){for(var n=i[e],r=0,o=0,s=n;o<s.length;o++){var a=0;a=(d=s[o]).index?d.index.array.length:d.attributes.position.array.length/3,r+=3*Math.floor(a/3)}for(var u=new Float32Array(3*r),l=0,h=0,c=n;h<c.length;h++){var d,p=(d=c[h]).attributes.position.array,A=d.index?d.index.array:null;if(A){for(var f=3*Math.floor(A.length/3),g=0,v=void 0,m=void 0;g<f;g++)v=3*(l+g),m=3*A[g],u[v]=p[m],u[v+1]=p[m+1],u[v+2]=p[m+2];l+=f}else{for(f=3*Math.floor(p.length/3/3),g=0,v=void 0,m=void 0;g<f;g++)m=3*g,u[v=3*(l+g)]=p[m],u[v+1]=p[m+1],u[v+2]=p[m+2];l+=f}}var y=(new Ke).create(u).splitNode(50);this.bvhs.push(y)}this.bvhs.loaded=!0,this.emit("bvhLoaded")}},i.prototype.load=function(t,e){var i=this;if(void 0===e&&(e={}),!0===this.loaded)throw new Error("[MODEL LOAD ERROR]: model cannot load twice.");var n=function(t,e){void 0===e&&(e=[]);var i=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(t);if(!i)return"";for(var n=0,r=String(i[1]).trim().split(".").slice(1).reverse();n<r.length;n++){var o=r[n],s=e.indexOf(o);if(s>=0)return e[s]}return""}(t.file,Object.keys(Wi)),o=Wi[n];if(!o)throw new Error("[MODEL LOAD ERROR]: file type(".concat(n,") does not support."));return this.name=t.file,o(t,{textureOptions:e,allowHosts:this.allowHosts,networkSubscribe:this.networkSubscribe}).then((function(t){var e=t.objects,n=t.texturePromise;i.bounding.makeEmpty();for(var o=0,s=e;o<s.length;o++){(h=s[o]).traverse((function(t){if(t instanceof pe){var e=t.geometry;e.boundingBox||e.computeBoundingBox(),e.boundingSphere||e.computeBoundingSphere(),i.bounding.union(e.boundingBox)}})),i.add(h)}for(var a=i.bounding.getCenter(new r.Vector3),u=0,l=e;u<l.length;u++){var h;(h=l[u]).traverse((function(t){if(t instanceof pe)for(var e=0,i=t.material;e<i.length;e++){i[e].uniforms.modelCenter.value=a}}))}i.floorLength=i.hasFloors_(),i.empty=!1,i.loaded=!0,Ge((function(){i.emit("geometryLoaded"),n.then((function(){i.emit("materialLoaded"),i.emit("loaded")}))}))})).catch((function(t){return i.name="",i.emit("error",t),Promise.reject(t)}))},i.prototype.dispose=function(){for(this.off(),this.disposeGeometry(),this.disposeMaterial();this.children.length;)this.remove(this.children[0]);this.bvhs.length=0,this.bvhs.loaded=!1},i}(Ae);Object.assign(Xi.prototype,{on:Ot.prototype.on,once:Ot.prototype.once,off:Ot.prototype.off,emit:Ot.prototype.emit,hasListener:Ot.prototype.hasListener});function Yi(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=[];t=t.map((function(t){return t.trim()})).filter((function(t){return t.length>0&&!/^\/+$/.test(t)}));for(var n=0;n<t.length;n++){var r=0===n,o=n===t.length-1,s=t[n];r||(s=s.replace(/^\/+/,"")),o||(s=s.replace(/\/+$/,"")),i.push(s)}return i.join("/")}function Zi(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var i,n,r;if(Array.isArray(t)){if((i=t.length)!=e.length)return!1;for(n=i;0!=n--;)if(!Zi(t[n],e[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((i=(r=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(n=i;0!=n--;)if(!Object.prototype.hasOwnProperty.call(e,r[n]))return!1;for(n=i;0!=n--;){var o=r[n];if(!Zi(t[o],e[o]))return!1}return!0}return t!=t&&e!=e}function Ji(t){return"number"==typeof t}function $i(t){return 0==(t&t-1)&&0!==t}var tn=function(){return new Error("Invalid input.")},en=function(){return new Error("Invalid certificate.")},nn=function(){return new Error("Invalid signature.")};function rn(t,e){void 0===e&&(e=!1);var i=typeof t;if("string"===i)return JSON.stringify(t);if(!0===t)return"true";if(!1===t)return"false";if(null===t)return"null";if(t instanceof Array){for(var n="[",r=t.length-1,o=0;o<r;o++)n+=rn(t[o],!1)+",";return r>-1&&(n+=rn(t[o],!1)),n+"]"}if(t instanceof Object){if("function"==typeof t.toJSON)return rn(t.toJSON(),e);var s=Object.keys(t).sort(),a=s.length;for(n="",o=0;o<a;){var u=s[o],l=rn(t[u],!0);void 0!==l&&(o&&""!==n&&(n+=","),n+=JSON.stringify(u)+":"+l),o++}return"{"+n+"}"}switch(i){case"function":case"undefined":return e?void 0:null;case"number":return 0;default:return isFinite(t)?t:null}}function on(t){return String(rn(t,!1))}function sn(t){var e,i,n;if(Array.isArray(t)){var r,o,s=void 0;if(t.length<=0)return tn();for(var a=function(e){var i=sn(t[e]);if(i instanceof Error)return{value:i};if(s){if(s!==i.issuer)return{value:en()}}else s=i.issuer;r?i.expire.getTime()<r.getTime()&&(r=i.expire):r=i.expire,o=o?o.filter((function(t){return-1!==i.allowHosts.indexOf(t)})):i.allowHosts},u=0;u<t.length;u++){var l=a(u);if("object"==typeof l)return l.value}return Kt({issuer:s,expire:r,allowHosts:o})}var h=JSON.parse(t),c="undefined"!=typeof location?location.hostname:"",d=Date.now();if("object"!=typeof h)return tn();var p=new Date("string"==typeof h.expire_at&&/^\d+$/.test(h.expire_at)?Number(h.expire_at):h.expire_at),A=Array.isArray(h.allow_hosts)?h.allow_hosts:[];if(0===c.length||qt(c)||Ut.filter((function(t){return _t(t,c)})).length>0){var f=String(null!==(e=h.certificate)&&void 0!==e?e:"");if(f){var g=new Mt;return g.readCertPEM(f),Kt({issuer:g.getSubjectString(),expire:p,allowHosts:A})}return Kt({issuer:"none",expire:p,allowHosts:A})}var v=String(null!==(i=h.certificate)&&void 0!==i?i:"");if(!v)return en();var m=new Mt;m.readCertPEM(v);var y=String(null!==(n=h._signature)&&void 0!==n?n:"");return y?!1===function(t,e,i){var n=new Mt;if("string"==typeof i?n.readCertPEM(i):n.readCertHex(i.hex),!1===Dt(n))return!1;var r=new X;return r.readCertPubKeyHex(n.hex,6),!!r.verify(t,N(e))}(on(function(t,e){for(var i={},n=0,r=Object.keys(t);n<r.length;n++){var o=r[n];-1===e.indexOf(o)&&(i[o]=t[o])}return i}(h,["_signature"])),y,m)?nn():d<p.getTime()?0===A.filter((function(t){return _t(t,c)})).length?function(t){return new Error("host(".concat(JSON.stringify(t),") is not allowed."))}(c):Kt({issuer:m.getSubjectString(),expire:p,allowHosts:A}):function(t){return new Error("date(".concat(t.toString(),") expired."))}(p):nn()}var an=new WeakMap,un=function(){function t(){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={mode:"Panorama",latitude:0,longitude:0,panoIndex:0,fov:80},this.observers=[],this.issuer="none",this.raw={works:[""],options:""}}return t.prototype.toJSON=function(){return this.raw.works},t.parse=dn,t}();function ln(t){return null==t?"null":Array.isArray(t)?"array":"object"==typeof t?"dict":"value"}function hn(t,e){var i=ln(t),n=ln(e);if("null"===n)return t;if("value"===n)return e;if(n!==i)return JSON.parse(JSON.stringify(e));if("array"===n)for(var r=0;r<e.length;r++)t[r]=hn(t[r],e[r]);else if("dict"===n)for(var o in e)t[o]=hn(t[o],e[o]);return t}function cn(t,e,i){for(var n,o=JSON.stringify(e),s=[],a=0,u=[].concat(t);a<u.length;a++){var l=u[a];l instanceof un?s.push.apply(s,l.raw.works):"string"==typeof l?s.push(l):s.push(JSON.stringify(l))}var h=sn(s);if(h instanceof Error)return h;e=JSON.parse(o),t=s.map((function(t){return JSON.parse(t)})).reduce((function(t,e){return hn(t,e)}));var c=new un;if(h instanceof Error)return h;c.issuer=h.issuer,c.expire=h.expire,c.allowHosts=h.allowHosts,c.raw={works:s,options:o};var d=null!==(n=t.base_url)&&void 0!==n?n:"";d&&"/"!==d[d.length-1]&&(d+="/");var p=function(t,e){return 0===t.indexOf(e)},A=function(t,n){var r,o=t;if(!0===e.jsonp){o=t.replace(/([\?\#].*)?$/i,"");var s=Pt("".concat(o)).slice(0,7);o="".concat(o,".").concat(s,".jsonp")}if(!0===e.shortPath){var a=o.replace(d,"").split("."),u=null!==(r=a.shift())&&void 0!==r?r:"",l=a.join(".");o=Yi(d,Pt(u))+(l?"."+l:"")}var h=o.replace(d,"");return e.baseURL&&(o=Yi(e.baseURL,h)),i&&i(t,o,h,n),o},f=function(e,i){var n,r,o,s,a,u,l=e;if(!Ni(e)){var h=null!==(u=null!==(s=null!==(r=null===(n=t.panorama)||void 0===n?void 0:n.pano_high_cube_base_url)&&void 0!==r?r:null===(o=t.panorama)||void 0===o?void 0:o.pano_cube_base_url)&&void 0!==s?s:null===(a=t.panorama)||void 0===a?void 0:a.base_url)&&void 0!==u?u:"";h&&(h=Yi(h,String(i))),l=Yi(h,l)}return Ni(l)||(l=Yi(d,l)),p(l,d)||console.warn("".concat(l," is not start with base_url(").concat(d,").")),A(l,"panorama")},g=function(t){var e=t;return Ni(e)||(e=Yi(d,t)),p(e,d)||console.warn("".concat(e," is not start with base_url(").concat(d,").")),A(e,"model")},v=function(t,e){void 0===e&&(e="");var i=t;return Ni(i)||(i=Yi(e,i)),Ni(i)||(i=Yi(d,i)),p(i,d)||console.warn("".concat(i," is not start with base_url(").concat(d,").")),A(i,"texture")};if(h instanceof Error)return h;if(c.workCode=String(t.work_code||t.code||t.vr_code||t.workCode),c.name=String(t.name),h instanceof Error)return h;if(t.initial&&("Floorplan"!==t.initial.mode&&"Topview"!==t.initial.mode&&"Panorama"!==t.initial.mode&&"VRPanorama"!==t.initial.mode&&"Model"!==t.initial.mode&&"DepthPanorama"!==t.initial.mode||(c.initial.mode=t.initial.mode),Ji(t.initial.latitude)&&(c.initial.latitude=t.initial.latitude),Ji(t.initial.longitude)?c.initial.longitude=t.initial.longitude:Ji(t.initial.heading)&&(c.initial.longitude=-(360*(t.initial.heading-.25)+90)/180*Math.PI),Ji(t.initial.fov)&&(c.initial.fov=t.initial.fov),Ji(t.initial.panoIndex)?c.initial.panoIndex=t.initial.panoIndex:Ji(t.initial.pano_index)?c.initial.panoIndex=t.initial.pano_index:Ji(t.initial.pano)&&(c.initial.panoIndex=t.initial.pano)),h instanceof Error)return h;if(t.model){var m={bvh:!0,async:!1,textureBase:"",textures:[]};"boolean"==typeof e.modelBvh?m.bvh=e.modelBvh:"boolean"==typeof t.model.bvh?m.bvh=t.model.bvh:"boolean"==typeof t.bvh&&(m.bvh=t.bvh),t.model.file?m.file=g(t.model.file):t.model.file_url&&(m.file=g(t.model.file_url)),t.model.textureBase?m.textureBase=t.model.textureBase:t.model.material_base_url&&(m.textureBase=t.model.material_base_url),Array.isArray(t.model.textures)?m.textures=t.model.textures.map((function(t){return v(t,m.textureBase)})):Array.isArray(t.model.material_textures)&&(m.textures=t.model.material_textures.map((function(t){return v(t,m.textureBase)}))),m.file&&(c.model=m)}if(h instanceof Error)return h;if(t.observers&&Array.isArray(t.observers)){var y=[];t.panorama&&(Array.isArray(t.panorama)?y=t.panorama:Array.isArray(t.panorama.list)?y=t.panorama.list:Array.isArray(t.panorama.info)&&(y=t.panorama.info));for(var b=0;b<t.observers.length;b++){var w={},x=t.observers[b];if(!x)break;var E=y[b];if(!E)break;x=Object.assign({},x,E,{active:!1!==x.active&&!1!==E.active}),w.panoIndex=b,w.active=!1!==x.active,w.loadable=!0===x.loadable,w.images={up:f(x.images?x.images.up:x.up,b),down:f(x.images?x.images.down:x.down,b),right:f(x.images?x.images.right:x.right,b),left:f(x.images?x.images.left:x.left,b),front:f(x.images?x.images.front:x.front,b),back:f(x.images?x.images.back:x.back,b)};var I=x.images?x.images.depth:x.depth;I&&(w.images.depth=f(I,b));var C=x.images?x.images.luminance:x.luminance;C&&(w.images.luminance={up:f(C.up,b),down:f(C.down,b),right:f(C.right,b),left:f(C.left,b),front:f(C.front,b),back:f(C.back,b)});var S=x.images?x.images.tiles:x.tiles;if(S){for(var B=[],M=function(t){var e=t.match(/\/cube_(\d+)\//);if(e){var i=Number(e[1]);if($i(i))return i}return!1},P=function(t,e){return t.replace(/\/cube_(\d+)\//,(function(){return"/cube_".concat(e,"/")}))},T=0,Q=S;T<Q.length;T++){var R=Q[T];if("number"==typeof R){var D=R,k=M(w.images.front);if(!1===k)continue;if((K=Math.max(k,512*Math.pow(2,D)))>2048){var N=P(w.images.up,K),F=P(w.images.down,K),O=P(w.images.right,K),L=P(w.images.left,K),V=P(w.images.front,K),H=P(w.images.back,K);B.push({level:D,size:K,up:N,down:F,right:O,left:L,front:V,back:H})}else{N=w.images.up,F=w.images.down,O=w.images.right,L=w.images.left,V=w.images.front,H=w.images.back;B.push({level:D,size:K,up:N,down:F,right:O,left:L,front:V,back:H})}}else{var K;if("number"!=typeof(D=R.level))continue;if("number"!=typeof(K=R.size))continue;N=f(R.up,b),F=f(R.down,b),O=f(R.right,b),L=f(R.left,b),V=f(R.front,b),H=f(R.back,b);B.push({level:D,size:K,up:N,down:F,right:O,left:L,front:V,back:H})}}B.sort((function(t,e){return t.level-e.level})),w.images.tiles=B}if(x.position instanceof r.Vector3)w.position=x.position.clone();else{if(!Array.isArray(x.position))break;w.position=(new r.Vector3).fromArray(x.position)}if(x.standingPosition instanceof r.Vector3)w.standingPosition=x.standingPosition.clone();else if(Array.isArray(x.standingPosition))w.standingPosition=(new r.Vector3).fromArray(x.standingPosition);else if(x.standing_position instanceof r.Vector3)w.standingPosition=x.standing_position.clone();else{if(!Array.isArray(x.standing_position))break;w.standingPosition=(new r.Vector3).fromArray(x.standing_position)}if(x.quaternion instanceof r.Quaternion)w.quaternion=x.quaternion.clone();else if(Array.isArray(x.quaternion))w.quaternion=(new r.Quaternion).fromArray(x.quaternion);else{if(!x.quaternion)break;var z=x.quaternion,q=z.x,_=z.y,j=z.z,U=z.w;w.quaternion=new r.Quaternion(q,_,j,U)}if(Array.isArray(x.accessibleNodes)?w.accessibleNodes=x.accessibleNodes.slice():Array.isArray(x.accessible_nodes)&&(w.accessibleNodes=x.accessible_nodes.slice()),Array.isArray(x.visibleNodes)?w.visibleNodes=x.visibleNodes.slice():Array.isArray(x.visible_nodes)&&(w.visibleNodes=x.visible_nodes.slice()),Ji(x.floorIndex)?w.floorIndex=x.floorIndex:Ji(x.floor_index)?w.floorIndex=x.floor_index:w.floorIndex=0,x.video){var G={};"string"==typeof x.video.source&&(G.source=x.video.source),x.video.matrix instanceof r.Matrix4?G.matrix=x.video.matrix.clone():Array.isArray(x.video.matrix)&&(G.matrix=(new r.Matrix4).fromArray(x.video.matrix)),x.video.size instanceof r.Vector2?G.size=x.video.size.clone():Array.isArray(x.video.size)&&(G.size=(new r.Vector2).fromArray(x.video.size)),G.source&&G.matrix&&G.size&&(w.video=G)}c.observers[b]=w}}if(h instanceof Error)return h;for(var W=0,X=c.observers;W<X.length;W++){if(!(w=X[W]).accessibleNodes){w.accessibleNodes=[];for(var Y=0;Y<c.observers.length;Y++)c.observers[Y]!==w&&w.accessibleNodes.push(Y)}if(!w.visibleNodes){w.visibleNodes=[];for(Y=0;Y<c.observers.length;Y++)c.observers[Y]!==w&&w.visibleNodes.push(Y)}}if(h instanceof Error)return h;var Z=Kt(c);return an.set(Z,{works:s,options:o}),Z}function dn(t,e,i){"string"==typeof t&&"{"===t.trim()[0]&&(t=JSON.parse(t));var n=an.get(t);if(n){if(e&&!Zi(JSON.parse(n.options),e))throw new Error("[PARSE FAILED]: work is parsed with different options.");return t}var r=cn(t,null!=e?e:{},i);if(r instanceof Error)throw new Error("[PARSE FAILED]: "+r.message);return r}function pn(t,e,i){return t<e?e:t>i?i:t}function An(t,e,i){return t+(e-t)*i}function fn(t,e){var i=e[1]-e[0];return t<e[0]?fn(t+i,e):t>=e[1]?fn(t-i,e):t}function gn(t,e,i,n){return n?function(t,e,i,n){var r=n[1]-n[0];return t=fn(t,n),An((e=fn(e,n))-t>r/2?t+r:t-e>r/2?t-r:t,e,i)}(t,e,i,n):An(t,e,i)}var vn=function(){function t(t){for(var i in this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=Ht(),this.startVelocity=0,this.duration=0,this.keyframes=[],t){var n=t[i];"number"==typeof n?(this.value[i]=n,this.config[i]={circle:!1}):(this.value[i]=n.value,this.config[i]={circle:n.circle})}this.keyframes=[{progress:0,value:e.__assign({},this.value)},{progress:1,value:e.__assign({},this.value)}]}return t.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-function(t,e,i,n){var r=(e*i+2*t)/Math.pow(i,3),o=-(2*e*i+3*t)/Math.pow(i,2),s=e,a=t;return r*Math.pow(n,3)+o*Math.pow(n,2)+s*n+a}(1,this.startVelocity,this.duration,e)},t.prototype.getValue=function(t){for(var i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>t){var n=this.keyframes[i-1],r=this.keyframes[i],o={};for(var s in this.config){var a=(t-n.progress)/(r.progress-n.progress);o[s]=gn(n.value[s],r.value[s],a,this.config[s].circle)}return o}return e.__assign({},this.keyframes[this.keyframes.length-1].value)},t.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:function(t,e,i,n){var r=(e*i+2*t)/Math.pow(i,3),o=-(2*e*i+3*t)/Math.pow(i,2),s=e;return 3*r*Math.pow(n,2)+2*o*n+s}(1,this.startVelocity,this.duration,e)},t.prototype.update=function(t){return!!this.ended||(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},t.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>e)return[this.keyframes[i-1],this.keyframes[i]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},t.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},t.prototype.set=function(t,e,i,n){var r;void 0===i&&(i=0),isNaN(e)&&(e=0),isNaN(i)&&(i=0),n=null!=n?n:Ht();var o=this.getProgress(n),s=this.getValue(o),a={};for(var u in this.config)a[u]=null!==(r=t[u])&&void 0!==r?r:s[u];var l=[{progress:0,value:s},{progress:1,value:a}];return this.setKeyframes(l,e,i,n)},t.prototype.setKeyframes=function(t,i,n,r){var o=this;if(void 0===n&&(n=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(i)&&(i=0),isNaN(n)&&(n=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise((function(s,a){r=null!=r?r:Ht(),o.progress=0,o.ended=!1,o.startTime=r,o.startVelocity=n,o.keyframes=t,o.duration=i,0===i?(o.progress=1,o.value=e.__assign({},t[t.length-1].value)):o.value=e.__assign({},t[0].value),o.callbacks=[s,a]}))},t.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},t}(),mn=me(),yn=new r.Texture(mn);mn.onload=function(){return yn.needsUpdate=!0},mn.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC";var bn=new r.RingBufferGeometry(.06,.07,32).rotateX(-Math.PI/2),wn=new r.MeshBasicMaterial({map:yn,transparent:!0}),xn=new r.SphereBufferGeometry(.12,16,16),En=new r.MeshBasicMaterial({color:16777215,opacity:0,transparent:!0});function In(){if("undefined"==typeof document){var t=new r.Texture;return Object.assign(t,{draw:function(t){},retain:!1,pool:!1})}var e=document.createElement("canvas"),i=512,n=256,o=190;e.setAttribute("width",String(i)),e.setAttribute("height",String(i));var s=new r.Texture(e),a=e.getContext("2d");if(!a)throw Error("cannot create canvas context");var u=a.createRadialGradient(n,n,150,n,n,0);function l(){var t=Math.PI/12,e=2*Math.PI/3;a&&(a.beginPath(),a.arc(n,n,o,0*e,1*e-t),a.stroke(),a.beginPath(),a.arc(n,n,o,1*e,2*e-t),a.stroke(),a.beginPath(),a.arc(n,n,o,2*e,3*e-t),a.stroke())}function h(t){a&&(a.clearRect(0,0,i,i),a.lineWidth=20,-1!==t&&(a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, 1)",l(),a.globalCompositeOperation="source-in",a.beginPath(),a.arc(n,n,o,0,2*Math.PI*t),a.strokeStyle="rgba(255, 255, 255, 1)",a.stroke(),a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, "+(t?.5:1)+")",l()),a.beginPath(),a.arc(n,n,150,0,2*Math.PI),a.closePath(),a.fillStyle=u,a.fill(),a.fillStyle="rgba(255, 255, 255, 0.01)",a.fillRect(0,0,i,i),s.needsUpdate=!0)}return u.addColorStop(0,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 0.5)"),u.addColorStop(.4,"rgba(255, 255, 255, 0.0)"),u.addColorStop(1,"rgba(255, 255, 255, 0.0)"),h(0),Object.assign(s,{draw:h,retain:!1,pool:!1})}var Cn=[];var Sn=In();Sn.draw(0);var Bn=In();Bn.draw(1);var Mn=In();Mn.draw(-1);var Pn=new r.CircleBufferGeometry(.12,32).rotateX(-Math.PI/2);function Tn(){return new r.Mesh(Pn,new r.MeshBasicMaterial({map:Sn,transparent:!0}))}function Qn(t,e){var i=t.map;0===e||1===e?(!0===i.pool&&(i.retain=!1),0===e&&(t.map=Sn),1===e&&(t.map=Bn)):(!0!==i.pool&&(t.map=function(){for(var t=0,e=Cn;t<e.length;t++){var i=e[t];if(!1===i.retain)return i}var n=In();return n.pool=!0,n.retain=!0,Cn.push(n),n}()),t.map.draw(e))}var Rn=function(t){function i(){var e=t.call(this)||this;return e.loading=!1,e.disabled=!1,e.current=!1,e.progress=0,e.opacity=0,e.hitTestMesh=new r.Mesh(xn,En),e.add(e.hitTestMesh),e.centerMesh=Tn(),e.centerMesh.position.y+=.01,e.add(e.centerMesh),e.loadingMesh=new r.Mesh(bn,wn),e.loadingMesh.position.y+=.011,e.progressMotion=new vn({progress:e.progress}),e.opacityMotion=new vn({opacity:e.opacity}),e.needsRender=!0,e.renderOrder=-2,e}return e.__extends(i,t),i.prototype.setLoading=function(t){var e=this;this.loading=t,this.stopInterval&&this.stopInterval(),t?(this.add(this.loadingMesh),this.stopInterval=se.shared.add((function(){e.loadingMesh.rotateOnAxis(new r.Vector3(0,1,0),.1),e.needsRender=!0}))):this.remove(this.loadingMesh),this.needsRender=!0},i.prototype.setDisabled=function(t){this.disabled=t,function(t,e){var i=t.map;!0===i.pool&&(i.retain=!1),t.map=e?Mn:Sn}(this.centerMesh.material,t),this.needsRender=!0},i.prototype.setProgress=function(t){this.setLoading(!1),this.setDisabled(!1),this.progress=t=pn(t,0,1),t!==this.progressMotion.getTargetKeyframe().value.progress&&this.progressMotion.set({progress:t},120).catch(Lt)},i.prototype.setOpacity=function(t){this.opacity=t=pn(t,0,1),this.current&&(t=1),t!==this.opacityMotion.getTargetKeyframe().value.opacity&&this.opacityMotion.set({opacity:t},500).catch(Lt)},i.prototype.setCurrent=function(t){this.current!==t&&(this.current=t,this.setOpacity(this.opacity))},i.prototype.updateTime=function(t,e){this.opacityMotion.ended||(this.opacityMotion.update(t),this.centerMesh.material.opacity=this.opacityMotion.value.opacity,this.needsRender=!0),this.progressMotion.ended||(this.progressMotion.update(t),Qn(this.centerMesh.material,this.progressMotion.value.progress),this.needsRender=!0)},i.prototype.dispose=function(){this.setLoading(!1),this.remove(this.hitTestMesh),this.remove(this.centerMesh),this.remove(this.loadingMesh),this.centerMesh.material.dispose()},i}(r.Object3D),Dn=new Float32Array([-.13,0,-.13,.13,0,-.13,-.13,0,.13,.13,0,.13]),kn=new Float32Array([0,1,1,1,0,0,1,0]),Nn=new Uint8Array([0,2,1,2,3,1]),Fn=new r.BufferGeometry;Fn.setAttribute("position",new r.BufferAttribute(Dn,3)),Fn.setAttribute("uv",new r.BufferAttribute(kn,2)),Fn.setIndex(new r.BufferAttribute(Nn,1));var On,Ln,Vn=(On=me(),Ln=new r.Texture,On.onload=function(){if("undefined"!=typeof document){var t=256,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){i.drawImage(On,0,0,t,t),i.globalCompositeOperation="source-out";var n=128;i.beginPath(),i.lineWidth=29.952,i.arc(n,n,84.48,0,2*Math.PI),i.strokeStyle="rgba(255, 255, 255, 0.5)",i.closePath(),i.stroke(),Ln.image=e,Ln.needsUpdate=!0}}},On.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC",Ln),Hn=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256,n=199.68;return e.beginPath(),e.arc(i,i,n,0,2*Math.PI),e.fillStyle="rgba(255, 255, 255, 0.1)",e.closePath(),e.fill(),e.save(),e.beginPath(),e.arc(i,i,n,0,2*Math.PI),e.strokeStyle="rgba(255, 255, 255, 0.5)",e.lineWidth=10.24,e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),Kn=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256,n=138.24,o=e.createLinearGradient(i-Math.cos(Math.PI/4)*n,i-Math.sin(Math.PI/4)*n,i+Math.cos(Math.PI/4)*n,i+Math.sin(Math.PI/4)*n);return o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.6)"),o.addColorStop(1,"rgba(255, 255, 255, 1)"),e.beginPath(),e.lineWidth=33.28,e.arc(i,i,n,0,2*Math.PI),e.strokeStyle=o,e.shadowBlur=38.4,e.shadowColor="rgba(0, 0, 0, 0.3)",e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),zn=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256,n=199.68,o=e.createLinearGradient(i+Math.cos(Math.PI/4)*n,i-Math.sin(Math.PI/4)*n,i-Math.cos(Math.PI/4)*n,i+Math.sin(Math.PI/4)*n);return o.addColorStop(0,"rgba(255, 255, 255, 0.5)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.1)"),o.addColorStop(1,"rgba(255, 255, 255, 0.5)"),e.beginPath(),e.lineWidth=15.36,e.arc(i,i,n,0,2*Math.PI),e.strokeStyle=o,e.shadowBlur=25.6,e.shadowColor="rgba(0, 0, 0, 0.5)",e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),qn=function(t,e){var i=128;t.clearRect(0,0,256,256),t.beginPath(),t.lineWidth=29.44,t.arc(i,i,84.48,0,2*Math.PI*e),t.strokeStyle="rgba(255, 255, 255, 0.2)",t.stroke()},_n=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(256)),t.setAttribute("height",String(256));var e=t.getContext("2d");e&&qn(e,2*Math.PI);var i=new r.CanvasTexture(t);return Object.assign(i,{setProgress:function(t){e&&(qn(e,t),i.needsUpdate=!0)}})}return null},jn=[],Un=_n(),Gn=function(t){function i(){var i=t.call(this)||this;i.progress=0,i.opacity=0,i.loading=!1,i.current=!1,i.disabled=!1,i.ringRotateMotion=new vn({angle:0}),i.tapMotion=new vn({scale:1,opacity:1}),i.progressMotion=new vn({progress:0}),i.progressOpacityMotion=new vn({opacity:0}),i.opacityMotion=new vn({opacity:0});var n={blending:r.CustomBlending,blendSrc:r.SrcAlphaFactor,blendDst:r.OneMinusSrcAlphaFactor,blendSrcAlpha:r.OneFactor,blendDstAlpha:r.OneMinusSrcAlphaFactor,depthWrite:!1};return i.centerMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Kn,opacity:0}))),i.ringMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:zn,opacity:0}))),i.loadingMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Vn,opacity:.5}))),i.disableMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Hn,opacity:0}))),i.progressMesh=new r.Mesh(Fn,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Un,opacity:0}))),i.loadingMesh.visible=!1,i.disableMesh.visible=!1,i.ringMesh.position.y=.003,i.disableMesh.position.y=.002,i.centerMesh.position.y=.002,i.loadingMesh.position.y=.005,i.progressMesh.position.y=.004,i.centerMesh.frustumCulled=!1,i.ringMesh.frustumCulled=!1,i.progressMesh.frustumCulled=!1,i.loadingMesh.frustumCulled=!1,i.disableMesh.frustumCulled=!1,i.renderOrder=-2,i.add(i.centerMesh),i.add(i.ringMesh),i.add(i.progressMesh),i.add(i.loadingMesh),i.add(i.disableMesh),i.needsRender=!0,i}return e.__extends(i,t),i.prototype.setProgress=function(t){this.setDisabled(!1),this.setLoading(!1),this.progress!==t&&(t=pn(t,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},300).catch(Lt),0===t?(this.progressOpacityMotion.set({opacity:0},300).catch(Lt),this.progressMotion.set({progress:pn(1.2*t,0,1)},0).catch(Lt)):this.progressMotion.set({progress:pn(1.2*t,0,1)},100).catch(Lt)),this.progress=t)},i.prototype.setOpacity=function(t){this.opacity!==t&&(this.opacity=t=pn(t,0,1),this.opacityMotion.set({opacity:t},500).catch(Lt))},i.prototype.setCurrent=function(t){if(this.current!==t){if(!0===t&&this.ringRotateMotion.ended){var e=[{progress:0,value:{angle:0}},{progress:1,value:{angle:2*Math.PI}}];this.ringRotateMotion.setKeyframes(e,5e3).catch(Lt)}this.current=t}},i.prototype.setLoading=function(t){this.loading!==t&&(this.loading=t,!0===this.disabled&&this.setDisabled(!1),this.loadingMesh.visible=t,this.needsRender=!0)},i.prototype.setDisabled=function(t){this.disabled!==t&&(this.disabled=t,!0===this.loading&&this.setLoading(!1),this.disableMesh.visible=t,this.ringMesh.visible=!t,this.centerMesh.visible=!t,this.needsRender=!0)},i.prototype.tap=function(){var t=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(Lt),this.progressMotion.set({progress:0},0).catch(Lt),this.tapMotion.setKeyframes([{progress:0,value:{scale:1,opacity:1}},{progress:.3,value:{scale:.85,opacity:.5}},{progress:.8,value:{scale:1.05,opacity:.6}},{progress:1,value:{scale:1,opacity:1}}],600).then((function(){t.progressOpacityMotion.set({opacity:t.progress>0?1:0},300).catch(Lt),t.progressMotion.set({progress:t.progress},120).catch(Lt)})).catch(Lt)},i.prototype.updateTime=function(t,e){var i;if(!this.progressMotion.ended){this.progressMotion.update(t);var n=this.progressMotion.value.progress;if(null!==this.progressMesh.material.map)if(0===n)this.progressMesh.material.map!==Un&&(jn.push(this.progressMesh.material.map),this.progressMesh.material.map=Un);else if(1===n)this.progressMesh.material.map!==Un&&(jn.push(this.progressMesh.material.map),this.progressMesh.material.map=Un);else{if(this.progressMesh.material.map===Un){var o=jn.pop()||_n();this.progressMesh.material.map=o}null===(i=this.progressMesh.material.map)||void 0===i||i.setProgress(n)}this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(t);var s=this.progressOpacityMotion.value.opacity;this.progressMesh.material.opacity=s,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(t);s=this.opacityMotion.value.opacity*this.tapMotion.value.opacity;this.centerMesh.material.opacity=s,this.ringMesh.material.opacity=s,this.disableMesh.material.opacity=s,this.loadingMesh.material.opacity=s,this.needsRender=!0}if(!0===this.loadingMesh.visible&&(this.loadingMesh.rotateY(-e/120),this.needsRender=!0),!this.tapMotion.ended){this.tapMotion.update(t);var a=this.tapMotion.value.scale;this.centerMesh.scale.set(a,a,a),this.ringMesh.scale.set(a,a,a),this.progressMesh.scale.set(a,a,a);s=this.opacityMotion.value.opacity*this.tapMotion.value.opacity;this.centerMesh.material.opacity=s,this.ringMesh.material.opacity=s,this.disableMesh.material.opacity=s,this.loadingMesh.material.opacity=s,this.needsRender=!0}this.ringRotateMotion.ended||(this.ringRotateMotion.update(t),this.ringMesh.quaternion.setFromEuler(new r.Euler(0,this.ringRotateMotion.value.angle,0)),this.needsRender=!0)},i.prototype.dispose=function(){this.ringRotateMotion.dispose(),this.tapMotion.dispose(),this.progressMotion.dispose(),this.progressOpacityMotion.dispose(),this.opacityMotion.dispose(),this.progressMesh.material.map!==Un&&(jn.push(this.progressMesh.material.map),this.progressMesh.material.map=null),this.ringMesh.material.dispose(),this.disableMesh.material.dispose(),this.centerMesh.material.dispose(),this.loadingMesh.material.dispose(),this.progressMesh.material.dispose()},i}(r.Object3D),Wn=new r.CircleBufferGeometry(.1,16),Xn=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256,o=192,s=76.8;i.lineWidth=s,i.arc(n,n,o,0,2*Math.PI),i.strokeStyle="rgba(147, 162, 255, 0.3)",i.shadowBlur=12.8,i.shadowColor="rgba(255, 255, 255, 0.6)",i.stroke(),i.lineWidth=s,i.arc(n,n,o,0,2*Math.PI);var a=i.createRadialGradient(n,n,153.6,n,n,230.4);a.addColorStop(0,"rgba(255, 255, 255, 0.3)"),a.addColorStop(.3,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.7,"rgba(255, 255, 255, 0.0)"),a.addColorStop(1,"rgba(255, 255, 255, 0.3)"),i.strokeStyle=a,i.stroke(),i.beginPath(),i.lineWidth=4.8,i.arc(n,n,228,0,2*Math.PI);var u=i.createLinearGradient(0,0,t,0);return u.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),u.addColorStop(.08,"rgba(255, 255, 255, 0.0)"),u.addColorStop(.92,"rgba(255, 255, 255, 0.0)"),u.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=u,i.stroke(),new r.CanvasTexture(e)}}return null}(),Yn=new r.MeshBasicMaterial({map:Xn,transparent:!0}),Zn=function(t){function i(){var e=t.call(this)||this;return e.ringMesh=new r.Mesh(Wn,Yn),e.ringMesh.renderOrder=-3,e.add(e.ringMesh),e}return e.__extends(i,t),i.prototype.dispose=function(){this.remove(this.ringMesh)},i}(r.Object3D);function Jn(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function $n(){return(Jn()+Jn()+"-"+Jn()+"-4"+Jn().substr(0,3)+"-"+Jn()+"-"+Jn()+Jn()+Jn()).toLowerCase()}function tr(t,e,i){var n=Math.abs(t-e);return n<.001||void 0!==i&&Math.abs(i-n)<.001}function er(t,e,i){return!tr(t,e,i)}function ir(t,e){return t.distanceTo(e)<.001}function nr(t,e){return!ir(t,e)}var rr=new r.Vector3(0,0,0),or=function(t){function i(e,i){void 0===i&&(i=rr);var n=t.call(this)||this,o=new r.BoxBufferGeometry(e.max.x-e.min.x+2*i.x,e.max.y-e.min.y+2*i.y,e.max.z-e.min.z+2*i.z,1,1);o.groups.length=0,o.groups.push({start:0,count:36,materialIndex:0}),o.applyMatrix4((new r.Matrix4).makeScale(-1,1,1));var s=new Ee;s.defines.USE_MAP=!1,s.defines.USE_UV=!1,s.uniforms.diffuse.value=new r.Color(16777215);var a=new pe(o,[s]);return a.floorIndex=-1,a.position.copy(e.getCenter(new r.Vector3)),a.frustumCulled=!1,n.renderOrder=-3,n.add(a),n.boundingBox=new r.Box3,n.computeBoundingBox(),n}return e.__extends(i,t),i.prototype.computeBoundingBox=function(){this.boundingBox.setFromObject(this)},i.prototype.dispose=function(){this.disposeMaterial(),this.disposeGeometry()},i}(fe);function sr(t,e){return void 0===e&&(e=rr),new or(t,e)}var ar=2*Math.PI;function ur(t){return t>=0&&t<ar?t:(t%ar+ar)%ar}var lr=Math.PI,hr=2*lr;function cr(t,e,i){if(t===e)return e;var n=e-t;return Math.abs(n)<=i?e:t+(n>0?1:-1)*i}!function(){try{var t=document.createElement("canvas");!window.WebGLRenderingContext||!t.getContext("webgl")&&t.getContext("experimental-webgl")}catch(t){return!1}}();var dr=function(){var t="undefined"!=typeof navigator?navigator.userAgent.toLowerCase():"node";return/android/i.test(t)||/webos/i.test(t)||/ipad|iphone|ipod/i.test(t)||/iemobile/i.test(t)||/opera mini/i.test(t)||/blackberry/i.test(t)||/windows phone/i.test(t)};function pr(t,e){t.mode=e.mode,t.panoIndex=e.panoIndex,t.longitude=e.longitude,t.latitude=e.latitude,t.fov=e.fov,t.offset.copy(e.offset)}function Ar(t,e){return t.panoIndex===e.panoIndex&&t.mode===e.mode&&tr(t.longitude,e.longitude,2*Math.PI)&&tr(t.latitude,e.latitude)&&tr(t.fov,e.fov)&&ir(t.offset,e.offset)}var fr=function(t){return Number(t)};function gr(t,e,i){var n;void 0===e&&(e=fr),void 0===i&&(i=!1);for(var r,o=1/0,s=0,a=t;s<a.length;s++){var u=a[s],l=e(u);l<=o&&(r=(n=[u,l])[0],o=n[1])}return i?[r,o]:r}function vr(t){for(var e in t)return!1;return!0}function mr(t){return{longitude:t.longitude,latitude:t.latitude,fov:t.fov,offset:t.offset.clone()}}
|
|
368
368
|
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
369
369
|
* http://hammerjs.github.io/
|
|
370
370
|
*
|